Linux挖礦木馬的技術演進探討

深信服千里目發表於2021-07-28

近年來,勒索病毒憑藉極強的破壞性和高額的贖金“風靡一時”,令人聞風喪膽,而另一種數字化非法斂財工具——挖礦木馬,卻常常容易被人們忽略。


“挖礦”實際上是指透過計算機運算獲取數字貨幣的一個過程,理論上來說,利用個人資源進行挖礦並不是違法的,但由於運算過程需要消耗大量的計算機資源,長時間的高負荷執行甚至會造成計算機硬體的損壞,一些網路犯罪分子為了縮減成本,開始利用木馬程式非法侵入他人電腦,植入挖礦程式進行挖礦,構成了我們平時所說的挖礦木馬。

 

早期的挖礦木馬更多的採用了捆綁的方式進行傳播,多透過下載站、網盤、網咖論壇等方式傳播捆綁了挖礦木馬的外掛程式、加速器、影音播放器等,傳播具有一定的廣泛性,但由於代理渠道容易被追溯,黑產團伙也面臨著較大的風險。

 

隨即,黑產團伙開始挖掘自動化的傳播技術,首當其衝的便是賬號爆破。不論是SMB爆破,還是RDP爆破、MSSQL爆破、亦或是SSH爆破,都成為挖礦木馬傳播的“基本操作”。 隨著攻防手法的不斷變化,黑產團伙開始在挖礦木馬上組合多種傳播模組,除暴力破解外,還大量利用了影響廣泛的0day漏洞,如Windows下的“永恆之藍”漏洞,被“驅動人生”挖礦木馬、PowerGhost、WannaMine等家族廣泛使用。

 

比起Windows環境,Linux下的安全問題似乎更少受到普通使用者的關注,但這並沒有減少攻擊者對Linux系統興趣,針對Linux系統的挖礦木馬在對抗中持續進行技術更替。

傳播方式的演進

賬號爆破

賬號爆破作為最低成本的攻擊方式,同樣也是Linux挖礦木馬最常用的傳播手法,例如早期版本的StartMiner就使用了SSH暴力破解進行傳播,其次,Redis賬號爆破也常常被挖礦木馬利用:

Linux挖礦木馬的技術演進探討

(StartMiner挖礦木馬所使用的字典擷取)

 

SSH免密登入

部門挖礦木馬在感染後,會在authorized_key中寫入惡意程式內建的SSH公鑰,相當於留下一個小後門,以實現下次SSH免密登入,便於重複感染:

Linux挖礦木馬的技術演進探討

漏洞利用

隨著技術的發展,Linux下大量的元件漏洞和應用漏洞漸漸成為挖礦木馬的捷徑,例如DDG挖礦木馬,除SSH暴力破解之外,還會透過Redis未授權訪問漏洞、Nexus Repository Manager 3 RCE漏洞(CVE-2019-7238)、Supervisord RCE漏洞(CVE-2017-11610)等多個漏洞進行橫向傳播:

Linux挖礦木馬的技術演進探討

以下列舉出了常見易被挖礦木馬利用的相關漏洞:

漏洞名稱

漏洞編號

Redis未授權訪問漏洞

-

Nexus Repository Manager 3 RCE漏洞

CVE-2019-7238

Supervisord RCE漏洞

CVE-2017-11610

(髒牛)Linux本地提權漏洞

CVE-2016-5195

Apache Dubbo反序列化漏洞

CVE-2019-17564

Apache Dubbo Hessian2 協議反序列化漏洞

CVE-2021-25641

Apache Dubbo Nashorn 指令碼遠端程式碼執行漏洞

CVE-2021-30181

Structs2漏洞合集

S2-001至S2-057

SHIRO-550 反序列化漏洞

CVE-2016-4437

Drupal Drupalgeddon 2 遠端程式碼執行漏洞

CVE-2018-7600

ThinkPHP5 5.0.22/5.1.29 遠端程式碼執行漏洞

-

ThinkPHP遠端程式碼執行漏洞

CVE-2019-9082

Confluence 未授權 RCE

CVE_2019_3396

......


 

Docker挖礦

什麼是docker呢?熟悉Linux環境的同學應該知道,docker是容器技術的一種實現,相當於對軟體的依賴環境進行打包處理,可以在不同的環境下快速部署,並且遮蔽環境差異執行軟體。由於docker技術十分便利,如今正被越來越多的企業和個人採用,於是攻擊者將算盤打到了docker上。


2020年,研究人員曾發現Docker Hub社群有使用者上傳大量包含了挖礦程式的docker映象,這些映象中被下載次數最多的高達147萬次:

Linux挖礦木馬的技術演進探討

(圖片源自海外報導)

駐留方式的演進

駐留方式的演進是Linux挖礦木馬技術發展最直觀的體現。早期的Linux挖礦木馬駐留較為簡單,常見的手法包括建立crontab定時啟動、執行後刪除檔案、設定檔案或目錄為隱藏屬性:

Linux挖礦木馬的技術演進探討

(DDG早期變種建立的crontab)

 

慢慢的,Linux挖礦木馬逐漸衍生出了更多駐留方式,如下舉例:

 

劫持替換系統命令檔案

以BillGates殭屍網路為例,該木馬會替換系統中的getty、lsof、netstat、ps、ss、syn等命令,當直接執行這些命令時,會劫持返回結果,影響分析和排查:

