靶机
https://www.vulnhub.com/entry/sar-1,425/
前期准备
运行环境:VM Workstation,VM Esxi,VirtualBox
将下载的 ova 文件直接导入虚拟机
目标
获取 user、root 权限并 get flag
主机信息
在 VM 中打开导入的虚拟机后,需要确定靶机的 IP,运行命令:
arp-scan 192.168.32.0/24
当前靶机 IP 为 192.168.32.132
服务发现
使用 nmap 对靶机进行扫描
可以看到目标开启 80 端口,访问之:
发现是 Apache 的默认页面,无其他可用信息
目录探测
使用 dirsearch 扫描 web 目录:
python3 dirsearch.py -u http://192.168.32.132/ -e php,html,js,png,jpg,.txt
发现 3 个路径可访问
phpinfo.php (由此可知靶机站点为 PHP)
根据 robots.txt 访问 http://192.168.32.132/sar2HTML
在“New”按钮中,存在上传点:
上传一个 php reverse shell 试试,没有被拦截,但 Burpsuite 中没有回显上传路
径;随后在 github 中搜索 sar2HTML 得到如下结果:
构造 url:http://192.168.32.132/sar2HTML/sarDATA/ 并访问,发现“uPLOAD”
目录,打开后可看到上传的 shell:
在 parrot 中先 nc 反弹:nc -lvp 4444,接着访问上传的 shell:
http://192.168.32.132/sar2HTML/sarDATA/uPDATA/php-reverse-shell.php
得到反弹 shell 后,使用 python pty 获取交互式 shell:
python3 -c 'import pty;pty.spawn("/bin/bash")'
到此可以得到第一个 flag:
Get Root
使用命令 cat /etc/crontab 查看靶机的定时任务(即相当于 Windows 的计划任
务)
发现靶机每 5 分钟会以 root 执行图中标注的命令,进入 /var/www/html 目录:
在 finally.sh 中会调用执行 write.sh;当前用户(www-data)无法修改 finally.sh,
但可以读写并执行 write.sh,因此可以在 write.sh 添加执行 shell 的语句:
在 write.sh 添加执行反弹 shell 的语句后,parrot nc 反弹,5 分钟(可能更长)
后得到 shell:
得到 root 权限的 shell 后,即可 get flag:
姿势总结
linux 定时任务提权 (cat /etc/crontab)