標籤:

WaterMiner:一款全新的挖礦惡意軟體分析

終端安全廠商Minerva實驗室近日發現了一個惡意軟體,它可以在挖掘加密貨幣時完全逃避殺毒軟體的檢測。

本文不但對新發現的惡意軟體的挖掘過程進行了剖析,而且還解釋了它的逃避技術和傳播方式。此外,我還對該惡意軟體的幕後操作者進行了分析。

瘋狂的挖礦潮

加密貨幣的未來可以說是一片大好,以比特幣為例,全球最大旅遊網站Expedia早已接受了比特幣支付。

但比特幣並不是唯一的加密貨幣,目前已有10多種不同形式的加密貨幣,其市值已超過10億美元,其中包括Ethereum,Litecoin,ZCash和Monero。雖然都是數字形式,但其實背後的計算方式和數學原理卻各有不同。

最初的時候,我們用電腦CPU就可以挖到比特幣,比特幣的創始人中本聰就是用他的電腦CPU挖出了世界上第一個創世區塊。然而,CPU挖礦的時代早已過去,現在的比特幣挖礦是ASIC挖礦和大規模集群挖礦的時代。

回顧挖礦歷史,比特幣挖礦總共經歷了五個階段:CPU挖礦→GPU挖礦→FPGA挖礦→ASIC挖礦→大規模集群挖礦 。

挖礦晶元更新換代的同時,帶來的是挖礦速度的變化。挖礦速度,專業的說法叫算力,就是計算機每秒產生哈希碰撞的能力。也就是說,我們手裡的礦機每秒能做多少次哈希碰撞,就是算力。算力就是挖比特幣的能力,算力越高,挖得比特幣越多,回報越高。

所以這也就是為什麼最近頻繁出現各種盜用用戶CPU的惡意程序和攻擊事件,因為以一種大規模的分布方式使用他人設備,對黑客們來說有著巨大的吸引力。

今年5月,ProofPoint公司的安全專家們發現,相當一部分設備之所以未受WannaCry影響,是因為其已經被Adylkuzz(惡意挖礦軟體)成功感染。

Proofpoint發現了Adylkuzz Monero礦業惡意軟體,它們與WannaCry分享了與WannaCry相同的漏洞。還有最近@PaulWebSec觀察到的CBS Showtime,The Pirate Bay等許多網站都被悄悄注入了挖礦代碼。

最近,Minerva實驗室的研究者就發現了一個專門針對門羅幣挖掘的惡意軟體,且專門針對俄語用戶,專家將其命名為WaterMiner。

什麼是WaterMiner?

WaterMiner是一個簡單而有效的門羅幣挖掘惡意軟體,它被設計成能隱藏端點監測(endpoint monitoring)的模式。

有些熱愛遊戲的程序編寫高手,會嘗試進行修改遊戲中的部分資料設定,這就需要通過MOD來實現,而WaterMiner就是通過此途徑來傳播的。WaterMiner最先在俄語論壇上開始出現,例如,一個號稱可以對《俠盜獵車手5》遊戲進行MOD修改的「Arbuz」程序其實就是該挖礦程序,這也就是為什麼專家把其命名為「WaterMiner」的原因。

接著在不同的論壇上陸續出現了具有不同修改功能的下載鏈接,甚至在VirusTotal上還出現了專門針對修改功能進行無害掃描的鏈接,以證明其是無害程序。

發布修改功能的一個帖子

由不同會員發布的相同內容的帖子

攻擊者會將該挖礦程序捆綁在遊戲修改程序上,在用戶下載它時會自動完成WaterMiner的下載,WaterMiner的壓縮文件會被託管在Yandex.Disk上,Yandex.Disk相當於是俄羅斯的Google。壓縮文件提供了所宣稱的修改功能,然而,在數十個文件中,它包含一個名為「pawncc.exe」的文件,如下圖所示。一旦下載開始執行, 「pawncc.exe」也就開始了活動。

由上圖可以看出,pawncc.exe一旦在受害者的系統上執行,則會啟動一連串的事件,最終導致WaterMiner的運行。

pawncc.exe進程會首先檢查該設備是否安裝過WaterMiner。如果檢測到WaterMiner不存在,它會創建一個感染標記。感染標記會創建一個註冊表「HKLM Software IntelPlatform」,並將其命名為「Ld566xsMp01a」,設置為「Nothing」:

Cuckoo沙箱所檢測到的活動軌跡,顯示感染標記的初始狀態

