
WatchTowr の記事に着想を得た CVE 2024 23113 の概念実証です。
このリポジトリに含まれるコードおよび資料は、厳密に教育、研究、および許可されたセキュリティテストを目的として提供されます。
これは、CVE 2024 23113 を検出するための Python スクリプトです。この脆弱性は、通常 TCP ポート 541 で実行される FortiGate FGFM サービス(FortiGate から FortiManager へのプロトコル)におけるフォーマット文字列の脆弱性です。 FortiGate FGFM サービスは、FortiGate ファイアウォールと FortiManager セントラルツール間の通信リンクです。これは、1 つのダッシュボードからファイアウォールをリモートで管理、更新、設定するための専用チャネルです。 攻撃者は、巧妙に細工されたリクエストを介してフォーマット文字列を制御し、リモートコード実行(RCE)、サービス拒否(DoS)、その他の有害な影響を引き起こす可能性があります。
このスクリプトは、CVE 2024 23113 に関する WatchTowr の記事に触発されたものです。
https://labs.watchtowr.com/fortinet-fortigate-cve-2024-23113-a-super-complex-vulnerability-in-a-super-secure-appliance-in-2024/
hostname 変数の値をターゲットの IP アドレスに置き換えます。ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:997) に類似していない場合、ターゲットは脆弱です。ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:997) に類似しており、サービスに certificate_authorities 拡張ステータスがない場合、ターゲットは脆弱です。注: ただし、"Requires cert signed by configured CA"設定にも注意する必要があります。
これについては、WatchTowr の記事の「We Observe, We Compare」セクションで非常に詳しく説明されています。記事にアクセスして読むことを強くお勧めします。技術的ですが理解しやすい内容です。この検出の要点は、TLS ネゴシエーションの詳細における certificate_authorities 拡張ステータスです。
署名付き証明書要件の検出テクニックと私のスクリプトを組み合わせることで、この脆弱性に対して 100% 正確な検出テクニックを得ることができます。