過去幾個月,Preempt研究團隊發(fā)現(xiàn)并報告了兩個微軟的NT LAN Manager(NTLM)漏洞。這些漏洞有同一個問題,即NTLM沒有正確處理兩種不同的協(xié)議。這些問題非常重要,因為即使開啟了LDAP服務(wù)器簽名和RDP限制管理模式,它們也能允許攻擊者創(chuàng)建新的域名管理員賬戶。
兩個漏洞的描述視頻如下:
NTLM是微軟安全協(xié)議的一個套件,可提供認證、完整性和機密性。NTLM relay被廣大黑客熟知。如果你邀請一個滲透測試組來進行安全審計,他們可能會使用NTLM relay攻擊攻陷你的網(wǎng)絡(luò)。
下圖是如何完成NTLM relay的簡要示意圖:

簡言之,在NTLM中,當一個用戶希望連接一個服務(wù)器時,服務(wù)器發(fā)起challenge,用戶使用他們的密碼哈希加密challenge。攻擊者創(chuàng)建一個并行會話連接服務(wù)器,他希望成功創(chuàng)建NTLM認證。使用成功的NTLM認證,攻擊者能立刻打開一個SMB會話,并使用惡意軟件感染目標系統(tǒng)。
0x01 NTLM憑據(jù)relay可以使用兩種方式阻止
1. SMB簽名:是一種服務(wù)器與客戶端協(xié)商以使用繼承的會話密鑰對所有傳入的數(shù)據(jù)包進行數(shù)字簽名的配置。這樣的話,即使NTLM會話還是可能被relay,服務(wù)器也不會被利用,因為攻擊者缺少會話密鑰。除了SMB,DCE/RPC通信也是用這種技術(shù)保護。此刻,在Active Directory網(wǎng)絡(luò)中應(yīng)該注意到它,只有域名控制器默認開啟SMB簽名,其他的所有服務(wù)器或工作組默認不受保護。
2. 認證增強保護(EPA):是認證過程的一種機制,客戶端申請使用繼承的會話密鑰對TLS會話的一個元素進行數(shù)字簽名。EPA在其他協(xié)議中和HTTP一起使用。這種方式有幾個值得注意的地方。首先,它需要協(xié)議支持TLS。其次,EPA不能統(tǒng)一配置。這意味著,每個服務(wù)器或應(yīng)用程序管理員不得不手動開啟它(默認是關(guān)閉的)來阻止憑據(jù)轉(zhuǎn)發(fā)。
0x02 漏洞1:LDAP Relay(CVE-2017-8563)
我們報告的第一個漏洞是LDAP不受NTLM relay保護。
LDAP協(xié)議用于Active Directory中查詢和更新所有的域名對象(用戶、組、終端等)。在組策略中有個特殊的配置(域名控制器:LDAP服務(wù)器簽名需要)。當這個組策略設(shè)置為“需要簽名”,域名控制器拒絕沒有使用繼承的會話密鑰數(shù)字簽名的LDAP會話,或者通過TLS(LDAPS)加密整個會話。
這里的漏洞是,LDAP簽名能阻止中間人攻擊和憑據(jù)轉(zhuǎn)發(fā);LDAPS能阻止中間人攻擊,但是不能阻止憑據(jù)轉(zhuǎn)發(fā)。這使得具有SYSTEM權(quán)限的攻擊者能使用任意的傳入NTLM會話,并代表NTLM用戶執(zhí)行LDAP操作。為了實現(xiàn)這個方式,我們需要知道所有的Windows協(xié)議使用Windows認證API(SSPI),可以將認證會話降級到NTLM。
結(jié)果,每個連接到受感染的機器(SMB,WMI,SQL,HTTP)都將導致攻擊者創(chuàng)建域管理員賬戶并完全控制被攻擊的網(wǎng)絡(luò)。
0x03 漏洞2:RDP relay
第二個問題是與RDP受限管理員有關(guān)。RDP受限管理允許用戶不需要遠程計算機的密碼就能連接到遠程計算機上。
RDP受限管理過去很受歡迎,因為它使得攻擊者使用pass-the-hash連接到遠程計算機。但是,過去沒人公開對失陷的終端執(zhí)行RDP。Preempt發(fā)現(xiàn)了RDP受限管理,其有時被誤認為是Kerberosed RDP,能允許在認證協(xié)商中降級為NTLM。這意味著你可以使用NTLM執(zhí)行的每次攻擊,如憑據(jù)中轉(zhuǎn)和破解密碼。
因為RDP受限模式作為具有權(quán)限提升的技術(shù)支持人員遠程訪問計算機的方式,這使得他們的憑據(jù)處于風險狀態(tài)。而且組合第一個LDAP relay問題,這意味著每次使用RDP受限管理的連接,攻擊者能夠創(chuàng)建一個惡意的域管理員。
0x04 微軟響應(yīng)中心回復
微軟承認了兩個問題。對于第一個CVE編號為CVE-2017-8563,補丁已經(jīng)發(fā)布。對于第二個,微軟宣稱是已知問題并且建議安全配置網(wǎng)絡(luò)。
時間點:
2017-04-02:Preempt聯(lián)系MSRC報告漏洞
2017-04-06:MSRC承認報告
2017-05-09:MSRC確認LDAP問題,認為RDP可通過配置修復
2017-07-11:微軟在7月補丁修復了CVE-2017-8563
0x05 如何自我保護
NTLM是非常危險的,可以用于憑據(jù)轉(zhuǎn)發(fā)和密碼破解。如果你可以,你應(yīng)該避免在你的網(wǎng)絡(luò)使用它,那么你將很安全。
為了安全,我建議按下面步驟采取措施(1-2是必須的,3-5強烈建議):
1. 在你所有的域名控制器上安裝CVE-2017-8563的補丁。如果你有自動軟件更新,可能已經(jīng)更新過了,但是需要重啟計算機才能生效。
2. 在組策略中開啟“需要LDAP簽名”。默認是關(guān)閉的,很像SMB簽名,如果配置不當,將不受保護。
3. 根據(jù)指導,通過SSL/TLS進行LDAP認證
4. 監(jiān)控你網(wǎng)絡(luò)中的NTLM流量,確保檢查任何異常
5. 不要給你的幫助人員域名管理員權(quán)限,因為他們登陸到多個工作組,他們的憑據(jù)不安全(如果需要,給他們兩個賬戶,一個是遠程協(xié)助,另一個具有域名管理員權(quán)限)。對于這個,我推薦你看下微軟Pass-the-Hash指導。
6. 可以通過視頻了解Preempt如何幫助企業(yè)級用戶的。
|