深入分析新型挖礦惡意軟體--WebCobra
一、前言
MCAfee實驗室的研究人員近期發現了一種來自俄羅斯,名為WebCobra的新型惡意軟體。它利用感染者的計算機進行挖礦獲利。
挖礦惡意軟體一般來講比較難被檢測到。一旦計算機被感染,惡意軟體就會在後臺默默執行,唯一的表象就是受感染者計算機效能會有所下降。且效能下降的程度會隨著惡意軟體佔用計算資源的增多而增加,這也使得受感染者十分厭惡自己的計算機執行這種挖礦軟體。此外,最近的一份統計報告顯示開採單個比特幣所需的能源成本從531美元到26170美元不等。
由於加密貨幣經濟價值的不斷攀升,許多網路犯罪分子紛紛選擇在受害者不知情的情況下,利用惡意軟體竊取他們的計算資源來挖掘加密貨幣以此獲利。
下圖展示了挖礦惡意軟體的流行程度隨門羅幣價格變化的具體情況:
圖1:門羅幣價格在2018年初達到頂峰,挖礦惡意軟體的總樣本數還在繼續增長。資料來源: ofollow,noindex" target="_blank">https://coinmarketcap.com/currencies/monero/ .
McAfee實驗室在此前的一篇報告中分析過一種感染檔案的挖礦惡意軟體—CoinMiner。同時在McAfee的協助下,網路威脅聯盟組織釋出了一篇關於非法挖礦的威脅報告“The Illicit Cryptocurrency Mining Threat.”最近,我們分析了一款來自俄羅斯的軟體WebCobra,發現它會在使用者的計算機上釋放並安裝挖礦程式Cryptonight或是Claymore’s Zcash。具體是哪一種挖礦程式取決於其所在計算機的架構。
我們認為這種惡意軟體威脅是通過流氓軟體PUP安裝器進行傳播的。我們在全球範圍內的很多地方都看到了它的身影,巴西,南非和美國的感染數量最多。
圖2:McAfee實驗室在9月9日至13日統計的WebCobra感染熱圖分佈。
我們今天要分析的這種挖礦惡意軟體與以往出現的有所不同。因為它會根據其感染的計算機的架構和具體配置而釋放不同的挖礦程式。我們將會在後文種詳細討論此細節。
二、惡意軟體行為分析
此次分析的挖礦惡意程式其主要的dropper是一個Microsoft安裝程式,用於檢查執行環境。如果在x86系統上,它將Cryptonightminer程式碼注入正在執行的程序並啟動程序監視器。如果在x64系統上,它會檢查GPU配置,並從伺服器端下載執行另一種挖礦程式—Claymore’s Zcash miner。
圖3:成功啟動後,惡意軟體會使用以下命令釋放並解壓一有密碼保護的Cabinet歸檔檔案:
圖4:解壓檔案命令。
CAB檔案包含以下倆個檔案:
- LOC:用於解密data.bin的DLL檔案
- bin:包含加密的payload
CAB檔案使用以下指令碼來執行ERDNT.LOC:
圖5:載入DLL檔案ERDNT.LOC的指令碼
ERDNT.LOC解密data.bin檔案,並通過以下執行流傳遞給它:
[PlainText_Byte] = (([EncryptedData_Byte] + 0x2E) ^ 0x2E) + 0x2E
圖6:解密過程
惡意程式通過檢查執行環境以啟動相應的挖礦程式的過程,如下圖所示:
圖7:執行哪一種挖礦程式取決於系統架構
解密並執行data.bin後,它會嘗試一些反除錯,反虛擬環境以及反沙箱技術的執行,並檢查系統上執行的其他安全產品。這些措施使得惡意軟體的存活時間更加長久。
大多數安全產品都會hook一些API來監控惡意軟體的行為。為了避免被這種技術發現,WebCobra將ntdll.dll和user32.dll作為資料檔案載入到記憶體中,並覆蓋這些函式的前8個位元組,使得這些API函式無法通過常規手段被hook。
三、unhooked ntdll.dll APIs列表
- LdrLoadDll
- ZwWriteVirtualMemory
- ZwResumeThread
- ZwQueryInformationProcess
- ZwOpenSemaphore
- ZwOpenMutant
- ZwOpenEvent
- ZwMapViewOfSection
- ZwCreateUserProcess
- ZwCreateSemaphore
- ZwCreateMutant
- ZwCreateEvent
- RtlQueryEnvironmentVariable
- RtlDecom
- pressBuffer
四、unhooked user32.dll APIs列表
- SetWindowsHookExW
- SetWindowsHookExA
五、感染x86系統
惡意軟體將惡意程式碼注入svchost.exe,並無限迴圈地檢查所有開啟的視窗,並將每個視窗的標題欄文字與以下這些字串進行比較。這是WebCobra的另一項檢查,以確定它是否在專為惡意軟體分析而設計的隔離環境中執行。
- adw
- emsi
- avz
- farbar
- glax
- delfix
- rogue
- exe
- asw_av_popup_wndclass
- snxhk_border_mywnd
- AvastCefWindow
- AlertWindow
- UnHackMe
- eset
- hacker
- AnVir
- Rogue
- uVS
- malware
如果前述這些字串中任何一個顯示在Windows標題欄文字中,則開啟的視窗將被終止。
圖8:如果視窗標題欄文字包含特定字串,則終止程序。
程序監視器執行後,它將miner(釋放的挖礦程式)的配置檔案指定為引數建立一個svchost.exe例項,並注入Cryptonight miner程式碼。
圖9:建立svchost.exe例項並執行Cryptonight miner。
最後,惡意軟體使得Cryptonight miner程序在後臺悄悄執行,並消耗掉幾乎所有的CPU資源。
圖10:感染Cryptonight miner的x86計算機。
六、感染x64系統
如果發現目標主機上的Wireshark正在執行,惡意軟體會終止其感染過程。
圖11:檢查是否有wireshark執行
惡意軟體會檢查GPU的型號和模式。僅在安裝以下GPU時才會執行:
- Radeon
- Nvidia
- Asus
圖12:檢查GPU模式
如果以上檢查都已經通過,則惡意軟體會建立一個隱藏資料夾,並在其中下載、執行一來自遠端伺服器的Claymore’s Zcash miner(另一種挖礦程式)。
C:\Users\AppData\Local\WIX Toolset 11.2
圖13:下載Claymore’s Zcash miner的網路請求資料包。
圖14:Claymore’s miner.
圖15:根據其配置檔案執行挖礦程式。
最後,惡意軟體在%temp% – xxxxx.cMD下釋放一批處理檔案來從[WindowsFolder] {DE03ECBA-2A77-438C-8243-0AF592BDBB20} . 中刪除主要dropper。
圖16:刪除dropper的batch檔案
挖礦程式的配置檔案如下:
圖17:Cryptonight’s miner配置檔案
配置檔案包括:
- 礦池:5.149.254.170
- 使用者名稱:49YfyE1xWHG1vywX2xTV8XZzbzB1E2QHEF9GtzPhSPRdK5TEkxXGRxVdAq8LwbA2Pz7jNQ9gYBxeFPHcqiiqaGJM2QyW64C
- 密碼:soft-net
圖18:Claymore’s Zcash miner配置檔案。
此配置檔案包括:
- 礦池:eu.zec.slushpool.com
- 使用者名稱:pavelcom.nln
- 密碼:zzz
七、總結
由於網路犯罪分子通過這種相對容易的途徑可以獲得較高的經濟效益,我們認為挖礦惡意軟體將會繼續發展。在其他人的計算機上挖礦相比與勒索軟體來說投資更少,承擔的風險也更小。此外,挖礦惡意軟體不依賴於受害者同意匯款以解除計算機勒索的比例大小,直到受害者發現自己電腦上執行挖礦程式之前,惡意軟體方都一直有很大的收穫。
八、MITRE ATT&CK技術
- 通過C&C隧道傳遞命令
- 命令列介面
- Hooking
- 來自本地系統的資料
- 檔案、目錄特徵
- 查詢登錄檔
- 系統資訊發現
- 特定程序
- 系統時間
- 程序注入
- 資料加密
- 資料混淆
- 多層加密
- 檔案刪除
九、IOC/">IOC
IP 地址
149.249.13:2224 149.254.170:2223 31.92.212
域名
fee.xmrig.com fee.xmrig.com ru zec.slushpool.com
McAfee 檢測
CoinMiner Version 2 in DAT Version 8986; Version 3 in DAT Version 3437
l Version 2 in DAT Version 9001; Version 3 in DAT Version 3452
RDN/Generic PUP.x Version 2 in DAT Version 8996; Version 3 in DAT Version 3447
Trojan-FQBZ, Trojan-FQCB, Trojan-FQCR Versions 2 in DAT Version 9011; Versions 3 in DAT Version 3462
Hashes (SHA-256)
5E14478931E31CF804E08A09E8DFFD091DB9ABD684926792DBEBEA9B827C9F37 2ED8448A833D5BBE72E667A4CB311A88F94143AA77C55FBDBD36EE235E2D9423 F4ED5C03766905F8206AA3130C0CDEDEC24B36AF47C2CE212036D6F904569350 1BDFF1F068EB619803ECD65C4ACB2C742718B0EE2F462DF795208EA913F3353B D4003E6978BCFEF44FDA3CB13D618EC89BF93DEBB75C0440C3AC4C1ED2472742 06AD9DDC92869E989C1DF8E991B1BD18FB47BCEB8ECC9806756493BA3A1A17D6 615BFE5A8AE7E0862A03D183E661C40A1D3D447EDDABF164FC5E6D4D183796E0 F31285AE705FF60007BF48AEFBC7AC75A3EA507C2E76B01BA5F478076FA5D1B3 AA0DBF77D5AA985EEA52DDDA522544CA0169DCA4AB8FB5141ED2BDD2A5EC16CE