連線中進行的方式如上圖
簡介 :
此漏洞出現在 Netlogon Remote Protocol 的連線設定中,Client端和Server端在進行認證時候利用的加密法所導致的。
Protocol 利用加密方式是 AES-CFB8,透過加密方式進行認證。此漏洞的 CVE 編號為 CVE-2020-1472。重點在於協定使用該加密法的方式有漏洞,可讓攻擊者不知道密碼的情況下取用到Server,且可取用整個 AD Server。該漏洞對於世界上許多科技領域的企業有非常大的影響,許多駭客也知道該漏洞存在的第一時間嘗試利用該漏洞來進行對企業的攻擊。
攻擊手法 :
1. Client 端會先傳送一個全部為零的 8-byte “Client Challenge” (0000…0)給Server端,Server端會產生一個 8-byte “Server Challenge” 給Client端,雙方交換完 Challenge 後,會再透過金鑰衍生函式(Key derivation function) 產生 session key。
2. Client端會使用這個 session key 計算出 client 憑證,而Server端也會利用同樣的憑證值重新做計算,如要成功匹配,必須要知道 password 以及 session key。對正常使用者而言,password 是已知的,可以透過 password 計算出 session key,但對攻擊者而言,攻擊者不知道 password,因此無法計算出 session key。
3. 在正常的連線設定中,會利用 session key 將前述的 client challenge 加密,加密的結果會被放入 NetrServerAuthentication3 的 credential 參數中,並回傳到Server端做驗證確認。因為攻擊者不知道 session key,因此無法計算出 client credential,也無法通過Server端的驗證。
因此,如果能在不知道 session key 的情況下計算出 client credential,就能成功繞過身份驗證,達到攻擊目的。
如何修補 :
• 針對 CVE-2020-1472 的漏洞,以及相關聯的攻擊手法等,目前的應對方式與補丁是盡快更新 Windows Active Directory 網域控制站,並依據微軟官方的建議開啟強制模式。
• 微軟計劃分兩階段推出解決此弱點的更新:
初始部署階段:
• 初次部署階段會從2020年8月11日發行的更新開始,並持續更新,直到執行階段為止。
• 這些及更新的版本會變更 Netlogon 通訊協定,以便在預設情況下保護 Windows 裝置、記錄不合規裝置探索的事件,並為所有加入網域的裝置啟用保護,但仍允許為任何不相容裝置新增例外情況,以明確允許該帳戶使用。
• 本次發行詳細內容可參考微軟官方。
強制執行階段:
• 2021 年 2 月 9 日發行的版本將標示為強制執行階段。 DC 將會在強制執行模式中,而不管強制模式的登錄機碼。 這要求所有 Windows 和非 Windows 裝置都要使用安全 RPC 和 Netlogon 安全通道,但仍為不相容的裝置新增例外情況,以明確允許該帳戶使用。
• 本次發行詳細內容可參考微軟官方。
• 針對不同的 Windows 伺服器版本,微軟發布了 KB4565349、KB4565351、KB4566782、KB4571694、KB4571702、KB4571703、KB4571719、KB4571723、KB4571729、KB4571736 等相關資訊以協助用戶進行更新[3]。
• 針對企業端點或網路等,也應執行資安健檢以確定是否受到相關攻擊影響,以利於第一時間進行資安事件處理。