信息搜集
开启DC7靶机
先看下DC7靶机下载页面是否有提示。
靶机作者提示,暴力破解,不可能,除非字典🐂。
先使用nmap扫描一下,看下靶机开放的端口。
Nmap扫描发现80端口以及22端口处于开启状态。
发现是drupal8cms系统。
发现没什么可以利用的信息。发现版权声明处存在一处不太对劲的信息,正常来讲此处应该是@drupal才对。
百度下,发现好多dc7靶机挑战者,用到了这个信息。此处信息是用于git信息搜集。
Github上直接搜集DC7USER。搜索到dc7靶机作者的账号,发现了关键信息。
配置文件存在账号密码。先尝试下登录http服务,登陆失败。
还剩下ssh服务可以尝试,那么就尝试下吧。
登陆成功。
下一步在系统内进行信息搜集,为下一步提权做准备。
发现存在backups文件夹,以及mbox文件,先打开mbox文件查看下。
mbox好像是邮件,上面的信息讲到,/opt/scripts/backups.sh是一个定时执行文件,先去看下。
发现backups.sh文件是由root创建,并且www-data用户可以进行rwx。因此需要获取www-data用户权限。
先百度下backups.sh文件中的指令,发现drush指令可以修改drupal系统的登录密码。
该指令的功能和drupal7中的scripts/password-hash.sh的功能类似,但修改密码更加简单。
那么下一步就是先登录到drupal系统中。
Web_getshell
直接执行drush upwd admin --password=“admin” 发现报错,报错提示需要在drupal环境下执行。更改当前所在目录,进入到www/html下。再次执行,执行成功。
登录成功后,直奔扩展。一般这块都会出问题。
增加模块处,提示只可以上传zip tar tgz gz bz2这些类型。
无奈,百度吧。
百度后发现,drupal8不支持php扩展,需要自己上传php模块。
此处填写url:https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
在此期间想过,直接文件上传绕过,但发现,这属实有点蠢了。。。。
php模块添加成功,但还要开启此模块才行,安装后,有三个链接,点击第二个进行开启。
在Filters中选中
然后点击安装。
Php扩展已经开启。
添加一个文章。
这两个都可以。
先测试下。
Ok,写马。
由于我此处使用的是蚁剑,shell管理不太方便,先上传了个x86结构(使用蚁剑自带的虚拟客户端,查看了下dc7靶机的结构)的后门马。
先开启kali主机msf进行监听。
在蚁剑的虚拟客户端中执行后门后,msf成功获取到shell。
系统提权
使用nc反弹,获取root的shell。(此处应该知道,是由于该文件是root用户创建并且该文件是定时执行文件)。
Ok,获取到root权限,并且读取到最后的flag。
参考链接
DC7靶机下载地址:https://www.vulnhub.com/entry/dc-7,356/.
Drush指令参考:https://zhuanlan.zhihu.com/p/60880048.
Dc7作者git账号:https://github.com/Dc7User/staffdb/blob/master/config.php.
php扩展包地址:https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz.
Drush参考手册:https://drupalchina.gitbooks.io/begining-drupal8-cn/content/chapters/chapter-15.html?msclkid=a253a533aa6d11ecb08b803baad77e19.