DC-1
下载的虚拟机文件导入后在我的VMWare上并未网络问题,如有问题参考文章:Fix Network Problem In Vulnhub Virtual Machine
本挑战共有五枚FLAG。
FLAG 1
使用nmap扫描一下服务器:
1 | nmap -sC -sV -A -p- 192.168.145.134 |
得到以下结果:
结果存档备用。
可以看到nmap扫描的结果暴露了许多信息,这是一个Drupal的站,其次网站根目录下有robots.txt文件。
使用nikto扫描一下目标网站:
1 | nikto -h 192.168.145.134 |
拿到的信息十分有限,唯一有用的信息就是之前已经知道的Drupal 7.x,至于其它看起来十分像敏感信息的经测试并无太大用处。
既然是CMS,那么就看看它有无已经披露的漏洞吧:
1 | searchsploit Drupal 7 |
注意到部分Metasploit可渗透,在msf中搜索Drupal:
然后我们需要确定CMS的准确版本,或者获取一个模糊的版本区间,不能只是模糊的7.x。
经Google,发现了工具droopescan,其GitHub地址为:https://github.com/droope/droopescan
将其克隆至本地:
1 | git clone https://github.com/droope/droopescan.git |
然后安装依赖:
1 | pip install -r requirements.txt |
完成后执行:
1 | ./droopescan |
出现异常:
使用pip排查,依赖已全部安装,修改执行python版本:
1 | vim ./droopescan |
修改为:
运行成功:
使用该工具扫描目标网站:
1 | ./droopescan scan drupal -u 192.168.145.134 -t 16 |
扫描结果:
可以确定目标版本,查看searchsploit命令的结果,发现7.x的漏洞几乎都可利用,加载exploit/multi/http/drupal_drupageddon或者exploit/unix/webapp/drupal_drupalgeddon2,然后拿到shell:
获取交互式shell:
1 | shell |
成功拿到第一枚Flag:
FLAG 2
根据FLAG1的提示,找Drupal的配置文件。
Drupal的配置文件位于:
1 | /var/www/sites/default/settings.php |
使用less仔细查看:
1 | cat settings.php | less |
发现使用bash -i获取的交互式环境有点问题,换python获取交互式shell,在meterpreter拿到shell后,执行:
1 | python -c 'import pty; pty.spawn("/bin/bash");' |
再次仔细查看:
第二枚FLAG。
发现了数据库账号和密码,保持留用。
FLAG 3
连上数据库看看:
1 | mysql -udbuser -pR0ck3t |
数据库:
表共80个,此处不列出了。
有个比较关键的users表,查询其信息,得到了两个用户的信息,密码是经过Hash的,比较难处理。
在node表中查到第三枚Flag,但是不能算Flag,因为其内容没有一起存储在node表中,我们继续找找,最终在表field_data_body中找到了Flag3:
FLAG 4
使用Find命令找到第四枚Flag。
FLAG 5
按提示尝试进入/root失败:
按照Flag3的提示,用find找具有特殊权限suid的命令:
发现find是所属于root的,既然无法进入该目录,使用find遍历/root试试:
最终的flag出现了。
现在我们就要想办法拿到这个文件的内容。
这里需要提权,记录一下发现Linux运行的所有SUID可执行文件:
1 | find / -user root -perm -4000 -print 2>/dev/null |
发现find具有SUID标识:
查看一下:
使用find提权:
1 | # Method 1 |
此处使用第一个方法,成功拿到最终的FLAG。
- 本文标题:DC-1
- 本文作者:青 叶
- 创建时间:2021-03-22 23:03:16
- 本文链接:p/41017/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!