Apache RocketMQ 任意文件写入漏洞利用演示
事实上,Apache RocketMQ 中的任意文件写入漏洞(CVE-2023-37582)已在 CVE-2023-33246 RCE 漏洞中得到解决。 然而,针对 CVE-2023-33246 RCE 提供的修复并不全面,因为它仅解决了对 RocketMQ broker 的影响。 该漏洞影响 RocketMQ 的 nameserver,利用该漏洞可实现任意文件写入。
# start name server
docker run -d --name rmqnamesrv -p 9876:9876 apache/rocketmq:4.9.6 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.6 sh mqbroker \
-c /home/rocketmq/rocketmq-4.9.6/conf/broker.conf
需要说明的是,所提供的漏洞利用仅用于演示目的。
当前漏洞利用允许向 nameserver 的 /tmp/pwned 目录写入文件。
通过修改 body 变量的内容,可以写入 OpenSSH 私钥或添加 cronjob 来利用此漏洞。
然而,务必牢记,此类行为未经授权,可能导致严重的安全破坏。
强烈建议不要参与任何恶意活动,并优先考虑负责任且合乎道德的网络安全实践。
usage: CVE-2023-37582.py [-h] [-ip IP] [-p P]
RocketMQ Exploit
optional arguments:
-h, --help show this help message and exit
-ip IP Nameserver address
-p P Nameserver listen port