DC:8
字数 841 2025-08-19 12:41:14
Drupal 7 渗透测试实战教学文档
环境信息
- 攻击机IP: 192.168.44.133
- 靶机IP: 192.168.44.143
信息收集阶段
1. 主机发现
使用以下两种方法确定靶机IP:
nmap -sn 192.168.44.0/24
arp-scan -I eth0 -l
2. 端口扫描
重点关注:
- 80端口(Web服务)
- SSH端口
- 发现Drupal 7 CMS系统(需特别关注Drupal 7相关漏洞)
3. 目录扫描
关键发现:
- 访问robots.txt文件,发现多个路径和文件
- 找到登录界面:/user/admin(可访问)
渗透测试阶段
1. SQL注入利用
- 发现SQL注入漏洞
- 使用sqlmap获取users表中的用户信息:
sqlmap -u "目标URL" --dbs
sqlmap -u "目标URL" -D drupal_db -T users --dump
2. 密码爆破
- 使用John the Ripper对获取的哈希进行爆破
- 成功爆破出凭证后,在登录界面尝试登录
3. 文件上传绕过
- 发现个人中心有文件上传功能
- 尝试上传PHP木马失败(白名单过滤,仅允许图片文件)
- 解决方案:寻找其他可执行PHP代码的位置
4. 反弹Shell获取
- 使用预置的反弹Shell脚本:
/usr/share/webshells/php/php-reverse-shell.php
- 找到Contact表单提交后的响应输出位置,插入木马代码
- 通过提交Contact表单触发代码执行
提权阶段
1. 查找SUID文件
find / -perm -u=s -type f 2>/dev/null
发现可疑文件:exim4
2. 漏洞利用
- 检查exim4版本:4.89
- 在searchsploit中查找相关提权漏洞
searchsploit exim 4.89
3. 提权方法选择
- 脚本提供两种提权方法:
- 使用gcc编译(需要编译环境,不支持)
- 使用netcat(选择此方法)
4. 执行提权
- 将提权脚本上传到靶机可写目录
- 执行提权操作
获取Flag
成功提权后,在/root/flag.txt中获取最终flag
关键知识点总结
- Drupal 7已知漏洞利用
- SQL注入检测与利用
- 密码哈希爆破技术
- 文件上传绕过技术
- 反弹Shell技术
- SUID提权方法
- exim4特定版本漏洞利用
防御建议
- 及时更新Drupal系统
- 加强SQL注入防护
- 实施严格的文件上传验证
- 定期检查系统SUID文件
- 保持所有服务组件为最新版本