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