
CVE-2025-55182、別名React2Shellとしても知られるツールキット。
認可された環境において、CVE-2025-55182(別名 React2Shell)を検証および調査するための Python ツールキットです。この脆弱性は React Server Components に影響し、Next.js などのフレームワークで構築されたアプリケーションを認証なしのリモートコード実行にさらす可能性があります。このツールキットは、ターゲット収集、一括検証、対話型テストシェル、ホスト列挙、およびオプションの検証後ユーティリティを組み合わせたものです。
hosts_scanner.py は一括検出時に固定の echo VULN_TEST マーカーのみを実行しますこのリポジトリは評価補助ツールであり、公式アドバイザリの確認やベンダーパッチの適用に代わるものではありません。
| ツール | 目的 | 出力または効果 |
|---|---|---|
shodan_parser.py | クエリリストから認証済み Shodan 検索を開き、正規化された HTTP(S) オリジンを収集します。 | 一意のホストを files/targets.txt に追記します。 |
hosts_scanner.py | 固定の VULN_TEST コマンドを使用してターゲットリストを並行チェックします。 | 確認済みターゲットを files/vulnerable.txt に書き込み、失敗したターゲットを files/trash.txt に書き込みます。 |
exploit.py | 1 つのターゲットを再検証し、対話型コマンドセッションを提供します。 | リモートコマンドの出力をターミナルに表示します。 |
universal_scanner.py | システム、コンテナ、ネットワーク、ファイルシステム、プロセス、資格情報露出、特権リスクに関する情報を収集します。 | 詳細な調査結果を scan_results.json に保存します。 |
infrastructure/universal_download.py | コマンドチャネルを介してリモートファイルを再開可能な Base64 チャンクで転送します。 | ローカルファイルを作成または再開し、そのサイズを検証します。 |
infrastructure/mongo_proxy.py | 検証済みホストをネットワーク経路として使用し、MongoDB のインベントリと限定的なサンプリングを行います。 | データベース、コレクション、件数、および小規模なサンプルを一覧表示します。 |
infrastructure/mongo_dump.py | 1 つの MongoDB データベースまたはすべての非システムデータベースを、コレクションごとの制限付きでエクスポートします。 | 評価対象ホスト上の /tmp に JSON ファイルを作成します。 |
infrastructure/aws_dump.py | ECS タスクロールが利用可能な AWS リソースをインベントリします。 | /tmp に JSON ファイルを作成します。機密値を含む場合があります。 |
infrastructure/install_ssh_key.py | 現在のリモートユーザーの authorized_keys に公開鍵を追加します。 | リモートの SSH 設定を変更し、永続性を確立します。 |
infrastructure/trace_cleaner.py | ツールキットのアーティファクトを削除し、履歴、キャッシュ、ログの消去を試みます。 | リモートファイルを破壊的に変更します。承認されたクリーンアップ演習でのみ使用してください。 |
RCE 依存ツールは、一般的なシェルユーティリティを備えた Linux ライクなターゲットを想定しています。一部のインフラストラクチャヘルパーは、評価対象ホストに Node.js と関連する npm パッケージがすでにインストールされていることも前提としています。
shodan_parser.py 用に Playwright を通じてインストールされた Chromiumpython -m venv .venv
環境をアクティベートします:
# Linux または macOS
source .venv/bin/activate
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
依存関係をインストールします:
python -m pip install -r requirements.txt
python -m playwright install chromium
Shodan 収集の場合は、.env.example を .env にコピーし、LOGIN と PASSWORD を設定します。.env をコミットしないでください。
files/queries.txt に Shodan クエリを 1 行につき 1 つ配置するか、認可されたターゲットを直接 files/targets.txt に配置します。python shodan_parser.py でターゲットを収集します。python hosts_scanner.py --file files/targets.txt --concurrency 50 --timeout 30
files/vulnerable.txt を確認し、コマンド実行またはインフラストラクチャユーティリティを実行する前に、所有権とスコープを手動で検証します。スキャナーのスキップリストをリセットするには:
python hosts_scanner.py --file files/targets.txt --clear-trash
python exploit.py https://target.example
python universal_scanner.py https://target.example
インフラストラクチャユーティリティ:
python infrastructure/universal_download.py <TARGET> <REMOTE_PATH> [LOCAL_FILE] [CHUNK_SIZE]
python infrastructure/mongo_proxy.py <TARGET> <MONGODB_URI>
python infrastructure/mongo_dump.py <TARGET> <MONGODB_URI> <DATABASE|ALL> [OUTPUT_FILE] [LIMIT]
python infrastructure/aws_dump.py <TARGET> [OUTPUT_FILE]
python infrastructure/install_ssh_key.py <TARGET> [PUBLIC_KEY_PATH]
python infrastructure/trace_cleaner.py <TARGET>
各スクリプトを引数なしで実行すると、完全なコマンドラインのヘルプが表示されます。
bash、base64、dd、timeout などのツールを前提としています。