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.txt
  • maintainers.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

连接数据库后发现账户密码是加密的,需要找到加密脚本:

  1. 在主目录运行加密脚本
  2. 生成新密码的hash
  3. 用新hash替换admin的hash
  4. 使用新密码登录

登录成功后,在flag3中发现对提权方法的提示。

关键知识点总结

  1. 信息收集技巧:

    • 通过robots.txt和maintainers.txt识别CMS版本
    • 查找配置文件获取敏感信息
  2. Drupal漏洞利用:

    • 使用drupalgeddon漏洞(CVE-2018-7600)
    • Metasploit模块选择与配置
  3. 提权方法:

    • SUID权限滥用
    • find命令提权技巧
  4. 数据库渗透:

    • 从配置文件获取数据库凭据
    • 处理加密密码的方法
  5. flag获取路径:

    • flag1: 通过公开文件获取
    • flag2: 从配置文件获取
    • flag3: 数据库中获得
    • flag4: home目录下
    • thefinalflag: root目录下

难度评估

本靶机难度高于DC-2,涉及多个渗透测试环节和技术点,包括信息收集、漏洞利用、权限提升和数据库渗透等。

Drupal CMS渗透测试实战教学文档 环境信息 攻击机IP : 192.168.44.133 靶机IP : 192.168.44.134 信息收集阶段 1. 主机发现 使用以下命令确定靶机IP: 2. 端口扫描 发现靶机开放80端口,运行着Drupal CMS系统。 前期渗透测试 1. 识别Drupal版本 访问以下文件获取版本信息: robots.txt maintainers.txt 在 maintainers.txt 中发现提到"Drupal 7",推测版本为7.x系列。 获取flag1 : 通过访问上述文件获得。 2. 查找配置文件 访问Drupal的配置文件路径: 获取flag2 : 从配置文件中获得,同时发现MySQL数据库的账号密码。 3. 查找其他flag 在home目录下发现并获取 flag4 。 数据库连接尝试 使用从配置文件中获得的MySQL凭据尝试连接数据库,但连接失败。 提权过程 1. 查找SUID文件 查找系统中所有具有SUID特殊权限的文件,尝试利用这些文件进行提权但失败。 2. 使用Metasploit进行渗透 由于手动提权失败,转而使用Metasploit框架: 选择使用 drupalgeddon 攻击模块,载荷配置为: 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,涉及多个渗透测试环节和技术点,包括信息收集、漏洞利用、权限提升和数据库渗透等。