概述
2021年以來,我國加大了整治虛擬貨幣的力度,陸續出臺了相關政策封殺虛擬貨幣交易平臺,後續又釋出了《關於整治虛擬貨幣“挖礦”活動》的通知,重點強調全面梳理排查虛擬貨幣“挖礦”專案。在國家對虛擬貨幣和“挖礦”等專案重拳出擊的背景下,挖礦木馬家族仍在發展壯大,老的挖礦家族依舊活躍,新的挖礦家族不斷湧現。
深信服威脅情報團隊基於雲端資料持續對活躍挖礦木馬家族進行追蹤,檢測到了多起挖礦木馬爆發事件,並從中分析總結出了一些挖礦木挖馬的發展趨勢,本文將根據我們追蹤監測到的資料,對挖礦木馬的發展趨
概述
2021年以來,我國加大了整治虛擬貨幣的力度,陸續出臺了相關政策封殺虛擬貨幣交易平臺,後續又釋出了《關於整治虛擬貨幣“挖礦”活動》的通知,重點強調全面梳理排查虛擬貨幣“挖礦”專案。在國家對虛擬貨幣和“挖礦”等專案重拳出擊的背景下,挖礦木馬家族仍在發展壯大,老的挖礦家族依舊活躍,新的挖礦家族不斷湧現。
深信服威脅情報團隊基於雲端資料持續對活躍挖礦木馬家族進行追蹤,檢測到了多起挖礦木馬爆發事件,並從中分析總結出了一些挖礦木挖馬的發展趨勢,本文將根據我們追蹤監測到的資料,對挖礦木馬的發展趨勢和檢測思路進行分析總結。
挖礦木馬趨勢
2021年挖礦木馬相較於往年呈現以下新趨勢:
Go語言成為趨勢
隨著近幾年Go語言的流行,越來越多挖礦木馬團伙開始使用Go語言開發惡意軟體。今年我們共監控到12個新出現的成規模挖礦木馬家族,其中就有5個是使用Go語言開發的。
Go語言受挖礦木馬團伙青睞的主要原因是挖礦木馬為了收益最大化,往往會跨平臺傳播,而Go語言的特性便是支援跨平臺編譯。這樣就允許惡意軟體開發人員只需維護一套程式碼,就能針對不同作業系統編譯出對應的惡意軟體,可以減少開發週期和維護成本;並且Go語言又如Python一樣,擁有豐富的第三方庫,降低了開發難度,提升了開發效率。因此使用Go語言開發惡意挖礦木馬已成為一種趨勢,近幾年使用Go語言開發的挖礦家族如下:
挖礦通訊方式的演變
直連礦池->礦池代理
挖礦木馬常見的挖礦方式為受害主機直連公共礦池貢獻算力,礦池平臺根據貢獻的算力,再將收益支付給挖礦木馬團伙。然而近幾年,這種方式也正在發生改變,越來越多的挖礦家族開始使用礦池代理的方式來進行挖礦。如Sysrv-hello、HolesWarm、MimuMiner等家族都已使用礦池代理的方式進行挖礦。
礦池代理本質是在礦工與礦池之間增添了一箇中轉環節。礦池代理從公共礦池獲取任務,分配給礦工進行計算,礦工再將計算完成的結果交由礦池代理轉發到公共礦池。
直連礦池和礦池代理方式對比流程圖:
明文通訊->加密通訊
直連礦池和礦池代理的方式進行挖礦,其網路流量中的特徵都十分明顯,很容易被安全裝置檢測出來。為了對抗安全裝置的檢測,越來越多的挖礦木馬團伙選擇對挖礦流量進行加密。如HolesWarm家族,便是使用加密流量來進行挖礦的。下圖為明文通訊和加密通訊的挖礦流量對比:
愈漸強大的傳播能力
傳播方式蠕蟲化
挖礦的傳播方式分為兩種:一種是病毒作者進行全網漏洞掃描,漏洞利用成功後投放惡意挖礦程式進行挖礦。另一種是惡意挖礦程式自身整合漏洞掃描和利用模組,投放出去的惡意挖礦程式以蠕蟲方式進行傳播。目前大多數挖礦木馬團伙都是以蠕蟲方式進行傳播的,不僅傳播速度遠遠強於單點漏洞掃描,並且還能在內網中廣泛傳播。
強大的漏洞整合能力
挖礦木馬團伙在利益的驅使下,往往會不斷整合更有效的1/N Day漏洞來感染更多主機資源,從而獲取更多的收益。如:HolesWarm家族,在其11月的版本更新中,新整合了19種漏洞利用手法,橫向攻擊模組更是達到了31個,幾乎涵蓋企業資訊系統的方方面面。一旦企業有可被利用的漏洞暴露時,防禦的木桶短板效應就會顯現,企業會被快速攻陷。部分活躍挖礦家族漏洞整合數量如下:
快速整合新漏洞
每當爆發影響範圍廣泛的漏洞後,全網受影響的裝置很難在短時間內得到有效的修復。一些“嗅覺”敏銳的挖礦團伙會立刻整合漏洞發起攻擊。例如近期Log4j2漏洞爆發事件中,H2Miner、Muhstik等挖礦家族在距Log4j2漏洞披露不到36小時,便已整合該漏洞併發起攻擊。這對企業的漏洞快速修復能力構成了嚴峻考驗,一旦企業沒有及時進行修復,挖礦木馬團伙便能輕鬆獲得主機的控制權,Log4j2漏洞披露及各惡意家族武器化的時間線如下:
對抗技術愈加成熟
駐留方式的對抗
挖礦木馬入侵成功後,為了能長久穩定的挖礦,必然會使用各種對抗手法來規避安全檢測和運維人員的清除。近些年逐漸衍生的駐留對抗手法如下:
挖礦程式隱藏
由於挖礦程式行為特徵明顯,多數挖礦木馬家族常會透過隱藏挖礦程式來逃避檢測。以HolesWarm家族為例,針對Windows透過Hook NativeAPI來實現簡單的程式隱藏;針對Linux則透過動態連結庫預載入的方式來隱藏挖礦程式。具體程式碼如圖:
核心態RootKit對抗
能力較強的挖礦木馬家族(如Mykings和TeamTNT等)會整合Rootkit,從核心層來進行對抗。以TeamTNT為例,透過載入核心模組diamorphine.ko,來實現程式、模組、檔案目錄的隱藏以及使用者許可權提升。diamorphine.ko Hook系統函式實現程式隱藏如圖:
系統命令劫持
針對Linux平臺,除了預載入動態連結庫和植入RootKit外,還可以透過替換系統命令的方式隱藏挖礦程式。以TeamTNT家族為例,該家族替換了ps、top、pstree系統命令,當使用這些命令進行排查時,挖礦程式ext4和橫向傳播程式scan就會被隱藏。具體程式碼如圖:
Bash自啟和隱藏
針對Linux平臺,除了常見的定時任務實現自啟動外,還可以修改~/.profile和~/.bashrc檔案來實現自啟動。~/.profile是在系統啟動時執行shell命令;~/.bashrc是使用者登陸時執行shell命令。TeamTNT家族透過修改~/.profile和~/.bashrc檔案來實現自啟動,如圖:
除了實現自啟動外,更精明的挖礦家族還會透過修改~/.bashrc檔案來逃避檢測,在~/.bashrc中新增結束挖礦程式的命令,這樣當運維人員登入伺服器進行排查時,挖礦程式便會結束,從而逃避檢測。
守護程式保護
部分挖礦木馬為了防止挖礦程式被輕易殺掉,通常會使用守護程式來監控挖礦程式的狀態,當挖礦程式被殺掉後,守護程式便會建立新的挖礦程式。以Sysrv-hello為例,sys.exe為守護程式,Kthreaddk.exe為挖礦程式,如圖:
反分析/檢測的對抗
對抗較強的挖礦木馬團伙還會對惡意軟體進行加殼和程式碼混淆處理,來對抗安全產品檢測和防止安全人員分析。如HolesWarm家族,其早期版本中使用的是普通壓縮殼,後續版本迭代逐步替換為變型殼和VMP等的強殼來進行對抗;Sysrv-hello、HolesWarm家族,在其後續版本中對程式碼進行了混淆處理來增加分析難度。下圖為Sysrv-hello前後版本程式碼混淆對比圖:
攻擊目標雲化
隨著企業數字轉型、業務雲化,雲上安全風險也隨之而來。近年來,我們注意到越來越多的挖礦木馬家族盯上了雲主機,在其攻擊活動中會新增專門針對雲主機的相關模組,如移除安騎士、雲鏡等雲安全防護軟體以及竊取雲主機登陸憑證(如Access key和Secret key)等。其背後主要原因除了越來越多的業務上雲,還有就是雲主機相較於個人終端往往擁有更多的計算資源。具體例項如今年AbcBot家族針對國內雲服務廠商發起攻擊;TeamTNT和Muhstik家族今年陸續針對KUBERNETES叢集發起攻擊;新挖礦家族HolesWarm竊取雲主機登陸憑證(Access key和Secret key)等。
在IBM的《2021 IBM Security X-Force Cloud Threat Landscape Report》報告中,也指出目前惡意挖礦木馬已經成為雲主機惡意軟體中最突出的問題,報告中針對雲環境的惡意軟體型別佔比情況如圖:
檢測手段與防護建議
網路安全是一個持續攻防對抗的過程,挖礦木馬的對抗技術手段也在不斷在演變,由簡至繁,由弱變強。相應的針對挖礦木馬的檢測與防護手段也在不斷升級。
防護手段如下圖所示:
總結
不同時代黑灰產團伙總有不同的盈利方式,當下較好的選擇無疑是挖礦,其分險小、技術門檻相對較低。因此在利益的驅使下,未來幾年挖礦木馬的熱度仍將持續下去。不斷有新的挖礦木馬家族出現,整合新的攻擊手法以及更加成熟的對抗手段。各安全廠商也應持續追蹤惡意挖礦木馬,不斷提升自身安全產品的能力,積極響應國家號召,幫助客戶防護和清除惡意挖礦木馬。
勢和檢測思路進行分析總結。