使用Windows操作系統(tǒng)的SMB文件共享協(xié)議,竊取身份憑證的攻擊技術(shù),已經(jīng)存在了很長時間,這是一個不可避免的問題。盡管該技術(shù)具有多種實(shí)現(xiàn)方式,但大多數(shù)都位于本地網(wǎng)絡(luò)內(nèi)部。在過去的十年中,沒有人公開展示過針對瀏覽器(IE和Edge除外)的SMB身份驗(yàn)證攻擊,但是在本文中,我們將介紹Windows憑據(jù)竊取攻擊,該技術(shù)將影響最受歡迎的網(wǎng)絡(luò)瀏覽器-ChromeChrome( 可選配置),以及所有支持瀏覽器的Windows版本。
問題描述在各種配置下,Chrome瀏覽器會自動下載它認(rèn)為安全的文件,而且不會提示用戶選擇文件的存儲位置(使用的是順序地址)。從安全的角度來看,這個功能是存在問題的,但如果惡意文件想要運(yùn)行的話,還是需要用戶手動單擊“打開/運(yùn)行”按鈕才可以。不過,如果下載下來的文件不需要用戶交互就能夠執(zhí)行惡意操作的話,那又該怎么辦呢?真的有哪一類文件可以做到這一點(diǎn)嗎?
Windows資源管理器Shell命令文件(.scf文件)是一種鮮為人知的文件類型,可以返回到Windows98。可能只有Windows98/Me/NT/2000/XP用戶可能遇到過這種文件,當(dāng)時它主要它本質(zhì)上是一個文本文件,其中有一部分可以確定一段需要運(yùn)行的命令(僅在運(yùn)行資源管理器和切換桌面)和一個圖標(biāo)文件的位置。下面是一個SCF文件的內(nèi)容示例:
通過Windows快捷方式LNK文件的生成,當(dāng)文件顯示在資源管理器中時,圖標(biāo)地址會進(jìn)行自動解析。將圖標(biāo)地址指向一臺遠(yuǎn)程SMB服務(wù)器已經(jīng)是可以的攻擊向量了,這種技術(shù)利用了Windows但是從攻擊的角度來看,LNK和SCF之間的區(qū)別在哪里呢?自從震網(wǎng)病毒出現(xiàn)之后,Chrome會強(qiáng)制將LNK文件的后綴名替換。下載,但SCF文件并沒有得到相同的占用。因此,我們可以利用一個僅包含兩行代碼的SCF文件來欺騙Windows系統(tǒng):
文件下載完成之后,當(dāng)用戶在Windows資源管理器中打開下載目錄的那一瞬間,請求就會被觸發(fā),隨后文件便會被刪除。整個過程根本不需要用戶點(diǎn)擊或打開下載文件,因?yàn)閃indows資源管理器會自動嘗試獲取“ icon”(圖標(biāo))內(nèi)容。
攻擊者所設(shè)置的遠(yuǎn)程SMB服務(wù)器隨時準(zhǔn)備著抓住目標(biāo)用戶的用戶名以及NTLMv2密碼哈希,他們可以將這些數(shù)據(jù)用作脫機(jī)破解或偽造用戶身份并訪問在線服務(wù)(SMB轉(zhuǎn)發(fā)攻擊)。捕獲到的信息大致如下:
上面這個例子泄漏了目標(biāo)用戶的用戶名,所在域(域),以及NTLMv2密碼哈希。
需要注意的是,無論您的系統(tǒng)設(shè)置如何,SCF文件在Windows資源管理器中都不會顯示其后綴名(.scf)。因此,類似picture.jpg.scf這樣的文件名在Windows資源管理器中顯示,就是picture.jpg。因此,這也可以利用SCF文件的攻擊活動更加難以被發(fā)現(xiàn)了。
影響
密碼泄漏
對于企業(yè)和政府用戶而言,密碼泄漏將有可能導(dǎo)致內(nèi)部網(wǎng)提權(quán)和數(shù)據(jù)泄漏等風(fēng)險出現(xiàn)。對于使用了微軟賬號(MSA)而非本地賬號的Windows8/10的用戶來說,密碼泄漏將會影響用戶所有的微軟服務(wù),例如OneDrive,Outlook.com,Office365,Office Online,Skype,以及Xbox Live等。同時,密碼重用等問題將會導(dǎo)致更多的賬號發(fā)生泄漏。
從前,一張Nvidia GTX 1080的計算能力約為1600MH/s,即每秒可計算16億哈希值。對于一個長度為8個字符的密碼,一臺配備了四塊GTX1080的密碼破解機(jī)可以在不到一天時間里遍歷整個密碼空間(包括大小寫字母+常用特殊字符(!@#$% &))。
SMB中繼攻擊
像Microsoft Exchange(或Outlook)這種允許遠(yuǎn)程訪問的以及使用NTLM作為身份驗(yàn)證方法的服務(wù)將有可能受到SMB中繼攻擊,攻擊者將能夠偽裝成受害者來訪問用戶的數(shù)據(jù),而且還沒有使用破解用戶喬納森·布魯薩德(Jonathan Brossard)在BlackHat黑客大會上已經(jīng)向全世界演示過這種方法了,感興趣的同學(xué)可以觀看這個演示視頻【傳送門】。
在某些特殊情況下,攻擊者甚至還可以在中繼攻擊的幫助下,利用竊取來的證書入侵目標(biāo)網(wǎng)絡(luò),并獲取內(nèi)部網(wǎng)絡(luò)的訪問權(quán)。
針對SCF的反病毒產(chǎn)品
當(dāng)瀏覽器無法提示這方面的安全風(fēng)險時,我們只能指望其他的安全解決方案能夠保護(hù)我們的安全了。于是我們對當(dāng)前領(lǐng)先的安全解決方案進(jìn)行了測試,從而使它們能夠識別惡意下載文件。但不幸的是,所有測試產(chǎn)品都無法將這類文件標(biāo)記為可疑對象。不過,想要識別出可疑的SCF文件其實(shí)也并不難,我們只要檢查文件中的IconFile參數(shù)所指向的地址就可以了,所以我們希望廠商在將來能夠增加這種檢測機(jī)制。
反射文件下載(RFD)攻擊
注:這種攻擊技術(shù)最初是由OrenHafif發(fā)現(xiàn)的,研究的同學(xué)可以參考介紹文章【參考資料】。
由于SCF格式比較簡單,而我們的攻擊只需要兩行代碼,而且可定制程度較高,因此它也非常適用于RFD攻擊。
RFD通常針對的是RESTfulAPI代理,因?yàn)樗鼈兺ǔT试S我們在URL路徑中設(shè)置文件的擴(kuò)展名。Chrome不會直接下載API響應(yīng)內(nèi)容類型,因此我們需要在“ href =”屬性中添加下載鏈接來強(qiáng)制瀏覽器完成下載。
我們以WorldBankAPI為例進(jìn)行演示:
由于字符“%0B”無法打印出來,因此Chrome將會自動將響應(yīng)內(nèi)容下載并保存為iwantyourhash.scf文件。當(dāng)保存此文件的下載目錄被打開之后,Windows將嘗試與遠(yuǎn)程SMB服務(wù)器進(jìn)行身份驗(yàn)證,并暴露目標(biāo)用戶的認(rèn)證哈希。
緩解方案
為了防止這種通過SCF文件所進(jìn)行的NTLMv2憑證竊取攻擊,我們可以通過以下方法替換Chrome瀏覽器的自動下載功能:設(shè)置->顯示高級設(shè)置->替換“在下載之前查詢保存文件路徑”選項(xiàng)。
除此之外,我們也希望谷歌能夠在將來的Chrome瀏覽器版本中解決這個問題。以上就是關(guān)于瀏覽器如何竊取Windows密碼的全部內(nèi)容介紹,想了解更多關(guān)于信息安全的信息,請繼續(xù)關(guān)注中培偉業(yè)。