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. 提权方法选择

  • 脚本提供两种提权方法:
    1. 使用gcc编译(需要编译环境,不支持)
    2. 使用netcat(选择此方法)

4. 执行提权

  • 将提权脚本上传到靶机可写目录
  • 执行提权操作

获取Flag

成功提权后,在/root/flag.txt中获取最终flag

关键知识点总结

  1. Drupal 7已知漏洞利用
  2. SQL注入检测与利用
  3. 密码哈希爆破技术
  4. 文件上传绕过技术
  5. 反弹Shell技术
  6. SUID提权方法
  7. exim4特定版本漏洞利用

防御建议

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