接下來,pawncc.exe將WaterMiner從Google雲端硬碟鏈接下載到臨時文件夾,並將感染標記的值設置為「loaded」,這樣WaterMiner將在名為「Intel(R)Security Assistent.exe」的新進程中執行:

如果感染標記的值已經設置為「loaded」,WaterMiner將不會進入下一個執行階段。

你可以在下圖中看到感染標記的測試過程,如果感染標記已經存在並設置為「loaded」,則下方的代碼塊將包含負責下載和執行WaterMiner的函數。

如果發現感染標記,則跳過第二個代碼塊

在檢查下載程序的同時,Minerva的專家又發現了一些獨特的攻擊指標,該指標可以跟蹤Pastebin上的較早版本的源代碼。由下圖可以看出,開發者最早對修改功能里的挖掘服務進行的評論,該評論已經明確表明要把挖掘功能捆綁在遊戲修改程序上。

把上圖中的俄語評論翻譯過來就是:

1.將11個挖礦文件載入到臨時文件夾2.添加持久性機制3.隱藏文件和持久性機制4.僅下載一次挖礦文件

甚至在TODO部分的一些評論,也說明要對挖礦功能進行改進:

1.創建挖礦文件的備份2.持久化使用任務調度程序3隱藏挖礦服務

pawncc.exe會將挖礦軟體下載到受害者的系統中,並將其保存在「%TEMP% Intel(R)Security Assistent.exe」中,這是一個64位可執行文件。

通過以上評論可以得出這個結論,該挖礦具有持久性攻擊特點,並使用註冊表隨時進行重新啟動,該註冊表隱藏在一個偽裝成「Oracle Corporation」應用程序的RunOnce密鑰下。

接下來,它將開始挖礦,並將在TCP埠45560上與xmr.pool.minergate.com通信。該主機名屬於一個挖礦池。礦池把小礦工的算力集中起來以便可以合作挖礦。如果挖礦是一項競技運動,每個礦工都在競逐挖出最新區塊,那麼礦池就是一個把礦工聯合起來的球隊。目前,有幾十個門羅幣礦池可供公眾使用。

進過檢查該挖礦軟體後,Minerva的專家觀察到它是一個名為XMRIG的常見開源挖礦的修改版本,右下圖可以看出左側的代碼是從右側提取的字元串。

XMRIG本身並不是惡意的,但如果在用戶沒有授權的情況下將其安裝在系統上,就會產生非法的用途。

此外,Minerva還發現了dropper木馬的痕迹,它負責在Nice Hash買賣算力,Nice Hash是世界上最大的加密貨幣挖礦算力市場。不過,挖礦軟體最終還是使用了XMRig,專家們猜測這可能是因為Nice Hash需要大約幾十個不同的文件才能在受害者的系統上正常運行。

WaterMiner是如何隱藏自己並逃避檢測的

採礦時,WaterMiner必定會佔用受害者的CPU進行大規模的計算,不過這會讓用戶的運行減慢,機箱隆隆作響,很容易被人發現異常。這樣用戶很可能會打開Windows任務管理器或類似的應用程序來檢查減慢的原因,從而暴露挖礦進程。所以為了避免被檢測到,WaterMiner在挖礦時,如果出現以下主題窗口,則攻擊者會選擇通過調整原始XMRig來逃避檢測:

1.英語和俄語的Windows任務管理器2.任務管理器3.AnVir(俄羅斯的任務管理員)4. Process Hacker(一款功能豐富的系統進程管理工具)

以下是一段捕獲的調整後的XMRig代碼:

以上過程會讓WaterMiner感受到威脅時及時停止挖礦以逃避檢測,如果WaterMiner在挖礦時檢測到上述任何一個應用程序,則挖礦作業將停止,這樣受害者就不太可能檢測到惡意程序的存在。

在早期的挖礦活動中傳播的WaterMiner的變體還包括了其它的逃避方式,比如,它試圖通過檢查運行的進程列表來檢測監控應用程序,假如發現下圖中所顯示的進程,則立即終止自身的活動。

由上圖可以看出,如果找到任務管理器或AnVir,則會調用taskkill來終止惡意進程。

WaterMiner的幕後Boss

根據一些論壇的帖子和Minerva跟蹤監控的源代碼,WaterMiner活動的幕後操縱者似乎化名為「Martin Opc0d3r」,而且「Martin Opc0d3r」還參與了開發其他形式的可疑或惡意軟體,比如自動瞄準(auto aim)的木馬和電腦遊戲的修改程序。然而「Martin Opc0d3r」似乎在最近才意識到可以通過他開發的電腦遊戲修改程序直接獲利。

