Share
## https://sploitus.com/exploit?id=9A4567DD-29CC-5D82-9643-CA11FB510F61
<!-- ================================================================= -->
<!-- fgt-cve-2023-27997 -->
<!-- ================================================================= -->
# fgt-cve-2023-27997-exploit
> FortiGate SSL‑VPN **CVE‑2023‑27997** Exploit PoC Script with ROP Chain
[](https://nvd.nist.gov/vuln/detail/CVE-2023-27997)
[](https://www.python.org/downloads/)
---
## İçindekiler <!-- omit in toc -->
- [Açıklama](#açıklama)
- [Etkilenen Sürümler](#etkilenen-sürümler)
- [Kurulum](#kurulum)
- [Kullanım](#kullanım)
- [Örnek Çıktı](#örnek-çıktı)
- [Teknik Detaylar](#teknik-detaylar)
- [Uyarılar](#uyarılar)
- [Kaynaklar](#kaynaklar)
---
## Açıklama
`fgt-cve-2023-27997-exploit.py`, Fortinet FortiGate cihazlarında keşfedilen kritik güvenlik açığı **CVE‑2023‑27997** için yazılmış bir **Proof‑of‑Concept (PoC)** exploit scriptidir.
Zafiyet, FortiOS SSL‑VPN arayüzünde kimlik doğrulama gerektirmeden **uzaktan kod çalıştırılmasına (RCE)** imkan veren **heap tabanlı buffer overflow** hatasından kaynaklanır.
Script çalışma adımları:
1. Hedef cihazdan **salt** değerini elde eder.
2. Özel bir **ROP (Return‑Oriented Programming) zinciri** üretir.
3. `/remote/hostcheck_validate` endpoint'ine manipüle edilmiş **GET** isteği göndererek **bellek taşmasını** tetikler.
4. Taşma sonrasında hazırlanan ROP zinciri işletilerek uzaktan komut çalıştırılır.
> **Dikkat:** Script yalnızca _yetkilendirilmiş test veya laboratuvar_ ortamlarında kullanılmalıdır.
---
## Etkilenen Sürümler
| Ürün | Sürümler |
|------|----------|
| FortiOS | 7.2.0 – 7.2.5<br>7.0.0 – 7.0.11<br>6.4.0 – 6.4.12<br>6.2.0 – 6.2.14<br>6.0.0 – 6.0.16 |
| FortiProxy | İlgili sürümler |
---
## Kurulum
1. Python 3.7+ ortamı hazırlayın.
2. Gerekli bağımlılıkları kurun:
```bash
pip3 install -r requirements.txt
```
> **requirements.txt** içeriği:
> ```text
> requests
> urllib3
> ```
---
## Kullanım
```bash
python3 fgt-cve-2023-27997-exploit.py <TARGET_IP> <TARGET_PORT>
```
Örnek:
```bash
python3 fgt-cve-2023-27997-exploit.py 192.168.1.200 10443
```
| Argüman | Açıklama |
|---------|----------|
| `<TARGET_IP>` | Hedef FortiGate IP adresi |
| `<TARGET_PORT>` | SSL‑VPN portu (default: 443 veya 10443) |
---
## Örnek Çıktı
```text
[*] 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!
```
---
## Teknik Detaylar
<details>
<summary>Görmek için tıklayın</summary>
### Zafiyet Akışı
```text
/remote/info --> salt değeri alınır
/remote/hostcheck_validate?enc=<payload> --> buffer overflow tetiklenir
```
- `enc` parametresi, `salt` + `seed` birleşiminden üretilen **XOR keystream** ile şifrelenir.
- **Uzunluk** kontrolündeki hata taşmayı mümkün kılar.
- Taşma sonrası **ROP Chain** devreye girer.
### ROP Zinciri
| Adım | Gadget | Açıklama |
|------|--------|----------|
| 1 | `pop rdi ; ret` | `RDI`'ye komut adresi yüklenir |
| 2 | `system@plt` | Komut işletilir |
| – | `0xdeadbeefdeadbeef` | Placeholder; gerçek adres lab ortamında belirlenmelidir |
### Heap Spray
Bu PoC, kontrollü test ortamında **heap grooming** gerektirmeden çalışacak şekilde tasarlanmıştır.
</details>
---
## Uyarılar
- Script yalnızca _yetkilendirilmiş_ ortamlarda çalıştırılmalıdır.
- İzinsiz kullanım **yasalara aykırıdır** ve hedef cihaz **çökebilir**.
- FortiOS 7.0.5 sürümleri **TLS 1.0** kullanır; script içinde uygun TLS ayarı yapılmıştır.
---
## Kaynaklar
- Lexfo Security Blog – *XORtigate: CVE‑2023‑27997*
- Bishop Fox – *Building an Exploit for CVE‑2023‑27997*
- Fortinet PSIRT Advisory **FG‑IR‑23‑097**
---