DC-7
January 8, 2024 4:11 PM
Tags:Drupal 8;Drush
Owner:只惠摸鱼
信息收集
-
使用arp-scan和nmap扫描C段存活主机,探测到靶机ip:192.168.199.137,且开放80、22端口
-
探测22、80开放端口的服务、版本、操作系统、基础漏洞
-
sudo nmap -sS -sV -O -sC 192.168.199.137 --script=vuln
-
没有太多有用信息,只有一个操作系统版本,一些能提供系统信息的页面。
-
-
访问一下80端口,发现给了一些提示,页面为Drupal(DC-1),且告诉我们不能暴力破解。
-
浏览器插件进行指纹识别一下,Drupal版本为8
漏洞利用
-
进入登录模块,尝试一下弱密码和万能密码都不成功
-
也不能暴力破解,没有其他办法了,再看一下页面有没有遗漏的信息。发现了一个奇怪的标识。搜一下。
-
发现真的有源码,看一下config.php,其中有一个用户名和密码。
- $username = “dc7user”;
$password = “MdR3xOgB7#dW”;
- $username = “dc7user”;
-
登录后台,发现不行。
-
想起来还有一个22端口开放,试一下ssh,成功登录,且发现有一个新邮件。
提权
-
常用的提权方法 SUID文件和无需密码的sudo都没用
-
那先看一下邮件吧,查看一下文件或目录,发现只有mbox有用,是一封root发的邮件。
-
读邮件,发现两个信息,有一个脚本文件,一个sql数据库备份文件
-
读一下脚本,好像是在做数据库备份,有两个命令没见过,搜一下。
- gpg是一个加密工具
- drush 用于直接从您的云服务器命令行管理 Drupal 【这个好像非常有用】
-
看一下脚本权限,root和www-data有读、写、执行权限,我们没有写权限
-
试一下写入反弹shell,发现不行。只能切换用户进行提权了。
-
试一下Drush命令,搜一下Drush命令,有一个查看用户信息的指令,还有创建用户、修改用户密码的指令比较有用。试一下
-
直接执行好像不成功(看提示好像是环境不对),再看一下脚本文件,发现里面有一条是先进入网站目录下,再执行,模仿试一下,发现可以查看用户,且发现了admin存在。
-
drush user-information admin,dc7user
-
修改admin密码为admin:drush upwd admin --password="admin”。修改成功
-
-
返回页面尝试登录,成功进入后台页面。
-
在edit页面,有一个上传图片的地方,上传图片马不行,可能是有验证
-
看看内容新增可不可以插入一句话木马,发现了一个可以直接写代码的地方,这里的上传图片马也不行。
-
但是代码中没有php格式
-
发现有extend,就是拓展,看可以安装一个不,搜一下,发现有
-
安装一下,tar.gz的可以成功安装。
-
返回extend页面选中php扩展,并安装
-
返回Content 新增basic page,修改为php code格式,输入一句话木马。
-
测试test页面的一句话木马是否上传成功。
-
蚁剑连接,成功进入
-
启动终端,反弹shell,kali监听
-
转换为交互性shell
-
写入反弹shell到backups.sh
-
kali监听8888端口,等待root执行脚本,由之前读的邮件信息可知,大概十五分钟执行一次,等就完了。
-
转换为交互性shell,拿到flag。
Drush
- Drush是一个简化了创建和管理Drupal8网站的命令行工具。
- 常用命令
- 查看用户信息
- drush user-information admin,user1
- 给maike一个member的角色
- drush urol member user2
- 新建会员
- drush ucrt user3 –password=admin
- 修改密码
- drush upwd admin --password=“admin”
- 查看用户信息