0x00 靶机环境
下载地址1:https://www.vulnhub.com/entry/dc-7,356/
下载地址2:https://pan.baidu.com/s/1xua7BTO8If5zLua8dQMryA 提取码: dd83
只有一个flag
,同时给了提示,不要去使用暴力破解。
这次地址都给了,真好,开肝。
0x02 渗透流程
nmap
走起
还是先走80
端口
熟悉的界面,好像是dc1
使用的Drupal CMS
,翻出第一关的页面进行对比
常规思路测试了好一会不一样的地方,逻辑漏洞,搜索的注入等都试过了不行,最后发现了这个页面不是原生的Drupal
,是有被改过的。
于是在搜索引擎上找了下
发现和github
相关,应该这就是提示了
在config.php
中找到了一个用户名密码
用dc7user/MdR3xOgB7#dW
登陆后台,失败!
接着使用ssh
进行尝试登陆,成功获取ssh
权限
接着在本目录下找到了一个backups
目录和mbox
邮件,先看邮件
计划任务发出来的备份文件邮件,先看备份文件内容,在backups
目录下
是两个gpg
的加密包,解密需要密码,接着查看刚刚看到的sh
脚本
是可以通过gpg --output ../website.sql --decrypt website.sql.gpg
进行解密的,但是解密出来后的.sql
文件特别大,想在当中找到网站的数据库用户名难度有点大,而且配置文件里面也没有找到有价值的信息。
本以为断了线索,准备尝试本地提权了,但是查看脚本权限时,发现了另外一个线索
这个脚本www-data
是可以修改的,并且这个sh
是root
执行的,也就是说,只有要拿到了www-data
权限就可以进行提权。
看来还是得拿到网站密码,这里除了备份文件外,在sh
中还有一个特别的工具
存在着drush
工具,此工具是用来管理drupal
站点的工具,可以直接用来修改drupal
的密码。
官方网站https://www.drush.org/latest/commands/user_password/
,但是这网站有点坑,写的不是很详细,后来还是在linux
中试错试出来的。
c7user@dc-7:/var/spool/mail$ drush user:password admin "admin"
Command user-password needs a higher bootstrap level to run - you will need to invoke drush from a more functional Drupal environment[error]
to run this command.
The drush command 'user:password admin admin' could not be executed. [error]
dc7user@dc-7:/var/spool/mail$ drush user:password -h
(Re)Set the password for the user account with the specified name.
Examples:
drush user-password someuser Set the password for the username someuser. @see xkcd.com/936
--password="correct horse battery
staple"
Arguments:
name The name of the account to modify.
Options:
--password=<foo> The new password for the account. Required.
Aliases: upwd, user:password
正确的语法为drush user-password admin --password="admin888"
但是仍然报错,这里提示要去drupal
环境中运行,进入/var/www/html
目录再次执行
dc7user@dc-7:~$ cd /var/www/html/
dc7user@dc-7:/var/www/html$ drush user-password admin --password="admin888"
Changed password for admin
密码成功修改,登陆后台
接下来就需要在drupal
中找到反弹shell
的方法,但是没想到最后是在官网上找到了https://www.drupal.org/project/shell
下载需要找到具体的版本,外面写的是7
,但是一看,作者有点坏8
版本的,下载好对应的组件后,进行安装
上传组件
安装成功后,激活模块功能
然后访问shell
管理页面
成功拿到shell
,最后将反弹shell
写入sh
中,等待脚本的运行
等了一会,发现反弹失败,再一查看,发现shell
没有写入脚本,很奇怪,尝试先反弹一个shell
,然后再写入。
写入成功。
等计划任务执行,感觉时间也挺奇怪的,看起来是15
分钟,中间的时间大概是作者做环境时关机了,这里看自己的mail
的时间更好,但是我之前在安装组件一直失败就重新安装过环境了。15
分钟后拿到root
权限
0x03 总结
难到不难,关键是对drush
此工具不熟悉,花了不少时间查看web.sql
文件内容,另外安装drupal
组件时还出了问题,折腾了一段时间,最后就是安装组件时,第一次不知道因为什么原因,安装不上,只能重新安装环境解决。
总的感觉是,似乎一关比一关简单。