Vulnhub 靶场 DARKHOLE: 1
前期准备:
靶机地址:https://www.vulnhub.com/entry/darkhole-1,724/
kali攻击机ip:192.168.11.129
靶机ip:192.168.11.204
一、信息收集
1.使用nmap对目标靶机进行扫描
发现开放了22和80端口。
2. 80端口:
查看页面没发现什么,扫一下目录:
挨个看一下:
/register.php 注册页面:
注册个用户。
/login.php 登录界面:
登录刚才注册的用户。
二、漏洞利用
发现连接是 /dashboard.php?id=2 ,在这里我尝试了注入,没有成功:
我的 id 是 2,那么应该有个账号是 id=1,尝试越权修改 id=1 的密码:
在此处修改密码,然后抓包:
把 id=1 改成 id=1 :
返回的 200 ,不知道成功没有,推测 id=1 的账户是 admin,登陆一下:
发现登陆成功,多了一个上传文件的地方,前面的目录扫描中我们也发现了 /upload 路径,尝试上传反弹 shell,用的 pentestmonkey shell,发现:
限制了上传文件的格式,那就改成 .phar 格式上传,(php4,php5试了也能上传):
上传成功,nc 监听并访问上传的文件:
连接成功,写入交互式 shell 后,可以升级一下 shell。
三、提权
查看一下系统中的文件:
发现一个可疑文件 toto,是个二进制文件,运行一下:
发现是二进制文件是 id 的副本,它以用户 john 的身份执行,那可以创建一个具有相同名称的自定义二进制文件将目录导出到 PATH:
echo 'bash' > /tmp/id; chmod +x /tmp/id; export PATH=/tmp:$PATH
切到了 john 用户,查看系统文件:
可以查看之前发现的 password,应该是 john 的密码,查看下权限:
发现会以 root 身份执行 file.py,并且我们有权限对其进行更改,那就直接写入shell:
echo 'import os;os.system("/bin/bash")' > file.py
sudo python3 /home/john/file.py
获得 root 权限,查看 flag: