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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Apache-RocketMQ-CVE-2023-33246- — 针对CVE-2023-33246的利用工具,通过精心构造的代理配置实现Apache RocketMQ远程代码执行。包含版本检查和命令执行模块。 | Kitploit
工具/GitHubGitHub/sumitpathania03/apache-rocketmq-cve-2023-33246-
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队Archived
GitHubsumitpathania03/apache-rocketmq-cve-2023-33246-

Apache-RocketMQ-CVE-2023-33246-

针对CVE-2023-33246的利用工具,通过精心构造的代理配置实现Apache RocketMQ远程代码执行。包含版本检查和命令执行模块。

查看仓库

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
2年前尚未审核

CVE-2023-33246:Apache RocketMQ 远程代码执行

概述

Apache RocketMQ 是最流行且广泛使用的分布式消息和流处理平台之一。 最近报道了 Apache RocketMQ 中存在一个命令执行漏洞,影响版本 5.1.0 及以下。远程未认证用户可以通过使用更新配置功能来利用此漏洞,以与 RocketMQ 用户进程相同的访问级别执行命令。

核心组件

命名服务器:

  1. RocketMQ 中的命名服务器充当整个消息基础设施的注册表或元数据存储。

  2. 它维护有关主题、队列以及负责处理消息的代理的信息。

  3. 客户端(生产者和消费者)使用命名服务器来发现需要通信的代理,以便发布或消费消息。

  4. 命名服务器负责 RocketMQ 集群内的动态路由、负载均衡和故障转移。

  5. 它监听特定端口(默认为 9876 端口),接收来自客户端和代理的请求。

代理:

  1. 代理是 RocketMQ 系统的主力,负责存储和管理消息。

  2. 每个代理管理一个或多个主题,这些主题是消息通信的逻辑通道。

  3. 生产者将消息发布到特定主题,消费者订阅主题以接收消息。

  4. 代理处理消息的存储、复制并基于订阅和消息消费模式将消息传递给消费者。

  5. 它们为每个主题分区维护消息队列,确保高效的消息处理和传递。

  6. 代理与命名服务器通信以注册自身、更新元数据并参与集群的路由和负载均衡机制。

环境设置:-

通过 Docker 设置本地 RocketMQ 环境

root@kitploit:~
docker pull apache/rocketmq:4.9.4
### 启动命名服务器
docker run -d --name rmqnamesrv -p 9876:9876 apache/rocketmq:4.9.4 sh mqnamesrv
### 启动代理
docker run -d --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -p 10909:10909 -p 10911:10911 -p 10912:10912 apache/rocketmq:4.9.4 sh mqbroker -c /home/rocketmq/rocketmq-4.9.4/conf/broker.conf

使用示例

1. 版本检查

使用默认配置时,代理集群在 TCP 端口 9876 上启动,以开始接收来自客户端的消息。例如,下面是客户端和代理之间用于获取 RocketMQ 版本的示例通信

root@kitploit:~
python3 check.py --ip 127.0.0.1 --port 9876

rock

PCAP rock

2. 漏洞分析

当接收到关联 RequestCode 的代码 '25' 的请求时,会触发 UpdateBrokerConfig() 函数

root@kitploit:~
python3 CVE-2023-33246_RocketMQ_RCE_EXPLOIT.py 127.0.0.1 10911 curl 127.0.0.1/exp

Screenshot 2024-03-28 164712

PCAP

rock

我们利用 broker.conf 文件中找到的 "rocketmqHome" 服务器配置。此配置设置在 RocketMQ 用户进程中环境变量 ROCKETMQ_HOME 的值。通过精心构造这个值,我们可以执行任意选择的命令。

rock

这就是这个漏洞的工作原理。

下载工具