DC:1打靶记录
字数 1040 2025-08-19 12:42:14
Drupal CMS渗透测试实战教学文档
环境信息
- 攻击机IP: 192.168.44.133
- 靶机IP: 192.168.44.134
信息收集阶段
1. 主机发现
使用以下命令确定靶机IP:
# 使用nmap进行主机存活扫描
nmap -sn 192.168.44.0/24
# 或者使用arp-scan
arp-scan -I eth0 -l
2. 端口扫描
发现靶机开放80端口,运行着Drupal CMS系统。
前期渗透测试
1. 识别Drupal版本
访问以下文件获取版本信息:
robots.txtmaintainers.txt
在maintainers.txt中发现提到"Drupal 7",推测版本为7.x系列。
获取flag1: 通过访问上述文件获得。
2. 查找配置文件
访问Drupal的配置文件路径:
sites/default/settings.php
获取flag2: 从配置文件中获得,同时发现MySQL数据库的账号密码。
3. 查找其他flag
在home目录下发现并获取flag4。
数据库连接尝试
使用从配置文件中获得的MySQL凭据尝试连接数据库,但连接失败。
提权过程
1. 查找SUID文件
find / -perm -4000
查找系统中所有具有SUID特殊权限的文件,尝试利用这些文件进行提权但失败。
2. 使用Metasploit进行渗透
由于手动提权失败,转而使用Metasploit框架:
msfconsole
search drupal
选择使用drupalgeddon攻击模块,载荷配置为:
php/meterpreter/reverse_tcp
3. 成功提权
最终成功利用find命令进行提权,在root目录下获取thefinalflag。
4. 获取flag3
连接数据库后发现账户密码是加密的,需要找到加密脚本:
- 在主目录运行加密脚本
- 生成新密码的hash
- 用新hash替换admin的hash
- 使用新密码登录
登录成功后,在flag3中发现对提权方法的提示。
关键知识点总结
-
信息收集技巧:
- 通过robots.txt和maintainers.txt识别CMS版本
- 查找配置文件获取敏感信息
-
Drupal漏洞利用:
- 使用drupalgeddon漏洞(CVE-2018-7600)
- Metasploit模块选择与配置
-
提权方法:
- SUID权限滥用
- find命令提权技巧
-
数据库渗透:
- 从配置文件获取数据库凭据
- 处理加密密码的方法
-
flag获取路径:
- flag1: 通过公开文件获取
- flag2: 从配置文件获取
- flag3: 数据库中获得
- flag4: home目录下
- thefinalflag: root目录下
难度评估
本靶机难度高于DC-2,涉及多个渗透测试环节和技术点,包括信息收集、漏洞利用、权限提升和数据库渗透等。