威脅快報 | 首爆新型ibus蠕蟲利用熱門漏洞瘋狂挖礦牟利
一、背景
近日阿里雲安全團隊發現了一起利用多個流行漏洞傳播的蠕蟲事件。黑客首先利用ThinkPHP遠端命令執行等多個熱門漏洞控制大量主機,並將其中一臺“肉雞”作為蠕蟲指令碼的下載源。其餘受控主機下載並執行此蠕蟲指令碼後,繼續進行大規模漏洞掃描和弱口令爆破攻擊,從而實現橫向傳播。涉及的漏洞除了ThinkPHP遠端命令執行漏洞,還有JBoss、Weblogic、Redis等產品的漏洞。
因為該蠕蟲最初植入的惡意指令碼名為ibus,所以命名為ibus蠕蟲。本篇文章主要介紹了阿里雲安全對此類蠕蟲入侵的各個階段的檢測、防禦和隔離,保障阿里雲使用者的資產安全。希望讀者通過本篇文章,可以意識到當前網路安全的風險與日俱增,安全漏洞無處不在,黑客通過簡單、自動化的手段就可以對使用者利益造成極大的損害。
目前阿里雲安全團隊對網路進行了實時監控,並幫助雲上使用者修復潛在風險,如果漏洞依然存在,建議請儘快對自身進行檢查,或者參考文末的安全建議。
二、蠕蟲主要特點及結構
基於阿里雲態勢感知的大資料平臺,我們對該黑客組織進行了追蹤和詳細分析,該黑客通過ThinkPHP漏洞和蠕蟲指令碼獲取了大量的肉雞進行牟利。阿里雲安全團隊詳細分析了此蠕蟲的主要特點,包括:
使用多種漏洞進行傳播,以web程式碼執行漏洞為主;
惡意指令碼的名字及路徑具有迷惑性,且多份拷貝存放於不同的目錄下;
主要程式碼perl實現,具備功能完備的C&C通訊模組;
C&C通訊使用http協議,通訊內容加密;
通過挖掘門羅幣進行獲利。
蠕蟲的功能結構由惡意指令碼、傳播模組、C&C模組、挖礦模組等組成。
黑客首先利用ThinkPHP v5 遠端命令執行漏洞攻擊了大量主機,並將ip為67.209.177.163的伺服器作為蠕蟲指令碼的下載源。
之後攻擊者控制其他被入侵主機從67.209.177.163下載ibus指令碼並執行。該指令碼用perl語言寫成,主要功能是解碼、寫入並執行C&C (Command and Control)模組。
攻擊者進而通過向C&C模組傳送命令,下載包含多種攻擊payload的傳播模組,以及由下載器、配置檔案和挖礦程式組成的挖礦模組,挖礦從而獲取利潤。傳播模組則繼續攻擊未被入侵主機,橫向傳播。
黑客入侵的各個階段如下圖所示:
三、蠕蟲模組分析
1.攻擊及惡意指令碼植入
對大多數被入侵主機,攻擊者最初是利用ThinkPHP v5 遠端程式碼執行漏洞,通過如下payload植入惡意指令碼
可以看到這裡從 http://67.209.177.163/ibus 下載並運行了ibus。分析後發現ibus是一個perl指令碼,該指令碼會從Linux根目錄開始遍歷所有目錄(最大深度為6),找出當前賬號有寫許可權的所有資料夾,存入列表。
之後對列表中的目錄進行打分,取分數最高的三個目錄。打分標準例如完整路徑以”/bin”開頭的目錄分數最高,”/usr/bin”其次,以此類推。
在最後挑選出來的三個目錄中,寫入同樣的C&C模組指令碼(指令碼分析見後文),並分別命名為nmi, nbus和.dbus。這三個都是系統程式的名字,定時執行時還會打印出“These are for bus-kernl-daemon service”,非常具有迷惑性。
ibus指令碼最後進行定時任務新增和指令碼自刪除操作。
2.傳播模組
下圖為攻擊函式列表,可以看出此蠕蟲程式碼利用了多種漏洞進行橫向傳播,包括java反序列化漏洞、Weblogic WLS元件RCE漏洞(CVE-2017-10271)、WebLogic 任意檔案上傳漏洞(CVE-2018-2894)、redis 未授權訪問漏洞等。
以下是部分攻擊程式碼:
1)對JBoss使用者名稱、密碼暴力破解
涉及的部分使用者名稱和弱口令列表:
2)使用weblogic漏洞上傳Webshell
3)redis 未授權訪問漏洞
3.C&C模組
該部分的內容是由ibus中的$encnde解碼後得到,相同內容被寫入三個不同的資料夾,難以被徹底清理。
C&C模組也是一個perl指令碼,它實現了完整的控制功能:
指令碼包含的核心函式/模組:
newsocketto:實現socket通訊 GetCommand、PostCommand:實現基本的http get/post功能 SendBackResult、SendBackState:返回c&c指令的執行結果和執行狀態 register:c&c上線註冊 check_relay:檢測主c&c是否可用 Knock_Knock:獲取C&C指令,會返回needregr、newtask、notasks、newreconfig四種指令 Update_Config_File、Load_Config_File:更新和載入配置檔案 DownLoadExec、DownLoadExecPar:下載檔案並執行,DownLoadExecPar可帶引數執行 Updateme:更新 scanme:掃描目錄 getrelfromblog、getrelfromblog1、srel:備用c&c crntabvalidator:修改crontabs屬性,後面會迴圈執行,防止定時任務被刪除 UUID Management :為每個肉雞生成uuid MAIN Function:cc模組主函式
C&C模組的功能:
MAIN Function通過Knock_Knock獲取c&c指令,實現如下功能 Command Execution :命令執行(實際並未實現執行功能) Download Execute:下載檔案執行 Download Execute W Params:下載檔案帶引數執行 Uninstall:解除安裝自身 killcycle:終止執行 Update Me:更新
C&C伺服器是speakupomaha.com:
下圖為控制主機執行GetCommand的部分程式碼:
四、影響範圍
由配置檔案可知,ibus蠕蟲對應的錢包地址為4An3Radh69LgcTHJf1U3awa9ffej4b6DcUmEv8wirsDm8zRMSjifrwybH2AzHdEsW8eew3rFtk4QbGJMxqitfxmZJhABxpT。其影響範圍從攻擊者收益和挖礦規模的角度來看,由於該錢包地址在 http://minexmr.com/#worker_stats 對應的挖礦速率(HashRate)約為167KH/s,據此粗略估計,全網約有1萬臺的主機被這種蠕蟲感染,黑客因此每天能牟利30.86美元(925.74美元 每月)。
而從攻擊時間上看,1月4號和12號是黑客攻擊的高峰,且蠕蟲攻擊仍在蔓延。
五、安全建議
針對此次ibus蠕蟲攻擊,阿里雲安全向使用者提供以下安全建議:
網際網路上掃描和攻擊無處不在,web漏洞、弱密碼、伺服器存在未授權訪問,都可能導致主機被挖礦,應儘量避免使用弱密碼,此外可以選擇購買阿里雲的雲防火牆和態勢感知實現威脅檢測、主機防禦和安全隔離。
對於已感染的客戶,可以通過購買阿里雲安全管家服務,在安全專家的指導下進行病毒清理和安全加固。
IOC
*本文作者:悟泛、踢歪、桑鐸,轉載請註明來自FreeBuf.COM