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

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