Linux挖礦木馬的技術演進探討

守護程式

為了防止挖礦程式被殺掉,部分挖礦木馬會建立守護程式用以監控挖礦程式的狀態,在挖礦程式被kill時能夠及時重新拉起,以深信服終端安全團隊2020年捕獲的RainbowMiner為例,圖中kthreadds為挖礦程式,pdflushs為守護程式:

Linux挖礦木馬的技術演進探討

Rootkit

Linux挖礦最常見的Rootkit方式是so注入,透過修改/etc/ld.so.preload檔案,設定惡意so檔案為預載入庫,通常用來hook檔案檢視、檔案刪除、程式檢視等系統命令函式,過濾掉木馬相關的資訊,使得排查時使用系統命令無法檢視到病毒相關的檔案和程式資訊:

Linux挖礦木馬的技術演進探討

常見的H2Miner、KernelMiner、AutoUpdata挖礦木馬等家族都使用了該技術。

 

除了so外,載入惡意核心模組.ko檔案(kernel object檔案)也是Linux下的一種rootkit手法,直接使用insmod或modprobe命令即可載入;在排查過程中,可以使用lsmod命令來檢視已經載入的核心模組列表,使用rmmod命令可以進行核心模組解除安裝:

Linux挖礦木馬的技術演進探討

(某惡意ko檔案截圖)

 

bash啟動項

~/.bash_profile檔案預設情況下是記錄了使用者自己專用的shell資訊,包括一些環境變數、需要執行的.bashrc檔案等,該檔案在系統啟動時生效,某些挖礦木馬會將自身程式啟動寫入該檔案中,以實現自啟動,例如StartMiner在變種中就新增了該啟動項:

 

cp -f -r -- /bin/bprofr /bin/dbused 2>/dev/null && /bin/dbused -c  >/dev/null 2>&1 && rm -rf -- /bin/dbused 2>/dev/null

 

功能多樣化

通訊方式

除了基本的傳播和駐留之外,Linux挖礦還常常使用一些心機操作,比如DDG挖礦木馬,早期使用了Memberlist開源P2P通訊方式,後來變更為自研的P2P通訊方式;


再例如SystemdMiner挖礦木馬,除了指令碼中以拼接的形式組成訪問的惡意域名外,還使用了socket5的方式用relay.tor2socks.in代理訪問C&C域名,relay.tor2socks.in是一個類似中轉網站的域名,這樣,C&C域名trumpzwlvlyrvlss.onion就不會直接出現在資料包頭:

Linux挖礦木馬的技術演進探討

安防對抗

安防對抗是大部分惡意程式都具有的功能,而Linux下的惡意程式主要對抗的是雲伺服器上常見的安防產品,例如阿里雲盾、安騎士、雲鏡等,通常透過結束該產品的相關程式甚至包括更新程式來進行對抗:

Linux挖礦木馬的技術演進探討

上圖為SystemdMiner的安防對抗模組,可以看出,該模組目前還較為混亂,除了安全軟體的程式外,還加入了很多其他挖礦家族的相關程式。

 

清理競品

安全人員在分析過程中發現,Linux下的挖礦木馬除了會對抗一些安防產品,還會清理其他家族的挖礦木馬,例如SystemdMiner會透過改寫hosts檔案,使得其他家族的挖礦木馬無法訪問對應的域名,還會刪除一些常見挖礦家族的程式和檔案:

Linux挖礦木馬的技術演進探討

而有趣的是,被清理的家族也會想盡辦法讓競品幹不掉自己,比如被DDG挖礦木馬列入清理名單的RainbowMiner,則採用了上文提到的多種駐留手段來躲避DDG的黑手。

 

多平臺感染

一些初具規模的挖礦木馬家族開始不滿足於單一平臺的傳播和感染,發展起了多平臺挖礦,例如,2018年被安全人員發現的PowerGhost挖礦木馬,起初只是在Windows下利用永恆之藍漏洞和poweshell無檔案攻擊的方式進行傳播和挖礦,深信服終端安全團隊於2019年發現其用於感染Linux平臺的SSH暴力破解模組和MSSQL暴力破解模組:

Linux挖礦木馬的技術演進探討

(PowerGhost感染全流程)

 

再如近期透過信服雲捕獲的AutoUpdate挖礦木馬,在其配置檔案中發現該木馬支援雙平臺挖礦:

Linux挖礦木馬的技術演進探討

與大部分惡意程式一樣,Linux挖礦木馬的技術變化也是由簡至繁,由點及面。在近幾年的挖礦木馬事件處理中,安全研究人員發現,雲主機感染挖礦程式的案例逐漸增多。由於使用者業務逐漸雲化,雲上安全風險也隨之而來;雲主機大多采用預設的登入埠和登入口令,業務應用沒有及時更新存在可被利用的漏洞,且能被公網直接訪問,存在較大的安全隱患。


小結

無論是雲主機還是物理主機,都需要從端到網的全面進行安全防護,深信服終端安全團隊提醒廣大使用者,謹記以下防護tips,與挖礦木馬“Say No”:

密碼弱,被爆破,免密登入太脆弱;

勤升級,打補丁,漏洞利用不擔心;

裝防毒,定時掃,流量監控少不了;

管理員,勿輕心,安全意識最重要!

相關文章