前言
Raccoon Stealer v2是一款在地下黑客論壇售賣的信息竊取器,通過惡意軟件即服務 (MaaS)模式運營,用戶購買訂閱后可輕松進行配置并進行分發傳播,一般通過偽裝的破解軟件下載站進行傳播。
樣本運行流程圖
樣本IOCs
hash
名稱: PA$$w0rds_1234__SetupMain7–A4.rar
大小: 6350190 字節 (6201 KiB)
MD5: 916062da2e31a30e6f1ec0edc33dd4e9
SHA1: b34300a38b0329ec9b3d303ddf670a3b6d154d6b
SHA256: 1ce1ef40bf1a6edc429a326be3bccb9385d0dd4ccfb00c07972f64d232066b8a
名稱: Setup.exe
大小: 761512960 字節 (726 MiB)
MD5: 7949b59a91d6c4b6bc005c7222d00829e
SHA1: 8aa525197f8ad4f0a2c5f0a549ed5ff9334d331b
名稱: Setup.exe(去除無用字節)
大小: 6538240 字節 (6385 KiB)
MD5: 657b3c0142ba7bea31c0618d38cb8a04
SHA1: 73ee1fe9a79c48460fb5fa9d10a09338b9e48669
SHA256: 7ff22cd1d3e1c8d7bf2628da60c905bd6bef4733b0d4e68e862e1598268d2481
名稱: 36141266339446703039.bin
大小: 2834432 字節 (2768 KiB)
MD5: 24967c5d930081488e15e735d3d40d0c
SHA1: 080e2d4f2065d326d8842e4ca9a02ed76e74f4d5
SHA256: 1324ad52820961a29ef6aea13e5bb21d1bbd2169045abc61c711424f196d11f2
名稱: RaccoonStealerV2
大小: 56832 字節 (55 KiB)
MD5: 0cfa58846e43dd67b6d9f29e97f6c53e
SHA1: 19d9fbfd9b23d4bd435746a524443f1a962d42fa
SHA256: 022432f770bf0e7c5260100fcde2ec7c49f68716751fd7d8b9e113bf06167e03
url
惡意下載站
hxxps://licenseprokeys[.]com/
hxxps://tradecracked[.]com/
hxxps://fancracked[.]com/
通信URL
http[:]//94[.]131[.]106[.]116/
hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/nss3[.]dll
hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/msvcp140[.]dll
hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/vcruntime140[.]dll
hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/mozglue[.]dll
hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/freebl3[.]dll
hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/softokn3[.]dll
hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/sqlite3[.]dll
hxxp://94[.]131[.]106[.]116/3f9bef70525fd0873fc9acf8b6babce9
hxxp://172[.]86[.]75[.]189//36141266339446703039[.]bin
惡意代碼分析
傳播途徑
某天閑逛的時候搜索了一些關鍵詞xxxx crack(搜索結果中基本都是用于傳播惡意軟件的網站):
隨手點進了第一個網站后:
下載鏈接點擊下載鏈接下載:
下載鏈接的跳轉過程一共跳轉了7次:
0->hxxps://href[.]li/?hxxps://wqervf56kl[.]click/?i=PeStudio-Pro-9-43-Crack---License-Key-Free-Download-2022&u=1663076111&t=161->hxxps://wqervf56kl[.]click/?i=PeStudio-Pro-9-43-Crack---License-Key-Free-Download-2022&u=1663076111&t=162->hxxps://href[.]li/?hxxps://nhgfr7yh[.]click/Mt1JWxKprFcGNv67jDX0TqmUlgEL9s5/16/PeStudio-Pro-9-43-Crack---License-Key-Free-Download-20223->hxxps://nhgfr7yh[.]click/Mt1JWxKprFcGNv67jDX0TqmUlgEL9s5/16/PeStudio-Pro-9-43-Crack---License-Key-Free-Download-20224->hxxps://iplogger[.]org/Wersty-TM2poy-PASSw0rds_1234__SetupMain7--A45->hxxps://www[.]mediafire[.]com/file/p99280jcivm6732/PA$$w0rds_1234__SetupMain7--A4.rar/file6->hxxps://download2338[.]mediafire[.]com/ixn681qdyafg/p99280jcivm6732/PA$$w0rds_1234__SetupMain7--A4.rar
其中查詢可知href[.]li為一款的網站重定向小工具:
跳轉到nhgfr7yh[.]click頁面給出了一個鏈接讓我們復制并下載:
我們查看iplogger[.]org發現是一個短鏈接生成網站,并且此鏈接已經被拉入黑名單,但是下載鏈接還是可以正常下載:
www[.]mediafire[.]com是一個文件存儲和共享應用,并且無需注冊就可以上傳文件并分享:
我們查看下載的壓縮包大小為6.05MB:
我們使用密碼1234解壓后,發現Setup.exe竟然足足有726MB大小,并且這個圖標和應用名和我下載的軟件也貨不對板。
目前我認為還沒有這么強大的壓縮算法吧,那就只有一個原因這個PE文件肯定附加了很多重復的無意義字節,我們使用010Editor打開PE文件查看,果然PE文件尾部使用了大量的0x30填充,此技術主要是增大PE文件大小防止AV或EDR上傳沙箱分析。
我們去除PE尾部的0x30后PE文件縮小為6.23 MB,此PE文件是使用Visual Studio 2019鏈接器版本14.29( 1929 (versions 16.10 16.11))編譯的32位PE文件,使用了VMProtect 3.6.0加殼。
代碼都被VM了,直接上傳樣本到沙箱分析:
流量分析
上傳沙箱分析后發現威脅情報標簽顯示此樣本來自于Raccoon Stealer家族,查看樣本產生的流量特征和公開的威脅情報對比可以確定此樣本應該是Raccoon Stealer v2。
首先第一個POST請求中使用的User-Agent為mozzzzzzzzzzz,發送的數據為machineId=90059c37-1320-41a4-b5'8d-2b75a9850d2f|admin&configId=0dcbeb99ec1adc5c2b2b94dc1e3fd2c4
C2返回的數據中返回了明文配置文件,libs_開頭的為要下載的dll,ews_開頭的為瀏覽器擴展數據竊取配置,wlts_開頭的為數字貨幣加密錢包數據竊取配置,xtntns_開頭的為密碼管理軟件數據竊取配置,grbr_Desktop為要竊取的文件路徑和文件類型,ldr_為下一階段的payload。
libs_nss3:hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/nss3.dlllibs_msvcp140:hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/msvcp140.dlllibs_vcruntime140:hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/vcruntime140.dlllibs_mozglue:hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/mozglue.dlllibs_freebl3:hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/freebl3.dlllibs_softokn3:hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/softokn3.dllews_meta_e:ejbalbakoplchlghecdalmeeeajnimhm;MetaMask;Local Extension Settingsews_tronl:ibnejdfjmmkpcnlpebklmnkoeoihofec;TronLink;Local Extension Settingslibs_sqlite3:hxxp://94[.]131[.]106[.]116/aN7jD0qO6kT5bK5bQ4eR8fE1xP7hL2vK/sqlite3.dllews_bsc:fhbohimaelbohpjbbldcngcnapndodjp;BinanceChain;Local Extension Settingsews_ronin:fnjhmkhhmkbjkkabndcnnogagogbneec;Ronin;Local Extension Settingswlts_exodus:Exodus;26;exodus;*;*partitio*,*cache*,*dictionar*wlts_atomic:Atomic;26;atomic;*;*cache*,*IndexedDB*wlts_jaxxl:JaxxLiberty;26;com.liberty.jaxx;*;*cache*wlts_binance:Binance;26;Binance;*app-store.*;-wlts_coinomi:Coinomi;28;CoinomiCoinomiwallets;*;-wlts_electrum:Electrum;26;Electrumwallets;*;-wlts_elecltc:Electrum-LTC;26;Electrum-LTCwallets;*;-wlts_elecbch:ElectronCash;26;ElectronCashwallets;*;-wlts_guarda:Guarda;26;Guarda;*;*cache*,*IndexedDB*wlts_green:BlockstreamGreen;28;BlockstreamGreen;*;cache,gdk,*logs*wlts_ledger:Ledger Live;26;Ledger Live;*;*cache*,*dictionar*,*sqlite*ews_ronin_e:kjmoohlgokccodicjjfebfomlbljgfhk;Ronin;Local Extension Settingsews_meta:nkbihfbeogaeaoehlefnkodbefgpgknn;MetaMask;Local Extension Settingssstmnfo_System Info.txt:System Information: |Installed applications:|wlts_daedalus:Daedalus;26;Daedalus Mainnet;*;log*,*cache,chain,dictionar*wlts_mymonero:MyMonero;26;MyMonero;*;*cache*wlts_xmr:Monero;5;Monerowallets;*.keys;-wlts_wasabi:Wasabi;26;WalletWasabiClient;*;*tor*,*log*ews_metax:mcohilncbfahbmgdjkbpemcciiolgcge;MetaX;Local Extension Settingsews_xdefi:hmeobnfnfcmdkdcmlblgagmfpfboieaf;XDEFI;IndexedDBews_waveskeeper:lpilbniiabackdjcionkobglmddfbcjo;WavesKeeper;Local Extension Settingsews_solflare:bhhhlbepdkbapadjdnnojkbgioiodbic;Solflare;Local Extension Settingsews_rabby:acmacodkjbdgmoleebolmdjonilkdbch;Rabby;Local Extension Settingsews_cyano:dkdedlpgdmmkkfjabffeganieamfklkm;CyanoWallet;Local Extension Settingsews_coinbase:hnfanknocfeofbddgcijnmhnfnkdnaad;Coinbase;IndexedDBews_auromina:cnmamaachppnkjgnildpdmkaakejnhae;AuroWallet;Local Extension Settingsews_khc:hcflpincpppdclinealmandijcmnkbgn;KHC;Local Extension Settingsews_tezbox:mnfifefkajgofkcjkemidiaecocnkjeh;TezBox;Local Extension Settingsews_coin98:aeachknmefphepccionboohckonoeemg;Coin98;Local Extension Settingsews_temple:ookjlbkiijinhpmnjffcofjonbfbgaoc;Temple;Local Extension Settingsews_sollet:fhmfendgdocmcbmfikdcogofphimnkno;Sollet;Local Extension Settingsews_clover:nhnkbkgjikgcigadomkphalanndcapjk;CloverWallet;Local Extension Settingsews_polymesh:jojhfeoedkpkglbfimdfabpdfjaoolaf;PolymeshWallet;Local Extension Settingsews_neoline:cphhlgmgameodnhkjdmkpanlelnlohao;NeoLine;Local Extension Settingsews_keplr:dmkamcknogkgcdfhhbddcghachkejeap;Keplr;Local Extension Settingsews_terra_e:ajkhoeiiokighlmdnlakpjfoobnjinie;TerraStation;Local Extension Settingsews_terra:aiifbnbfobpmeekipheeijimdpnlpgpp;TerraStation;Local Extension Settingsews_liquality:kpfopkelmapcoipemfendmdcghnegimn;Liquality;Local Extension Settingsews_saturn:nkddgncdjgjfcddamfgcmfnlhccnimig;SaturnWallet;Local Extension Settingsews_guild:nanjmdknhkinifnkgdcggcfnhdaammmj;GuildWallet;Local Extension Settingsews_phantom:bfnaelmomeimhlpmgjnjophhpkkoljpa;Phantom;Local Extension Settingsews_tronlink:ibnejdfjmmkpcnlpebklmnkoeoihofec;TronLink;Local Extension Settingsews_brave:odbfpeeihdkbihmopkbjmoonfanlbfcl;Brave;Local Extension Settingsews_meta_e:ejbalbakoplchlghecdalmeeeajnimhm;MetaMask;Local Extension Settingsews_ronin_e:kjmoohlgokccodicjjfebfomlbljgfhk;Ronin;Local Extension Settingsews_mewcx:nlbmnnijcnlegkjjpcfjclmcfggfefdm;MEW_CX;Sync Extension Settingsews_ton:cgeeodpfagjceefieflmdfphplkenlfk;TON;Local Extension Settingsews_goby:jnkelfanjkeadonecabehalmbgpfodjm;Goby;Local Extension Settingsews_ton_ex:nphplpgoakhhjchkkhmiggakijnkhfnd;TON;Local Extension Settingsews_Cosmostation:fpkhgmpbidmiogeglndfbkegfdlnajnf;Cosmostation;Local Extension Settingsews_BitKeep:jiidiaalihmmhddjgbnbgdfflelocpak;BitKeep;Local Extension Settingsews_stargazer:pgiaagfkgcbnmiiolekcfmljdagdhlcm;Stargazer;Local Extension Settingsews_clv:nhnkbkgjikgcigadomkphalanndcapjk;CloverWallet;Local Extension Settingsews_jaxxlibertyext:cjelfplplebdjjenllpjcblmjkfcffne;JaxxLibertyExtension;Local Extension Settingsews_enkrypt:kkpllkodjeloidieedojogacfhpaihoh;Enkrypt;Local Extension Settingsews_gamestop:pkkjjapmlcncipeecdmlhaipahfdphkd;GameStop Wallet;Local Extension Settingsews_xds:aholpfdialjgjfhomihkjbmgjidlcdno;Exodus Web3 Wallet;Local Extension Settingsxtntns_authenticatorcc:bhghoamapcdpbohphigoooaddinpkbai;Authenticator.cc;Sync Extension Settingsxtntns_keepassxc_browser:oboonakemofpalcgghocfoadofidjkkk;KeePassXC Browser;Local Extension Settingsxtntns_keepassTusk:fmhmiaejopepamlcjkncpgpdjichnecm;KeePass Tusk;Local Extension Settingsxtntns_bitwardenEx:nngceckbapebfimnlniiiahkandclblb;Bitwarden;Local Extension Settingsxtntns_microsoftAfL:fiedbfgcleddlbcmgdigjgdfcggjcion;Microsoft Autofill Local;Local Extension Settingsxtntns_microsoftAfS:fiedbfgcleddlbcmgdigjgdfcggjcion;Microsoft Autofill Sync;Sync Extension Settingsgrbr_Desktop:%USERPROFILE%Desktop|*.txt|*recycle*,*windows*|25|1|1|filesgrbr_Documets:%USERPROFILE%Documents|*.txt|*recycle*,*windows*|25|1|1|filesldr_1:hxxp://172[.]86[.]75[.]189/36141266339446703039[.]bin|%APPDATA%|exetoken:3f9bef70525fd0873fc9acf8b6babce9
從C2下載sqlite3.dll,流量中可以看到下載的PE文件:
從c2獲取的7個dll中,freebl3.dll,mozglue.dll,softokn3.dll,nss3.dll有Mozilla有效簽名,msvcp140.dll,vcruntime140.dll有Microsoft有效簽名,其中sqlite3.dll為MinGW編譯無數字簽名:
3個連續的POST請求使用的User-Agent為rqwrwqrqwrqw,向C2發送了大量明文數據,我們可以看到其中第一個POST請求發送收集到的系統數據System Info.txt,主要內容為本機的操作系統版本和基本硬件信息還有本機安裝的軟件。
第二個POST請求可以看到發送的是cookies.txt和passwords.txt,收集到的數據是chrome瀏覽器登陸的賬號密碼數據和cookies:
第三個POST請求發送的是passwords.txt,主要就是本機Firefox瀏覽器保存的登陸網站對應的賬號密碼:
我們查看最后一個GET請求發現36141266339446703039.bin為一個PE文件:
我們使用DIE工具查看發現此PE文件為使用Visual Studio 2019編譯的并使用ENIGMA5.x版本加殼的32位程序:
通過沙箱分析36141266339446703039.bin有創建計劃任務進行持久化的操作:
我們查看部分XMl文件內容,計劃任務每隔5分鐘會運行XML中的prevhost.exe,根據公開的威脅情報顯示此程序功能為剪貼板劫持:
查詢94[.]131[.]106[.]116的威脅情報發現有2個惡意樣本使用了此IP進行通信:
查詢172[.]86[.]75[.]189的威脅情報,發現了多個下載樣本也是加了Enigma殼:
代碼分析
由于樣本都是加了強殼對代碼進行VM,于是這里我尋找到了未加殼的樣本進行分析,可以看到編譯的連接器版本也是14.29,而且此樣本是使用純匯編編寫所以樣本大小只有55.5KB。
首先分析第一個函數,主要通過LoadLibraryW和GetProcAddress函數組合動態獲取函數地址:
獲取注冊表和網絡還有字符串加解密相關函數地址:
字符串使用了Base64編碼加RC4加密方式,RC4密鑰為edinayarossiya
我們使用CyberChef隨意解密一個字符串可以看到是一個格式化字符串:
字符串解密完成會將一部分字符串轉為寬字符:
接著又解密了加密字符串,此處RC4使用的密鑰為59c9737264c0b3209d9193b8ded6c127
使用CyberChef解密字符串,可以看到此字符串為C2的URL:
接著使用GetUserDefaultLocaleName函數獲取用戶默認語言環境:
StrStrIW函數對比當前默認語言環境是否為ru。
使用OpenMutexW打開互斥體8724643052
如果存在互斥體則退出進程,不存在則創建互斥體。
接著獲取進程的運行權限是否為S-1-5-18(SECURITY_LOCAL_SYSTEM_RID)
通過獲取注冊表SOFTWAREMicrosoftCryptography的MachineGuid作為被感染主機的唯一ID。
獲取MachineGuid:
接著獲取了本機用戶名:
收集完數據拼接字符串,拼接成的格式為:machineId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx|username&configId=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx其中的configId為第二次解密字符串使用的RC4密鑰
然后發送第一次POST請求,如C2存活會返回明文的配置文件,配置文件中包含了要竊取的指定數據:
解析配置信息的libs字段從C2下載dll:
發送get請求下載dll并使用WriteFile函數保存到本地:
收集基本系統信息并格式化發送POST請求到C2:
接下來的主要邏輯就是解析配置文件,根據配置文件竊取對應的數據并發送到C2:
我們查看Chromium瀏覽器竊取函數,首先遍歷硬盤查找User Data目錄,基于Chromium開發的瀏覽器默認的數據保存目錄一般都在User Data目錄下,比如說chrome瀏覽器的數據存儲在C:UsersusernameAppDataLocalGoogleChromeUser Data,如果存在User Data目錄則解密相關數據庫并使用sqlite3的sql語句查詢數據。
從Local State文件讀取encrypted_key字段用于解密登錄密碼,后續解密數據并使用sqlite3語句查詢數據:
Login Data是用于保存Chromium瀏覽器登錄賬號密碼信息的sqlite3數據庫,sqlite3查詢chrome瀏覽器登錄密碼:
Chromium瀏覽器的密碼加密方式,版本號80之前的可直接使用CryptUnprotectData函數解密,如果80之后的版本密碼會有v10開頭的標志,解密需要使用Local State文件的中的encrypted_key字段的Aes密鑰進行解密。
打開Network文件夾Cookies數據庫文件使用sqlite3 sql語句查詢Chromium瀏覽器cookies:
sqlite3 sql語句查詢Chromium瀏覽器autofill數據(自動填充賬號密碼):
打開Web Data數據庫文件并使用sqlite3 sql語句查詢Chromium器信用卡信息和付款憑證:
解析配置文件ews_字段竊取指定瀏覽器插件的數據,ews_meta_e:ejbalbakoplchlghecdalmeeeajnimhm;MetaMask;Local Extension Settings
遍歷硬盤竊取配置文件中指定瀏覽器插件的數據:
獲取需要用到的nss3.dll和sqlite3.dll導出函數地址:
針對mozilla firefox瀏覽器用于保存數據的Profiles文件夾進行數據竊取:
打開cookies.sqlite數據庫文件并使用sqlite3 sql語句查詢mozilla firefox瀏覽器cookies:
讀取logins.json文件并解密獲取賬號密碼:
打開formhistory.sqlite數據庫并使用sqlite3 sql語句查詢,此數據庫中記錄著通過 Firefox 搜索框搜索的歷史以及在網站填寫過的表單:
遍歷搜索查找wallet.dat文件:
解析配置文件中的grbr_字段,竊取對應路徑下的指定文件,配置文件的內容如下grbr_Desktop:%USERPROFILE%Desktop|*.txt|*recycle*,*windows*|25|1|1|files
解析配置文件tlgrm_字段,竊取telegram的指定文件數據:
解析配置文件ldr_字段,下載配置文件的payload到指定目錄下并運行配置信息如下所示ldr_1:hxxp://172[.]86[.]75[.]189/36141266339446703039[.]bin|%APPDATA%|exe
如果存在則從C2下載下一階段的payload并使用ShellExcuteW運行:
通過分析未加殼的樣本,可以推斷出這和現在活躍傳播的加殼樣本都為RaccoonStealer v2版本并且代碼沒有太多更改,加殼樣本的配置文件中多了xtntns_字段用于竊取密碼管理軟件的數據,后續的更新可能會增加更多數據的竊取功能并且有可能會增加勒索等功能。
總結
RaccoonStealer v2通過偽裝破解軟件下載站,針對搜索引擎的SEO關鍵詞優化達到廣泛傳播實現信息竊取,并且使用了VMProtect、Themida、ENIGMA等強殼進行代碼VM等保護,使用附加大量重復字節膨脹PE文件大小防止被上傳沙箱分析等等,盡量不要下載使用破解軟件請多支持官方正版軟件,不然碰到RaccoonStealer v2這種類型的惡意軟件得不償失。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。