雙平臺傳播——活躍的H2Miner組織挖礦分析
時間 : 2021年11月17日 來源: 安天CERT
今年11月以來,安天CERT陸續捕獲到多批次H2Miner挖礦組織攻擊事件,該挖礦組織自2019年出現,持續活躍,同時向Linux與Windows雙平臺傳播惡意腳本,最終下載門羅幣挖礦程序以及其他后門、端口掃描工具等。安天智甲終端防御系統(簡稱IEP)Windows與Linux版本可實現對該挖礦木馬的查殺與有效防護。本篇文章3543字,預計9分鐘讀完。
1. 概述
該組織在Linux平臺上傳播Kinsing僵尸網絡,起名原因是其守護進程名為“kinsing”。該惡意軟件具有挖礦功能,同時在失陷主機上開放后門,具有masscan端口掃描的功能,連接C2服務器上傳基礎信息,還具有下載腳本進行橫向移動等功能。
該組織在Windows平臺上傳播挖門羅幣的程序,該程序使用開源挖礦程序xmrig.exe進行挖礦,版本號為6.4.0,目前配置文件中的錢包地址已被各大礦池封禁。
經驗證,安天智甲終端防御系統(簡稱IEP)Windows與Linux版本可實現對該挖礦木馬的查殺與有效防護。
2. 事件對應的ATT&CK映射圖譜
攻擊者針對目標系統投放挖礦木馬和Kinsing惡意軟件,梳理本次攻擊事件對應的ATT&CK映射圖譜如下圖所示。
圖2-1 事件對應的ATT&CK映射圖譜
攻擊者使用的技術點如下表所示:
表2-1 事件對應的ATT&CK技術行為描述表
ATT&CK階段/類別 |
具體行為 |
注釋 |
偵察 |
主動掃描 |
主動掃描帶有RCE漏洞的服務器 |
初始訪問 |
利用面向公眾的應用程序 |
利用Weblogic漏洞 |
執行 |
利用命令和腳本解釋器 |
使用PowerShell和bash腳本 |
持久化 |
利用計劃任務/工作 |
設置計劃任務 |
防御規避 |
執行范圍保護 |
守護進程kinsing |
使用Rootkit |
下載libsystem.so執行Rootkit |
|
憑證訪問 |
從存儲密碼的位置獲取憑證 |
讀取SSH憑證信息 |
發現 |
掃描網絡服務 |
使用masscan掃描器掃描服務 |
橫向移動 |
橫向傳輸工具或文件 |
橫向傳輸腳本文件 |
收集 |
收集本地系統數據 |
收集本地系統信息 |
命令與控制 |
使用應用層協議 |
使用應用層協議下發指令 |
數據滲出 |
使用C2信道回傳 |
使用與C2相同的信道回傳 |
3. 攻擊流程和傳播途徑
3.1 攻擊流程
攻擊者利用漏洞入侵Windows平臺和Linux平臺。在Windows平臺中,失陷主機下載并執行wbw.xml的XML文件,在XML文件中執行一段PowerShell命令,下載名為1.ps1的腳本,該腳本下載挖礦程序以及挖礦的配置文件并重命名執行,創建計劃任務每30分鐘執行一次1.ps1腳本,實現持久化長期駐留失陷主機;在Linux平臺中,失陷主機下載并執行名為wb.xml的XML文件,該XML文件使用同樣的手法內嵌了一段bash腳本,執行后下載挖礦腳本,主要功能包括清除競品挖礦程序和計劃任務、MD5校驗、卸載安全軟件和下載Kinsing惡意軟件并執行等。Kinsing惡意軟件不僅具有挖礦功能,還會在失陷主機上開放后門以及masscan端口掃描等功能,連接C2服務器上傳版本號、內核數量、內存信息、操作系統信息、是否獲得 Root 權限和Uuid等信息,并會下載后續腳本進行橫向移動等。
圖3-1 整體攻擊流程
3.2 Windows平臺傳播途徑
在Windows平臺中,攻擊者向受害主機發送一個構造好的數據包,將該數據包中的可執行代碼部分架設在遠程服務器的XML文件中,當漏洞利用成功后,受害主機就會訪問攻擊者架設遠程服務器的XML文件,并解析執行。
圖3-2 Windows平臺傳播
3.3 Linux平臺傳播途徑
Linux平臺傳播與Windows平臺傳播途徑一樣,同樣向受害主機上發送構造好的數據包,將該數據包中的可執行代碼部分架設在遠程服務器的XML文件中,當漏洞利用成功后,受害主機就會訪問攻擊者架設遠程服務器的XML文件,并解析執行。
圖3-3 Linux平臺傳播
3.4 攻擊事件樣本整理
根據攻擊事件對樣本進行梳理得到如下信息:
表3-1 攻擊事件樣本整理
樣本下載地址 |
詳細說明 |
hxxp[:]//194.38.20.199/1.ps1 |
Windows惡意PowerShell |
hxxp[:]//194.38.20.199/xmrig.exe |
Windows門羅幣挖礦程序 |
hxxp[:]//194.38.20.199/config.json |
Windows挖礦配置文件 |
hxxp[:]//194.38.20.199/md.sh |
Linux惡意shell |
hxxp[:]//194.38.20.199/kinsing |
Linux挖礦程序 |
hxxp[:]//194.38.20.199/spre.sh |
橫向移動腳本 |
hxxp[:]//194.38.20.199/wb.xml |
Weblogic RCE
payload(Linux) |
hxxp[:]//194.38.20.199/wbw.xml |
Weblogic RCE payload (Windows) |
表3-2 Windows挖礦配置文件中的礦池和錢包地址
礦池地址 |
錢包地址 |
45.136.244.146:3333 |
4ASk4RhUyLL7sxE9cPyBiXb82ofekJg2SKiv4MKtCbzwHHLQx VVfVr4D4xhQHyyMTieSM5VUFGR9jZVR5gp6sa1Q2p8SahC |
37.59.44.193:3333 |
|
94.23.23.52:3333 |
|
pool.minexmr.com:3333 |
|
pool.supportxmr.com:3333 |
4. 防護建議
針對該挖礦木馬安天建議企業采取如下防護措施:
1. 安裝終端防護:安裝反病毒軟件,針對不同平臺建議安裝安天智甲終端防御系統Windows/Linux版本;
2. 加強SSH口令強度:避免使用弱口令,建議使用16位或更長的密碼,包括大小寫字母、數字和符號在內的組合,同時避免多個服務器使用相同口令;
3. 及時更新補丁:建議開啟自動更新功能安裝系統補丁,服務器應及時更新系統補丁;
4. 及時更新第三方應用補丁:建議及時更新第三方應用如Weblogic等應用程序補丁;
5. 開啟日志:開啟關鍵日志收集功能(安全日志、系統日志、錯誤日志、訪問日志、傳輸日志和Cookie日志),為安全事件的追蹤溯源提供基礎;
6. 主機加固:對系統進行滲透測試及安全加固;
7. 部署入侵檢測系統(IDS):部署流量監控類軟件或設備,便于對惡意代碼的發現與追蹤溯源。安天探海威脅檢測系統(PTD)以網絡流量為檢測分析對象,能精準檢測出已知海量惡意代碼和網絡攻擊活動,有效發現網絡可疑行為、資產和各類未知威脅;
8. 安天服務:若遭受惡意軟件攻擊,建議及時隔離被攻擊主機,并保護現場等待安全工程師對計算機進行排查;安天7*24小時服務熱線:400-840-9234。
經驗證,安天智甲終端防御系統(簡稱IEP)Windows版和Linux版均可實現對該挖礦木馬和惡意軟件的查殺與有效防護。
圖4-1 安天智甲有效防護
5. 樣本分析
5.1 Windows樣本分析
5.1.1 1.ps1
表5-1 腳本文件
病毒名稱 |
Trojan/Win32.Ymacco |
原始文件名 |
1.ps1 |
MD5 |
17342E104A7F14278A4236A4AAE2E967 |
文件大小 |
2.15KB (2,202 字節) |
解釋語言 |
PowerShell |
VT首次上傳時間 |
2021-02-17 10:06:02 |
VT檢測結果 |
29/59 |
定義門羅幣挖礦程序地址和配置文件的下載路徑以及保存路徑和挖礦程序名等信息:
圖5-1 下載挖礦程序
下載挖礦程序,并將挖礦程序保存在TMP目錄下,并重命名為sysupdate.exe。
圖5-2 挖礦程序重命名
下載挖礦配置文件,并將配置文件保存在TMP目錄下,并重命名為config.json。
圖5-3 重命名配置文件
更新程序和創建計劃任務,創建名為Update service for Windows Service的計劃任務,無限期地每隔30分鐘重復一次。該計劃任務使用PowerShell執行1.ps1腳本。
圖5-4 創建計劃任務
5.1.2 配置文件config.json
配置文件中有5個礦池地址,錢包地址均為4ASk4RhUyLL7sxE9cPyBiXb82ofekJg2SKiv4MKtCbzwHHLQxVVfVr4D4xhQHyyMTieSM5VUFGR9jZVR5gp6sa1Q2p8SahC,以下為配置文件中部分內容:
"url": "45.136.244.146:3333",
"user":
"4ASk4RhUyLL7sxE9cPyBiXb82ofekJg2SKiv4MKtCbzwHHLQxVVfVr4D4xhQHyyMTieSM5VUFGR9jZVR5gp6sa1Q2p8SahC",
"url": "37.59.44.193:3333",
"user":
"4ASk4RhUyLL7sxE9cPyBiXb82ofekJg2SKiv4MKtCbzwHHLQxVVfVr4D4xhQHyyMTieSM5VUFGR9jZVR5gp6sa1Q2p8SahC",
"url": "94.23.23.52:3333",
"user":
"4ASk4RhUyLL7sxE9cPyBiXb82ofekJg2SKiv4MKtCbzwHHLQxVVfVr4D4xhQHyyMTieSM5VUFGR9jZVR5gp6sa1Q2p8SahC",
"url": "pool.minexmr.com:3333",
"user":
"4ASk4RhUyLL7sxE9cPyBiXb82ofekJg2SKiv4MKtCbzwHHLQxVVfVr4D4xhQHyyMTieSM5VUFGR9jZVR5gp6sa1Q2p8SahC",
"url": "pool.supportxmr.com:3333",
"user":
"4ASk4RhUyLL7sxE9cPyBiXb82ofekJg2SKiv4MKtCbzwHHLQxVVfVr4D4xhQHyyMTieSM5VUFGR9jZVR5gp6sa1Q2p8SahC", |
5.2 Linux樣本分析
5.2.1 md.sh
表5-2 腳本文件
病毒名稱 |
Trojan[Downloader]/Shell.Miner |
原始文件名 |
md.sh |
MD5 |
5604AE3E3E5248BB2242B1EE211D654D |
文件大小 |
31.3 KB (32,110 字節) |
解釋語言 |
Shell |
VT首次上傳時間 |
2021-09-16 19:52:35 |
VT檢測結果 |
32/58 |
下載兩個腳本文件,兩個腳本文件的作用是卸載被感染主機上的安全軟件。
圖5-5 卸載安全軟件
清除競品的挖礦程序。
圖5-6 清除競品挖礦程序
清除競品的計劃任務。
圖5-7 清除競品計劃任務
5.2.2 kinsing惡意軟件
表5-3 二進制可執行文件
病毒名稱 |
Trojan/Linux.Kinsing |
原始文件名 |
kinsing |
MD5 |
648EFFA354B3CBAAD87B45F48D59C616 |
文件大小 |
13.9 MB
(14,643,200 字節) |
文件格式 |
BinExecute/Linux.ELF |
加殼類型 |
無 |
VT首次上傳時間 |
2020-12-18
11:34:58 |
VT檢測結果 |
34/62 |
5.2.2.1 挖礦
樣本執行后,會在tmp目錄下創建名為kdevtmpfsi的挖礦程序并執行。
圖5-8 創建挖礦程序并執行
5.2.2.2 后門功能
該后門代碼可以實現在主機上執行任意命令。
圖5-9 執行任意命令
5.2.2.3 masscan掃描
創建名為firewire.sh的腳本文件,該腳本文件中內置了一個MD5哈希值,該哈希值經驗證,為masscan掃描器。masscan 是一個高性能的端口掃描器,它的功能類似于nmap工具。
圖5-10 masscan掃描
5.2.2.4 C2通信
惡意軟件通過 HTTP 與 C2 服務器進行通信,失陷主機會請求發送系統狀態和系統資源信息,例如內核數量、內存信息、操作系統信息、是否獲得 Root 權限和UUID等。所有這些參數都使用自定義 HTTP 頭發送給 C2 服務器。
圖5-11 發送主機信息等
失陷主機不斷通過get請求C2服務器,Sign字段為服務器響應后傳遞的惡意 Shell 腳本。
圖5-12 傳遞惡意Shell腳本
失陷主機會使用/mg對C2服務器進行請求,C2服務器會響應幾個字符,失陷主機使用 JSON-RPC 的形式通過 HTTP 發送主機信息。
圖5-13 JSON-RPC形式回傳
下載cron.sh腳本,功能是結束競品挖礦程序。
圖5-14 結束競品挖礦程序
下載spre.sh腳本,腳本會從 /.ssh/config, .bash_history, /.ssh/known_hosts進行搜索和匹配,來發現攻擊目標,并找到與其相對應的身份驗證的信息,檢查 ~/.ssh/config、~/.bash_history和 .ssh/known_hosts嘗試進行橫向移動等操作。
圖5-15 橫向移動
5.2.2.5 關聯分析
通過關聯分析,我們找到該組織的資產上另一個腳本文件xx.sh,xx.sh的功能是從 194.38.20.199/libsystem.so處下載名為 libsystem.so的Rootkit以及其他惡意軟件。然后其他腳本將該 Rootkit預加載到/etc/ld.so.preload。
圖5-16 下載Rootkit
該腳本還注冊一個定期重新感染主機的系統服務來持久化。
圖5-17 系統服務持久化
6. 排查建議
在此,安天CERT針對該挖礦木馬給出如下排查建議:
針對Linux用戶
進程: 1.
Kinsing 2.
Kdevtmpfsi 排查路徑: 1.
/tmp/kdevtempfsi 2.
/etc/Kinsing 3.
/tmp/Kinsing 4.
/var/tmp/Kinsing 5.
/dev/shm/Kinsing 6.
/etc/kdevtmpfsi 7.
/tmp/kdevtmpfsi 8.
/var/tmp/kdevtmpfsi 9.
/dev/shm/kdevtmpfsi 10. /etc/libsystem.so 計劃任務: 185.191.32.198相關計劃任務 預加載配置: 排查清理/etc/ld.so.preload內惡意預加載配置項 |
針對Windows用戶:
sysupdate.exe 排查路徑: 1.
TMP\sysupdate.exe 2.
TMP\config.json 3.
TMP\update.ps1 計劃任務: Update service for Windows Service |
7. IoCs
表7-1 IoCs
IoCs |
hxxp[:]//194.38.20.199/1.ps1 |
hxxp[:]//194.38.20.199/xmrig.exe |
hxxp[:]//194.38.20.199/config.json |
hxxp[:]//194.38.20.199/md.sh |
hxxp[:]//194.38.20.199/kinsing |
hxxp[:]//194.38.20.199/spre.sh |
hxxp[:]//194.38.20.199/wb.xml |
hxxp[:]//194.38.20.199/wbw.xml |
hxxp[:]//194.38.20.199/spr.sh |
hxxp[:]//194.38.20.199/t.sh |
hxxp[:]//194.38.20.199/pg.sh |
hxxp[:]//194.38.20.199/pg2.sh |
hxxp[:]//194.38.20.199/cron.sh |
hxxp[:]//194.38.20.199/unk.sh |
hxxp[:]//194.38.20.199/for |
hxxp[:]//194.38.20.199/tf.sh |
hxxp[:]//194.38.20.199/wb.sh |
hxxp[:]//194.38.20.199/libsystem.so |
hxxp[:]//194.38.20.199/tr2.sh |
hxxp[:]//194.38.20.199/h2.sh |
hxxp[:]//194.38.20.199/k.xml |
hxxp[:]//194.38.20.199/sm.sh |
hxxp[:]//194.38.20.199/xx.sh |
hxxp[:]//194.38.20.199/curl-amd64 |
194.38.20.199 |
185.191.32.198 |
185.154.53.140 |
17342E104A7F14278A4236A4AAE2E967 |
F6B680A061793A0979710CD96F494E2F |
57F0FDEC4D919DB0BD4576DC84AEC752 |
5604AE3E3E5248BB2242B1EE211D654D |
402E7B55810C024C2FDEAD907068A692 |
648EFFA354B3CBAAD87B45F48D59C616 |
參考資料
[1] 挖礦木馬簡要技術分析
http://8rpec4.com/research/notice&report/research_report/20211015.html