信息竊取器概述:如何從瀏覽器竊取百萬數據
用戶數據是黑客最感興趣的之一,原因很簡單就是因為可以變現獲利。比如,竊取的數據可以用於轉賬到犯罪分子的賬號、預訂商品和服務,還可以在黑市售賣。2019年上半年,有超過94萬用戶被收集用戶數據的惡意軟體攻擊。而2018年同期,只有不到60萬用戶被攻擊。這種威脅稱作Stealer Trojans(信息竊取器木馬)或Password Stealing Ware (PSW,密碼竊取惡意軟體),是一類專門從受害者計算機中竊取密碼、文件和其他數據的惡意軟體。
信息竊取器木馬攻擊的用戶分布(2019年上半年)
在過去6個月,卡巴斯基研究人員在俄羅斯、德國、印度、巴西、美國和義大利檢測到這類惡意軟體的數量最多。
竊取了什麼?
這類信息竊取器一般會出現在惡意軟體買賣的論壇上。每個提供類似產品的都會對其產品打廣告,描述其功能。
信息竊取器出售公告
根據研究人員的分析,一般信息竊取器的功能包括:
·從瀏覽器收集以下信息:
-密碼
-自動填充數據
-支付卡信息
-Cookie
·複製文件:
-從特定目錄複製所有文件,如桌面
-特定後綴的文件,如txt,docx
-特定app的文件,比如加密貨幣錢包、即使通信session文件等
·轉發系統數據:
-操作系統版本
-用戶名
-IP地址
·竊取不同應用的賬號,如FTP客戶端、VPN、RDP等。
·截屏。
·從互聯網下載文件。
Azorult這樣的多功能信息竊取惡意軟體可以獲取受害者計算機的幾乎所有數據:
·全部系統信息,比如安裝的軟體、運行的進程、用戶或計算機名、系統版本。
·郵件信息,比如CPU、監視器、視頻卡等。
·幾乎所有知名瀏覽器中保存的密碼、支付卡信息、cookie、瀏覽歷史。
·郵件、FTP、即時通信客戶端的密碼。
·即時通信的文件。
·Steam遊戲客戶端文件。
·超過30種加密貨幣持續的文件。
·截屏。
·特定類型的文件,如%USERPROFILE%\Desktop\ *.txt,*.jpg,*.png,*.zip,*.rar,*.doc表示桌面上所有特定擴展的文件。
為什麼要收集桌面的文件呢?因為用戶常用的文件都保存在桌面上。而txt文件一般含有常用的密碼,工作文檔可能含有受害者公司的機密數據。
Trojan-PSW.Win32.Azorult攻擊用戶的地理分布 (2019年上半年)
這些特徵都促使Azorult成為了傳播最廣泛的信息竊取器木馬,研究人員發現Azorult占所有被Trojan-PSW類型惡意軟體攻擊用戶的超過25%。
在購買或創建了這類惡意軟體後,犯罪分子就會開始傳播。最常見的方式就是發送含有惡意附件的郵件。除此之外,信息竊取器還可以通過殭屍網路進行傳播。
如何從瀏覽器竊取密碼?
在竊取瀏覽器數據方面,幾乎所有的信息竊取器都使用同樣的方式。
Google Chrome和基於Chromium的瀏覽器
在基於Chromium開源代碼的瀏覽器中,保存的密碼都是受DPAPI (Data Protection API)保護的。瀏覽器自己的存儲就是這個目的,是通過SQLite資料庫實現的。只有創建這些密碼的OS用戶才可以從資料庫中提取密碼,而且只能在加密所有的電腦上提取。這是通過特定的加密實現保證的,其中加密過程中使用了計算機和系統用戶的信息。因此除了特定用戶是無法獲取密碼的。
對已經入侵了計算機的信息竊取木馬來說,這並不難,因為本身就是OS用戶許可權運行的,提取瀏覽器中保存的數據的過程如下:
·提取資料庫文件。基於Chromium的瀏覽器會以標準不可變的路徑來保存文件。為了避免出現訪問的問題,信息竊取器木馬可以將文件複製到另一個文件並終止所有瀏覽器進程。
·讀取加密數據。如上所述,瀏覽器使用標準工具就可以讀取SQLite資料庫中的數據。
·解密數據。解密的過程需要在原來的計算機中實現,這也不是問題,yin為解密過程就是通過調用函數CryptUnprotectData來直接在受害者計算機上實現的。
Stealer Trojan Arkei代碼示例 (解密從基於Chromium的瀏覽器中獲取的數據)
瀏覽器中保存的密碼、銀行卡信息、瀏覽歷史都被提取出來了,並會發送到犯罪分子的伺服器上。
Firefox和基於Firefox的瀏覽器
基於Firefox的瀏覽器的密碼加密過程有一點不同,但對信息竊取器來說是非常簡單的。
在Firefox瀏覽器中,加密過程使用了Network Security Services nss3.dll庫,這是來自Mozilla的用於開發安全app的庫。提取瀏覽器中保存的數據的過程如下:
·提取資料庫文件。基於Firefox的瀏覽器會生成隨機用戶名使用戶無法了解加密數據文件的位置。但攻擊者知道文件夾路徑,因此也可以用特定名來進行檢查和分類。而且如果用戶刪除瀏覽器後,該數據仍然可以保存,這也是許多信息竊取器利用的一個漏洞點。
·讀取加密數據。數據可以保存為Chromium (SQLite格式),也可能保存為含有加密數據域的JSON文件格式。
·數據解密。要解密數據,信息竊取器就要載入nss3.dll庫,然後調用不同的函數並獲取可讀格式的解密數據。一些信息竊取器有直接與瀏覽器文件交互的函數,這樣即使瀏覽器被卸載仍然可以進行操作。但如果數據保護函數使用了master password,沒有password進行解密是不可能的。但該功能默認情況下是被禁用的,而且啟用方式在設置菜單的很深層,很難找到。
信息竊取木馬Orion代碼段(解密基於Firefox的瀏覽器數據)
然後數據就會被轉發到犯罪分子處。
IE和Edge瀏覽器
IE 4.X到6.0版本中,保存的密碼和自動填充數據都保存在所謂的Protected Storage受保護存儲區域中。為了提取這些數據,信息竊取器需要載入pstorec.dll庫,並獲取開放格式的所有數據。
IE 7和8使用了一種不太一樣的方式:保存的位置位於Credential Store,加密過程還加了鹽salt。但salt值是不變的,所有信息竊取器可以調用相同的CryptUnprotectData函數來獲取所有保存的密碼。
IE 9和Edge使用了一種新的存儲方式——Vault。它在數據獲取方面是一樣的:信息竊取器載入vaultcli.dll,調用多個不同的函數,提取保存的數據。
即使數據存儲方法有一些變化也無法預防信息竊取器讀取數據。
其他
代碼重用
研究人員在分析信息竊取器代碼時發現一些代碼似曾相識。其中的原因可能是因為這些信息竊取器的開發者是相同的,完成一個項目後將其作為其他項目的基礎,比如Arkei和Nocturnal的背後就是同一個開發者。
Arkei和Nocturnal代碼比較
造成這種相似性的另一個原因是代碼借用。Arkei的源碼被其開發者在地下論壇出售,然後變成了另一個信息竊取器Vidar的基礎。這些木馬有很多的共同點,包括數據獲取的方式、接受命令的格式,以及發給C2伺服器的數據格式。
發往C2伺服器的數據格式:Arkei和Vidar
不需要太多專業知識
儘管有許多的信息竊取器,但用來竊取特定信息的木馬都有一些共同的特徵。比如,Trojan-PSW.MSIL.Cordis只從Discord的session中獲取信息。該木馬的源代碼就非常簡單,就是搜索一個文件然後發送到C2伺服器。
Cordis代碼樣本
這類木馬一般不會出售,但源碼任何人都可以編譯,因此是很常見的。
Trojan-PSW.MSIL.Cordis攻擊用戶的地理分布, 2019年上半年
使用不同的編程語言
雖然大多數信息竊取器木馬都是用C/C /C#等主流編程語言開發的,但也有一些用Golang這樣不常見的編程語言開發的。Trojan-PSW.Win32.Gox就是一個例子,它可以竊取Chromium瀏覽器中保存的密碼、支付卡信息、加密貨幣程序文件和Telegram文件。
Trojan-PSW.Win32.Gox攻擊用戶的地理分布, 2019年上半年
總結
用戶經常會將重要的數據保存到瀏覽器。比如,把密碼和銀行卡信息自動填充非常方便。但研究人員建議不要將重要的信息保存到瀏覽器,因為瀏覽器所用的保護方法對惡意軟體來說沒有任何作用。惡意軟體對瀏覽器數據的興趣和攻擊有增無減。如今的信息竊取木馬不斷更新、加入新的功能,甚至可以從生成一次性驗證碼的app竊取2FA數據。
鑒於此,研究人員建議使用一些特殊的軟體來存儲在線賬戶的密碼和銀行卡信息,不要下載和運行可疑文件,不要點擊可疑郵件中的鏈接等。


※打擊網路犯罪在行動:近期7起大獲全勝的網路犯罪取締活動
※DEF CON China 第三天議題&閉幕式回顧
TAG:嘶吼RoarTalk |