Minerva將URL硬編碼在WaterMiner的一個樣本中,hxxp://cw36634[.]tmweb[.]ru/getfile[.]php?file=12,可以看出同一個開發者至少有12個樣本,而且都是從幾乎相同的url下載的。

Minerva找到了另外一個使用不同域的樣本,其URL也遵循類似的模式:

目前有一些有效載荷已經失效,專家們猜測這可能是由主機服務提供商或攻擊者自己刪除的。然而,通過對能用的有效載荷所進行的檢測來看,專家們發現了各種版本的且經過改進的XMRig和Nice Hash,它們與WaterMiner活動的相關代碼片段非常相似。另外0pc0d3r在Pastebin上公開提供的片段讓專家們相信,上述鏈接不再提供具備有效載荷的木馬。

其中一個意見提到一個木馬,可能在運行時從不同的文件中提取

其他證據表明最終用戶檢測到較早的0pc0d3r的特洛伊木馬模式。在線程Minerva位於另一個俄羅斯論壇上,hxxps://video[.]fishyoutube[.]com/watch?v=lU0xJSuj-ZM,我們觀察到出版了一個不同的模式。它的用戶發表了評論,用「竊取者」,「木馬」這個詞來標記它,並稱為0pc0d3r「亂倫的結果」:

上圖評論里提到一個木馬,可能是在運行時從一個不同的文件中提取的。其他證據表明,有用戶還是檢測到了0pc0d3r較早開發的具有遊戲修改功能的木馬程序。在另一個俄羅斯的論壇上,專家們發現了這個鏈接:hxxps://video[.]fishyoutube[.]com/watch?v=lU0xJSuj-ZM,在此連接上他們觀察到了一個具有不同遊戲修改功能的程序發布,可以看出在下面的評論中,用戶是用「竊取者」,「木馬」等負面辭彙來標記它。

從0pc0d3r的糟糕運作過程來看,顯然他不是一個很有經驗的網路犯罪分子。通過跟蹤與0pc0d3r相關的活動,我們發現了其它可能的幕後人。在俄羅斯社交網路VK中,0pc0d3r開發的程序是由不同的人分別提供的, 比如下圖中的Anton。

由上圖可以看出,當一個用戶指責 Anton盜竊0pc0d3r的成果時,Anton毫不掩飾地承認了自己的幕後人身份。

專家們在結合了其它收集到的信息後,認為Anton可能就是所謂的0Pc0d3r,即WaterMiner的幕後開發者。

總結

隨著加密貨幣的市場快速擴大,它一定會是一個讓黑客垂涎三尺的地方,這也是為什麼不斷有更高技術特性的挖礦程序出現的原因,相信未來還有更多新的工具出現,怎麼預防這種情況呢?除了將挖礦這種行為正規化意外,還有就是要加強殺毒軟體的監測功能。

IoC

IP

93[.]188[.]160[.]90

92[.]53[.]96[.]133

Hashes (SHA-256)

1852bf95b91bc50fb10cd0388595d88ce524dca9607aa3621e7b2587f326ec9d (original mod)

b23ce6a8af6cbf7dae517f6736aa69c451347f6b5e7e66d5a1339a4d74e10e66 (WaterMiner downloader)

715c3a8f7d5cd921b321a4fa180862315846f408b903d9d2888ae95912dbb9ca (payload)

db4f825732f27f1163367226c7d565714455f3f51c1cdbd858ed4a0b2335515b (older payload)

f5f762a56578a939623da00d8a7bd857c10432b6623d335da20731f9a1b131ba (older payload)

1347fbbb5f0c41a27dd06d4d02588e72cd1c8ba6dd609ae15d042895ed1211e9 (older payload)

83cfa3f13e6e851c670e491ea29feafa98cb9554fb0458b4897b20b5b0598be2 (older payload)

進程名稱

Intel(R) Security Assistent.exe

URLs

下載鏈接:

hxxps://goo[.]gl/MWTs3Y

hxxps://drive[.]google.com/uc?

有效載荷的傳播地址:

hxxp://cw36634[.]tmweb[.]ru

hxxp://0psofter[.]esy[.]es

本文翻譯自:minerva-labs.com/post/w ,如若轉載,請註明原文地址: 4hou.com/web/8118.html 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

域信任機制的攻擊技術指南Part.2
曾入侵CIA和FBI的黑客組織「Crackas With Attitude」成員獲刑5年
SecWiki周刊(第162期)
關於職業安全滲透工作者的學習方向和出路的提問?

TAG:信息安全 |