
CVE-2025-31161の概念実証(PoC)。改変されたHTTPヘッダーを利用して、Crush FTPサーバー上の任意のユーザーへの未認証なりすましを行います。
警告: このツールは、許可されたセキュリティテストおよび教育目的のみで使用してください。明示的な許可を得ていないシステムへの不正使用は違法です。
このツールは、CVE-2025-31161 の概念実証(PoC)です。この脆弱性は、CrushFTP(バージョン < 10.8.4 および < 11.3.1)における重大な認証バイパスの脆弱性です。この脆弱性は、AWS4-HMAC ヘッダー解析のロジックエラーを悪用するもので、破損したヘッダーが IndexOutOfBounds 例外を引き起こします。この例外によりサーバーはセッションのクリーンアップを実行できなくなり、結果としてユーザーはパスワードなしで要求したアカウントとして認証された状態になります。
Credential=user/)により処理されない Java 例外が発生し、セッションのクリーンアップがバイパスされます。requests ライブラリpip install requests
このスクリプトは、チェック(観測)とエクスプロイト(実行)の2つのモードで動作します。
デフォルトの管理者アカウントのセッション Cookie の漏えいを試みることで、対象が脆弱であるかどうかを検証します。このモードは対象システムを変更しません。
python3 exploit.py check -u <target_ip> -p <port>
python3 exploit.py check -u 192.168.1.50 -p 8080指定した管理者ユーザーのセッションを乗っ取り、そのセッションを使用して MainUsers グループに新しい管理者アカウントを注入します。
python3 exploit.py exploit -u <target_ip> -p <port> -a <admin_user> -nu <new_username> -np <new_password>
python3 exploit.py exploit -u 192.168.1.50 -p 8080 -a crushadmin -nu operator -np StrongPass123!| フラグ | 名前 | 説明 | デフォルト |
|---|---|---|---|
-u | --url | 対象の IP アドレスまたはホスト名 | 必須 |
-p | --port | 対象のポート | 8080 |
-a | --admin_user | なりすます既存の管理者アカウント | crushadmin |
-nu | --new_user | 新しい管理者アカウントのユーザー名 | 必須 |
-np | --new_password | 新しい管理者アカウントのパスワード | 必須 |