简介:
RocketMQ是由阿里捐赠给Apache的一款低延迟、高并发、高可用、高可靠的分布式消息中间件,在RocketMQ 5.1.0及以下版本,且Broker暴露在外网下,攻击者可直接通过伪造RocketMQ协议配合配置更新功能对Broker主机进行远程代码执行。
利用条件:
RocketMQ versions <= 5.1.0
开放Broker端口(默认10911)
漏洞环境部署:
docker pull apache/rocketmq:4.9.4
# Start nameserver
docker run -d --name rmqnamesrv -p 9876:9876 apache/rocketmq:4.9.4 sh mqnamesrv
# Start Broker
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
基本原理:
文件写入漏洞->更新配置->30s触发一次命令执行 (所以不更改回配置文件会轮询执行) 漏洞详情请看参考
配置文件路径:
$NAMESRV_ENV_ROCKETMQ_HOME/conf/broker.conf
漏洞检测及利用:
对Namesrv端口(默认9876)进行版本探测:
./nuclei -u 127.0.0.1:9876 -t cve-2023-33246.yaml
根据nuclei输出的brokerAddrs进行漏洞利用(注意是broker的地址):
nuclei检测poc:
https://github.com/UltimateSec/ultimaste-nuclei-templates/blob/main/rocketmq/cve-2023-33246.yaml
参考:
https://xz.aliyun.com/t/12589#toc-6
https://github.com/Malayke/CVE-2023-33246_RocketMQ_RCE_EXPLOIT
https://github.com/Le1a/CVE-2023-33246
原文始发于微信公众号(极致攻防实验室):RocketMQ远程代码执行 附检测POC (nuclei)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论