CVE-2025-55182 脆弱性検出・悪用ツール
プロジェクト紹介
本ツールは、Java Swing ベースの GUI ツールであり、CVE-2025-55182 脆弱性の検出と悪用に使用します。この脆弱性は Next.js フレームワークにおけるセキュリティ上の欠陥であり、攻撃者が特定のリクエストを構築することで任意のコマンドを実行できる可能性があります。
機能特長
1. 脆弱性検出
- バッチ URL スキャンをサポート
- マルチスレッドによる並行スキャンで検出速度を向上
- スキャンの進行状況と件数をリアルタイム表示(例:1/1000 (0%))
- 脆弱性が存在するターゲットのみを表示し、無関係な情報をフィルタリング
- ファイルインポートによるバッチ検出をサポート
- スキャン停止機能を提供
2. コマンド実行
- Linux/Windows コマンドの実行をサポート
- ターゲット OS の自動または手動選択
- コマンド実行結果をリアルタイム表示
3. メモリシェル注入
- 簡易コマンド実行メモリシェルの注入をサポート
- ゴジラメモリシェルの注入をサポート(RC4 暗号化付き)
- 接続情報と使用手順を自動生成
4. リバースシェル
- Linux/Windows リバースシェルをサポート
- カスタムリバースコマンドをサポート
- 複数のリバース方式を提供(Linux 名前付きパイプ、Windows PowerShell)
技術アーキテクチャ
- 開発言語:Java
- GUI フレームワーク:Swing
- ネットワーク通信:HttpURLConnection
- 並行処理:ExecutorService スレッドプール
- プロジェクト管理:Maven
環境要件
コンパイルと実行
1. プロジェクトのコンパイル
# プロジェクトディレクトリへ移動
cd CVE202555182GUI
# コンパイルおよびパッケージング
mvn clean package
2. ツールの実行
# 依存関係を含む実行可能 JAR ファイルを実行
java -jar target/CVE202555182GUI-1.0-SNAPSHOT-jar-with-dependencies.jar
使用方法
脆弱性検出
- 「ターゲットURL」テキストボックスに 1 つ以上のターゲット URL を入力(1 行に 1 つ)
- または「ファイルインポート」ボタンをクリックし、URL リストを含むファイルを選択
- 「スキャン開始」ボタンをクリックしてスキャンを開始
- スキャン結果は下部の「スキャン結果」領域に表示
- 「スキャン停止」ボタンをクリックするとスキャン処理を中断可能
コマンド実行
- ターゲット URL を入力
- 実行するコマンドを入力
- ターゲット OS を選択(auto/linux/windows)
- 「コマンド実行」ボタンをクリック
- コマンド実行結果は下部の「実行結果」領域に表示
メモリシェル注入
- ターゲット URL を入力
- メモリシェルの種類を選択(簡易コマンド実行/ゴジラメモリシェル)
- ターゲット OS を選択(auto/linux/windows)
- 「メモリシェル注入」ボタンをクリック
- 注入結果と接続情報は下部の「注入結果」領域に表示
リバースシェル
- ターゲット URL を入力
- リバース IP とポートを入力
- ターゲット OS を選択(linux/windows)
- 任意:カスタムリバースコマンドを入力
- 「リバースシェル注入」ボタンをクリック
- 注入結果は下部の「注入結果」領域に表示
脆弱性の原理
CVE-2025-55182 の脆弱性は、Next.js フレームワークが特定のリクエストを処理する際のセキュリティ上の欠陥に起因します。攻撃者は悪意のある multipart/form-data リクエストを構築することで、サーバー側で任意のコマンドを実行できます。
本ツールは以下の手順で脆弱性を検出します:
- コマンド実行 payload を含むリクエストを構築
- ターゲットサーバーの
/_next/data パスに送信
- レスポンスに期待されるコマンド実行結果が含まれるかを確認
- 結果に基づいて脆弱性の有無を判定
参考プロジェクト
本プロジェクトは以下のオープンソースプロジェクトを参考にしています:
セキュリティに関する注意
- 本ツールはセキュリティテストおよび承認されたペネトレーションテスト専用です
- 本ツールを使用する際は関連する法律・規制を遵守してください
- 未承認のターゲットに対して本ツールを使用しないでください
- テスト完了後は、注入したメモリシェルを速やかにクリーンアップしてください
注意事項
- スキャン速度:デフォルトでは 10 スレッドで並行スキャンします。ネットワーク環境に応じて調整可能
- タイムアウト設定:デフォルトのタイムアウト時間は 10 秒です。ネットワーク環境に応じて調整可能
- メモリシェル接続:ゴジラメモリシェルを使用する場合、対応する Node.js 接続プラグインのダウンロードが必要です
- リバースシェル:ローカルで対応するリスニングポートを起動する必要があります(例:
nc -lvvp 4444)
トラブルシューティング
よくある問題と解決方法
-
スキャンの進行状況が動かない
- ターゲット URL が正しいか確認
- ネットワーク接続が正常か確認
- 並行スレッド数を減らしてみる
-
コマンド実行の失敗
- ターゲットに脆弱性が存在するか確認
- OS の選択が正しいか確認
- コマンドがターゲットシステムの構文に適合しているか確認
-
メモリシェル注入の失敗
- ターゲットに脆弱性が存在するか確認
- ネットワーク接続が安定しているか確認
- 異なる種類のメモリシェルを試してみる
-
リバースシェルに接続できない
- ローカルのリスニングポートが起動しているか確認
- ネットワークファイアウォール設定を確認
- リバース IP とポートの設定が正しいか確認
- カスタムリバースコマンドを試してみる
バージョン履歴
- v1.0.0:初期バージョン
- 基本的な脆弱性検出機能を実装
- コマンド実行機能を実装
- メモリシェル注入機能を実装
- リバースシェル機能を実装
免責事項
本ツールは学習および承認されたセキュリティテスト専用です。不正な目的で使用しないでください。本ツールの使用によって生じたいかなる結果についても、使用者自身が責任を負うものとします。
連絡先
ご質問やご提案がございましたら、作者までお気軽にご連絡ください。