看看一個內部員工是如何摧毀整個公司網路的?
我們以前曾調查過黑客會通過連接在USB埠的正在充電的手機實施攻擊,在這項研究中,我們重新審視了USB埠的安全性。我們發現,手機充電時,即使電腦處於鎖屏狀態,黑客也可以通過對USB埠的攻擊成功地入侵用戶的電腦甚至可以獲取管理員登錄憑據。這讓人想起了2015年發現的Carbanak病毒,當時它的所竊總金額就已經高達10億美元,它在盜取資金相關的賬號信息同時,能入侵銀行系統管理員賬號,讓犯罪分子獲得許可權,通過內部視頻監控鏡頭觀察員工的一舉一動。
在本文中,我們將介紹如何通過一位連接在電腦USB的手機的員工那裡開始,擴展到對整個公司範圍內的任何計算機的管理員憑據進行竊取。其最終目的就是獲取用戶名和密碼哈希值,但我們不會詳細介紹如何解密檢索到的哈希值,或者如何在攻擊中使用這些哈希值。
我們要強調的是,這種攻擊的硬體成本不超過20美元,可以由沒有任何編程背景的人員執行。不過唯一的難點就是要對企業電腦進行物理訪問,就是要讓一個員工將受感染的手機插到未關機電腦的USB上。
我們在實驗中使用了一款新的代號為樹莓派零(Raspberry Pi Zero)的版本,有史以來最小的樹莓派尺寸,65mm x 30mm x 5mm,採用512MB LPDDR2 SDRAM,帶一個micro-SD卡槽,一個mini-HDMI介面,支持1080p 60fps視頻輸出,兩個microUSB介面——其中一個用於供電,可以運行 Raspbian 以及任何你喜歡的應用,包括 Scratch, Minecraft 和 Sonic Pi等。
使用Raspberry Pi微型電腦來攔截和分析網路數據包或甚至作為通用滲透測試平台的做法是非常常見的。大多數已知的微型電腦都建立在ARM微處理器上,Kali Linux是基於Debian的Linux發行版, 是專門設計用於數字取證和滲透測試的操作系統。
有專門用於滲透測試目的的計算棒,例如USB Armory。然而,集成USB A型連接器(Raspberry Pi需要適配器)要比USB Armory的成本要高出許多(約135美元),而與Raspberry Pi Zero相比,它的實用性卻相當不錯。在2016年,Raspberry Pi就號稱可以通過USB連接到PC或Mac用於竊取電腦的哈希值,緊接著Raspberry Pi Zero聲稱也可用於從3個瀏覽器中竊取cookies。
那麼,就讓我們檢測一下。
首先,我們嘗試攔截企業網路中的用戶憑據,利用Raspberry Pi連接到運行不同操作系統的筆記本電腦和台式機中。
第二,我們嘗試利用Raspberry Pi Zero檢索並竊取cookie,以恢復熱門網站上的用戶會話。
實驗1:竊取域憑據
方法
這種攻擊背後的關鍵點就是利用網路適配器的模擬,在樹莓派的操作系統Raspbian下找到模擬乙太網適配器的模塊非常簡單。我們在cmdline.txt和config.txt文件中進行了一些配置更改,以便在啟動時載入模塊。
還有一些額外的步驟包括安裝python解釋器,sqlite3資料庫庫和一個名為Responder的特殊應用程序,用於數據包嗅探。
除此之外,我們還設置了我們自己的DHCP伺服器,並定義了IP地址的範圍和子網掩碼,將其與我們要進入的網路分開。最後一步包括配置usb0介面,並在啟動時自動載入Responder和DHCP伺服器。
檢測結果
只要我們將模擬的Raspberry Pi Zero連接到Windows 10,就可以看到連接的Raspberry Pi被確定為有線區域網連接。網路設置對話框將此適配器顯示為遠程NDIS Internet共享設備,從而被自動分配比其他適配器更高的優先順序。
響應程序會掃描流經模擬網路的數據包,並且在看到用戶名和密碼哈希值後,將它們引導到假的HTTP / HTTPS / NTLM(它支持v1和v2)伺服器。每次應用程序(包括在後台運行的應用程序)發送身份驗證數據或用戶在網路瀏覽器的標準對話窗口中輸入攻擊時,例如,當用戶嘗試連接到共享文件夾或印表機時,就將觸發攻擊。
在自動模式下攔截的哈希值,即使系統被鎖定也是有效的,不過只有在計算機具有另一個活動的本地網路連接時才能運行。
如上所述,我們對三種情況下的Poc進行了測試:
1.針對登錄域名的公司電腦2.針對公共電腦上的公用電腦3.針對家用電腦
在第一種情況下,我們發現Raspberry Pi不僅攔截來自通過USB連接的系統的數據包,還攔截了域中其他企業網路用戶的NTLM身份驗證請求。
在觀察了幾分鐘之後,我們已經證明,Raspberry Pi連接的時間越長,就從網路中提取的數量就越多。通過模擬數據,我們可以得出結論,在我們的設置中可以提取的哈希數量大約是每小時50個哈希。當然,實際的數量還要取決於網路拓撲結構,即一個段內的用戶數量及其活動。在此,要說明的是,我們的實驗運行時間沒有超過半小時,因為我們也偶然發現了一些奇怪的副作用,這些會在稍後描述。
提取的哈希存儲在純文本文件中,如下圖所示:
在第二種情況下,我們只能提取連接系統的用戶憑據:域或Windows名稱、密碼哈希。如果我們設置了用戶可以嘗試訪問的共享網路資源,就可能會得到更多用戶信息。
在第三種情況下,我們只能獲取系統所有者的憑據,該憑證未連接到域驗證服務。如果我們設置共享網路資源並允許其他用戶連接到它們,可能會出現第一種情況的結果。
以上所描述的這些在Windows系統的攔截哈希的方法也同樣適用於Mac 系統。當我們嘗試連接需要輸入域名的內部網站時,就會看到此對話框警告安全證書無效。
現在,我們來說明一下,上面提到的超過半小時運行時發生的有趣副作用,當設備連接到網路中的[ny]系統時,從同一網路中的其他設備發送到網路印表機的任務會在印表機隊列中被擱置。當用戶嘗試在驗證對話窗口中輸入憑據時,隊列還沒有被清除。經過分析,這些憑據並未到達網路印表機,而是進入到Raspberry Pi的快閃記憶體。當嘗試從Mac系統通過SMB協議連接到遠程文件夾時,也會發現類似的行為。
Raspberry Pi Zero與Raspberry Pi 3
一旦我們看到Windows和Mac的NTLM系統受到微型電腦的攻擊,我們就要嘗試使用Linux。此外,我們決定攻擊Raspberry Pi本身,因為Raspbian操作系統是建立在Debian Weezy核心之上的。
現在我們要做個專門針對Raspberry Pi 3的實驗,順便說一下,連接到企業網路本身就是一項具有挑戰性的任務,但是可行,所以我們不會在這個試驗中重點關注這個。要注意的是,Raspbian操作系統拒絕為USB設備網路分配更高的優先順序,默認的選擇是內置乙太網。在這種情況下,Responder應用程序就會處於運行狀態,但由於數據包未經過設備,因此無法執行任何操作。當我們手動刪除內置的乙太網連接時,看到的與以前在Windows中所觀察到的相似。
在Chromebook上運行的桌面版Debian上也出現了類似的情況,系統不會自動將USB將太網適配器設置為默認設置。因此,如果我們將Raspberry Pi Zero連接到運行Debian的系統上,則攻擊測試將失敗。其實,我們不認為創建Raspberry Pi-in-the-middle攻擊可能會成功,因為這更難實現,更容易檢測。
實驗二:竊取cookie
方法
在第一個實驗中,就已經說到,當Raspberry Pi Zero通過USB連接到電腦時,可以從PC竊取cookies。其實,我們還發現了一個名為HackPi的應用程序,它是一個具有響應程序的PoisonTap(XSS JavaScript)的變體,我們在上面描述過。
本實驗中的微型計電腦配置與上一個實驗相似。 HackPi可以更好地建立自己的網路適配器,因為它具有增強的桌面操作系統發現機制,它能夠在Windows 7/8/10,Mac和-nix操作系統上自動安裝網路設備驅動程序。在第一個實驗中,如果遠程NDIS Internet共享設備沒有自動安裝(特別是當PC被鎖定時),Windows 7,8或Vista上的攻擊就可能會失敗。而且, HackPi從來不會在Mac系統下分配自己的默認網路適配器優先順序。
與第一個實驗不同的是,這個實驗會使用從本地存儲的網頁,來啟動惡意Java腳本竊取cookie。如果攻擊成功,PoisonTap的腳本將保存從站點攔截的cookie,其列表也會位於本地存儲。
實驗結果
如果計算機未鎖定並且用戶的瀏覽器還處於打開狀態,則Java腳本將啟動網路請求,將正在瀏覽的網頁重定向到惡意的本地網頁。然後瀏覽器從先前定義的列表中打開網站。
如果用戶在未關機的電腦上打開任何運行程序,則Raspberry Pi Zero會在短暫的超時後在地址行中啟動帶有URL http://go.microsoft.com的默認瀏覽器,然後如上所述的那樣進行攻擊。但前提是,默認瀏覽器在瀏覽器歷史記錄中有Cookie,否則攻擊者什麼信息都不會獲得。
在我們實驗的腳本中,從提供的列表中看到的網站有http://youtube.com,http://google.com,http://vk.com,http://facebook.com,http://twitter.com,http://yandex.ru,http://mail.ru和超過100個其他網址。以下就是被盜的cookies日誌:
我們就以使用http://pikabu.ru網站檢查被盜cookies的有效性為例,將信息粘貼到其他設備的乾淨瀏覽器欄位中,並能夠掌握用戶帳戶以及所有統計信息。在屬於鐵路公司售貨服務的另一個網站上,我們能夠檢索到用戶的令牌並在另一台計算機上接管用戶的帳戶,因為認證協議僅使用一個LtpaToken2進行會話識別。
在這種情況下,攻擊者可以得到有關受害人以前使用過的命令、護照號碼、姓名、出生日期、電子郵件和電話號碼的信息。
這種攻擊的一個特點是,愛好者已經學會了如何在當今企業環境中找到的所有系統上自動安裝網路設備驅動程序:Windows 7/8/10,Mac OS X,但是,在一個鎖定的系統中,該攻擊方法並不奏效。不過我們認為這只是一個時間問題,因為網路愛好者也會克服這些困難。
不過要說明的是,本文中的這些惡意測試網頁已被卡巴斯基實驗室給阻止了,並將其檢測命名為Trojan.JS.Poisontap.a。
總結
目前已經有了各種各樣的單板微型電腦,從廉價和通用的Raspberry Pi Zero到專門針對滲透測試的計算棒,它們在大小上已經與USB相當了。
從以上的實驗可以看出, Windows PC是最容易發生攻擊的系統,旨在通過USB連接的Raspberry Pi就可以攔截身份驗證名稱和密碼。即使用戶沒有本地或系統管理員許可權,只要可以檢索其他用戶(包括具有管理員許可權的用戶)的域憑據,該攻擊就會發生。它也適用於Mac 操作系統。
到目前為止,竊取Cookie的第二種攻擊類型僅在系統解鎖時才起作用。該方法會將流量重定向到惡意頁面,這很容易被安全解決方案檢測到並阻止。當然,被盜的cookies只適用於那些不採用嚴格的HTTP傳輸策略的網站。
防護建議
我們提供了一些建議,以避免被攻擊者的輕鬆攻擊。
對用戶來說:
1.如果你在公共場合,要離開電腦一會兒,請關閉電腦。
2.如果未關閉,重新進入電腦後,檢查是電腦埠是否被插入任何額外的USB設備。如果看到立即拔出,並將其配置信息刪除。
3.你被要求通過外部快閃記憶體驅動器,比如USB設備,分享過一些東西嗎?建議使用雲端傳輸或電子郵件發送文件。
4.如果有網站要對你的身份進行驗證,請立即關閉該網站。
5.定期更改密碼,無論是對PC上還是對經常登錄的網站。請記住,並不是所有的網站都會使用防護機制來防範Cookie數據被替換的,你可以使用專門的密碼管理軟體輕鬆管理密碼。
6.啟用雙因素身份驗證,例如,請求登錄確認或動態令牌。
當然,這一切的前提是,強烈建議你安裝並定期更新殺軟產品。
對管理員來說:
1.如果網路拓撲結構允許,我們建議僅使用Kerberos協議來驗證域用戶。不過,如果需要使用LLNMR和NTLM身份驗證來支持傳統系統的話,我們建議將網路分解成段,這樣即使一個網段受到威脅,攻擊者也無法訪問整個網路。
2.限制特權域用戶登錄遺留系統,特別是域管理員。
3.域用戶密碼應定期更改。
4.企業網路中的所有計算機都配置安全保護產品,並定期更新。
5.為防止未經授權的USB設備連接,請激活安全產品套件中提供的設備控制功能。
6.如果你擁有網路資源,我們建議你激活HSTS(HTTP嚴格傳輸安全性),以防止從HTTPS轉換為HTTP協議並從被盜cookie中欺騙憑據。
7.如果可能,禁用監聽模式並激活Wi-Fi路由器和交換機中的客戶端(AP)隔離設置,禁止其監聽其他工作站的流量。
8.激活DHCP Snooping設置,保護企業網路用戶免受假DHCP伺服器的DHCP請求的誘導。
最後對於所有的人來說,不管是通過在線還是物理方式,你並不確定你的登錄憑據是否已經被泄露。因此,我們強烈建議你在HaveIbeenPwned網站上檢查你的憑據,以確保安全性。
本文翻譯自:50 hashes per hour ,如若轉載,請註明來源於嘶吼: 每小時50哈希--看看一個內部員工是如何摧毀整個公司網路的? - 嘶吼 RoarTalk 更多內容請關注「嘶吼專業版」——Pro4hou
推薦閱讀:
※滲透攻防工具篇-後滲透階段的Meterpreter
※Pegasus | 一款360度無死角的間諜軟體
※最安全的通信軟體Signal真的安全嗎?
※聽說《加勒比海盜5:死無對證》被黑客盜了,是真的嗎?
※安全工程師們必看:加強網路環境的9條建議