Outlaw挖礦僵尸網絡近期活動分析
時間 : 2025年01月10日
1.概述
近期,安天CERT監測到多起Outlaw挖礦僵尸網絡攻擊事件,該挖礦僵尸網絡最早于2018年被發現,主要針對云服務器從事挖礦活動,持續活躍。安天CERT在分析近期的攻擊事件中發現,該挖礦僵尸網絡樣本在第三版本基礎上有了重要更新,其功能更加多樣、隱匿性更高、清除更加困難。主要傳播途徑和功能依舊是SSH暴力破解攻擊目標系統,植入SSH公鑰,以達到長期控制目標系統的目的,同時下載執行基于Perl腳本語言編寫的后門和開源門羅幣挖礦木馬,使用掃描和暴力破解工具對其他主機進行相應攻擊。
經驗證,安天智甲終端防御系統可實現對該挖礦僵尸網絡的有效查殺。
2.攻擊流程
Outlaw挖礦僵尸網絡首先會通過掃描SSH服務對目的主機進行暴力破解,獲取權限后下載最終載荷文件dota3.tar.gz,然后不落地執行tddwrt7s.sh腳本中的指令,初始化腳本,將載荷放到/tmp目錄下,解壓縮載荷文件,并執行載荷文件中的第一個Perl腳本initall,該腳本最終會執行載荷文件中的第二個Perl腳本init2,會在cron.d文件中寫入計劃任務,依次執行a、b、c文件夾中的a、a、start腳本。
一、 a文件夾:
1. a文件的主要作用是檢測與清除RedTail挖礦僵尸網絡相關的惡意行為,執行run文件。
2. run文件用于啟動并管理名為kswapd00的挖礦程序以及stop腳本。
3. stop文件的主要功能是執行init0文件以及清理目標系統中的指定文件和進程。
4. init0文件用于全面排查并清理與挖礦相關的活動。
二、 b文件夾:
1. a文件的主要功能是執行stop和run文件。
2. stop文件主要是終止并刪除預設置的特定進程。
3. run文件是一個ShellBot的Perl腳本,主要功能為端口掃描、DDoS攻擊、反向Shell和發回狀態消息等。
三、 c文件夾:
1. start文件會執行run文件。
2. run文件的主要功能是根據系統的CPU物理核心數和架構來決定運行top和stop文件。
3. stop文件主要功能是批量終止與特定挖礦進程或系統監控進程等相關的任務。
4. top文件首先會獲取受害機器的系統架構,根據系統架構調整默認線程數,隨后執行kthreadadd腳本并傳遞參數。
5. kthreadadd文件針對不同系統架構提供對應的可執行文件。
6. kthreadadd32/kthreadadd64文件是針對不同架構掃描和暴力破解工具,對掃描出來的IP地址進行針對性的22端口暴力破解。
圖2-1 Outlaw挖礦僵尸網絡攻擊流程圖
3.樣本梳理與功能分析
3.1 樣本梳理
針對Outlaw挖礦僵尸網絡攻擊,對其樣本及功能進行梳理,如下表所示:
表3-1 樣本及功能梳理
樣本名 |
落地名 |
樣本路徑 |
功能 |
tddwrt7s.sh |
不落地 |
內存中 |
解壓縮落地載荷并執行初始腳本initall |
initall |
initall |
/tmp/.X2pP-unix/.rsync/initall |
執行init2腳本 |
init/init2 |
init/init2 |
/tmp/.X2pP-unix/.rsync/ |
將計劃任務寫入cron.d文件中,并依次執行每個文件夾下的初始腳本 |
a文件夾/a |
a |
/tmp/.X2pP-unix/.rsync/a/a /home/用戶名/.configrc7/a/a |
檢測與清除RedTail挖礦僵尸網絡相關的惡意行為 |
a文件夾/run |
run |
/tmp/.X2pP-unix/.rsync/a/run /home/用戶名/.configrc7/a/run |
啟動挖礦程序kswapd00 |
upd |
upd |
/home/用戶名/.configrc7/a/upd |
挖礦程序守護腳本 |
a文件夾/stop |
stop |
/tmp/.X2pP-unix/.rsync/a/stop /home/用戶名/.configrc7/a/stop |
清理目標系統中的指定文件和進程 |
a文件夾/init0 |
init0 |
/tmp/.X2pP-unix/.rsync/a/init0 /home/用戶名/.configrc7/a/init0 |
檢測并終止與加密貨幣挖礦相關的活動 |
a文件夾/kswapd00 |
kauditd0 |
/tmp/.X2pP-unix/.rsync/a/kswapd00 /tmp/.kswapd00 /var/tmp/.kswapd00 /home/用戶名/.configrc7/a/kswapd00 |
挖礦程序挖礦 |
b文件夾/a |
a |
/tmp/.X2pP-unix/.rsync/b/a /home/用戶名/.configrc7/b/a |
執行stop文件 |
sync |
sync |
/home/用戶名/.configrc7/b/sync |
執行run文件 |
b文件夾/stop |
stop |
/tmp/.X2pP-unix/.rsync/b/stop /home/用戶名/.configrc7/b/stop |
終止一系列特定的進程,并且刪除特定的文件 |
b文件夾/run |
edac0 |
/tmp/.X2pP-unix/.rsync/b/run /home/用戶名/.configrc7/b/run |
Stealth
Shellbot改編腳本 |
c文件夾/start |
start |
/tmp/.X2pP-unix/.rsync/c/ |
創建一個名為aptitude的Shell腳本 |
aptitude |
aptitude |
/tmp/.X2pP-unix/.rsync/c/aptitude |
執行run腳本 |
c文件夾/run |
run |
/tmp/.X2pP-unix/.rsync/c/run |
判斷系統架構 |
c文件夾/stop |
stop |
/tmp/.X2pP-unix/.rsync/c/stop |
結束競品相關的任務 |
c文件夾/top |
top |
/tmp/.X2pP-unix/.rsync/c/top |
獲取系統架構 |
c文件夾/kthreadadd |
kthreadadd |
/tmp/.X2pP-unix/.rsync/c/kthreadadd |
判斷系統架構 |
c文件夾/kthreadadd32和64 |
kauditd0 |
/tmp/.X2pP-unix/.rsync/c/kthreadadd32和64 |
掃描和暴力破解其他地址 |
表3-2 挖礦程序中的礦池地址和錢包地址
礦池地址 |
錢包地址 |
88.218.17.122:80 |
483fmPjXwX75xmkaJ3dm4vVGWZLHn3GDuKycHypVLr9SgiT6oaZgVh26iZRpwKEkTZCAmUS8tykuwUorM3zGtWxPBFqwuxS |
179.43.139.84:80 |
|
179.43.139.85:442 |
|
185.165.169.188:80 |
|
185.165.169.188:442 |
|
185.247.224.154:80 |
|
sglt5wettkyseyxrvlmn453ivmeb3zqzqu3b3sgspcuxf2h6ggx2i4qd.onion:8080 |
3.2 功能分析
樣本載荷文件整體目錄結構如下圖所示:
圖3-1 載荷目錄結構
3.2.1 未落地腳本——tddwrt7s.sh文件
tddwrt7s.sh文件主要功能是檢查特定目錄是否存在,如果存在則執行其中的初始化腳本;如果不存在,則進行一系列文件操作,包括刪除舊文件、創建新目錄、并最終執行另一個腳本。
圖3-2 對載荷進行文件操作
3.2.2 執行后續腳本——initall文件
initall文件的功能是判斷主目錄下是否存在.configrc7目錄,如果不存在,執行init2文件,如果存在,則退出。
圖3-3 執行init2文件
3.2.3 寫入計劃任務——init/init2文件
init/init2這兩個文件功能大致相同,其核心功能為在cron.d文件中寫入計劃任務,定期執行挖礦惡意樣本。
圖3-4 在cron.d文件中寫入計劃任務
3.2.4 a文件夾
3.2.4.1 檢測與清除RedTail挖礦僵尸網絡——a文件
a文件是a文件夾下的初始文件,該文件首先會刪除當前用戶的所有計劃任務,檢查是否具有root權限:如果是root,刪除并重建/usr/bin/systemtd文件,禁用/usr/bin目錄的寫權限,以隱藏惡意文件或防止系統更新覆蓋。
圖3-5 檢查是否具有root權限
接下來是檢測與清除RedTail挖礦僵尸網絡相關的惡意行為。具體分析如下:檢查定時任務(crontab)中是否存在“redtail”、提取與“redtail”相關的文件路徑、獲取CPU占用最高的進程PID、終止高CPU占用的進程及其子進程、刪除與“redtail”相關的文件、從計劃任務中移除所有包含“redtail”的條目。
圖3-6 檢測與清除RedTail挖礦僵尸網絡
創建一個名為upd的shell腳本文件,主要用于檢查挖礦木馬進程是否存活。如果已存在運行的進程,則退出。否則,啟動run文件重新執行挖礦木馬,確保持續運行。
創建一個名為upd的shell腳本文件,主要用于檢查挖礦木馬進程是否存活。如果已存在運行的進程,則退出。否則,啟動run文件重新執行挖礦木馬,確保持續運行。
圖3-7 檢查挖礦木馬進程是否存活
通過檢測CPU型號并設置特定的MSR寄存器值,以及優化hugepages的配置,來提高挖礦木馬的效率。
圖3-8 優化hugepages配置提高挖礦木馬效率
3.2.4.2 啟動挖礦程序——run文件
run文件用于啟動并管理名為kswapd00的挖礦程序。它先停止潛在沖突進程,記錄當前目錄路徑,后臺運行挖礦程序并隱藏其輸出,最后保存挖礦進程的PID以便后續管理。
圖3-9 啟動并管理名為kswapd00的挖礦程序
3.2.4.3 執行后續腳本——stop文件
stop文件的主要功能是執行init0文件以及清理目標系統中的指定文件和進程。具體包括:刪除配置文件(如xmrig.json)、停止和結束多個與挖礦程序相關的潛在干擾的進程。
圖3-10 執行init0文件
3.2.4.4 排查并清理競品挖礦活動——init0文件
init0文件是一個可以全面排查并清理與挖礦活動相關的工具,該工具主要功能是檢測并終止與加密貨幣挖礦相關的活動,包括清理文件、結束進程和阻斷網絡連接。
圖3-11 排查并清理競品挖礦活動
3.2.4.5 挖礦程序——kswapd00
該文件為開源挖礦程序XMRig改編而來,使用的版本為6.22.1,將挖礦配置文件內置在程序中。
圖3-12 開源挖礦程序XMRig改編
3.2.5 b文件夾
3.2.5.1 執行后續腳本——a文件
a文件的主要功能是執行stop文件以及創建一個新的腳本sync并運行run文件。
圖3-13 執行run文件
3.2.5.2 終止特定進程——stop文件
stop文件主要功能是終止一系列特定的進程,并且刪除特定的文件。
圖3-14 終止一系列特定的進程
3.2.5.3 IRC后門程序——run文件
run文件實際是一個ShellBot的Perl腳本,由開源Perl腳本Stealth Shellbot改編而來,通過443端口連接到IRC服務器,主要功能為端口掃描、DDoS攻擊、反向Shell和發回狀態消息等。
圖3-15 IRC后門程序
3.2.6 c文件夾
3.2.6.1 執行后續腳本——start
start文件會創建一個名為aptitude的Shell腳本,然后利用該腳本執行run文件。
圖3-16 執行run文件
3.2.6.2 檢查系統的CPU物理核心數和架構——run文件
run文件的主要功能是根據系統的CPU物理核心數和架構來決定是否在后臺運行top程序,以及在運行前是否需要執行額外的等待和執行stop文件操作。
圖3-17 檢查系統的CPU物理核心數和架構
3.2.6.3 批量終止挖礦進程相關任務——stop文件
stop文件主要功能是批量終止與特定挖礦進程或系統監控進程等相關的任務,并清理臨時文件。
圖3-18 批量終止挖礦進程相關任務
3.2.6.4 獲取目標主機系統架構——top文件
top文件首先會獲取目標主機的系統架構,根據系統架構調整默認線程數,arm架構線程數設置為75,i686架構線程數設置為325,其他架構默認線程數為475。
圖3-19 獲取目標主機系統架構
隨后執行kthreadadd腳本并傳遞參數,為后續掃描做準備。
圖3-20 執行kthreadadd腳本并傳遞參數
3.2.6.5 對目標主機進行適配——kthreadadd
kthreadadd文件針對不同系統架構提供對應的可執行文件,確保在目標設備上能夠正確運行掃描程序。
圖3-21 對目標主機進行適配
3.2.6.6 掃描和暴力破解工具——kthreadadd32/kthreadadd64文件
kthreadadd32/kthreadadd64文件是針對不同架構掃描和暴力破解工具,通過top文件傳來的參數進行掃描,對掃描出來的IP地址進行針對性的22端口暴力破解。
圖3-22 掃描和暴力破解工具命令行界面
該工具存在如下C2服務器地址連接。
圖3-23 C2服務器地址
4.4 Outlaw挖礦僵尸網絡落地排查與清除方案
4.1 Outlaw挖礦僵尸網絡落地識別
4.2 清除方案
5.事件對應的ATT&CK映射圖譜
針對攻擊者投放挖礦木馬的完整過程,安天梳理本次攻擊事件對應的ATT&CK映射圖譜如下圖所示。
圖5-1 事件對應的ATT&CK映射圖譜
攻擊者使用的技術點如下表所示:
表5-1 事件對應的ATT&CK技術行為描述表
ATT&CK階段/類別 |
具體行為 |
注釋 |
偵察 |
主動掃描 |
掃描22端口 |
初始訪問 |
利用外部遠程服務 |
利用SSH遠程訪問 |
執行 |
利用命令和腳本解釋器 |
使用shell腳本 |
持久化 |
利用外部遠程服務 |
利用SSH公鑰持久化 |
利用計劃任務/工作 |
創建計劃任務 |
|
防御規避 |
修改文件和目錄權限 |
修改文件和目錄權限 |
刪除信標 |
刪除自身 |
|
混淆文件或信息 |
使用混淆技術混淆文件 |
|
憑證訪問 |
暴力破解 |
SSH暴力破解 |
網絡嗅探 |
掃描特定端口 |
|
命令與控制 |
使用應用層協議 |
使用IRC協議 |
影響 |
資源劫持 |
占用CPU資源 |
6.防護建議
針對挖礦攻擊,安天建議企業采取如下防護措施:
1. 安裝終端防護:安裝反病毒軟件,針對不同平臺建議安裝安天智甲終端防御系統Windows/Linux版本;
2. 加強SSH口令強度:避免使用弱口令,建議使用16位或更長的口令,包括大小寫字母、數字和符號在內的組合,同時避免多個服務器使用相同口令;
3. 及時更新補丁:建議開啟自動更新功能安裝系統補丁,服務器應及時更新系統補丁;
4. 及時更新第三方應用補丁:建議及時更新第三方應用如Redis等應用程序補丁;
5. 開啟日志:開啟關鍵日志收集功能(安全日志、系統日志、錯誤日志、訪問日志、傳輸日志和Cookie日志),為安全事件的追蹤溯源提供基礎;
6. 主機加固:對系統進行滲透測試及安全加固;
7. 部署入侵檢測系統(IDS):部署流量監控類軟件或設備,便于對惡意代碼的發現與追蹤溯源。安天探海威脅檢測系統(PTD)以網絡流量為檢測分析對象,能精準檢測出已知海量惡意代碼和網絡攻擊活動,有效發現網絡可疑行為、資產和各類未知威脅;
8. 安天服務:若遭受惡意軟件攻擊,建議及時隔離被攻擊主機,并保護現場等待安全工程師對計算機進行排查;安天7*24小時服務熱線:400-840-9234。
建議企業用戶部署專業的終端安全防護產品,對本地新增和啟動文件進行實時檢測,并周期性進行網內病毒掃描。安天智甲終端安全系列產品(以下簡稱“智甲”)依托安天自研威脅檢測引擎和內核級主動防御能力,可以有效查殺本次發現病毒樣本。
圖6-1 運行惡意腳本時智甲成功攔截
智甲客戶端通過主動防御能力實時檢測本地腳本執行行為,對執行腳本進行威脅檢測,一旦發現啟動腳本為惡意文件,可自動攔截并向用戶發送風險告警,保障終端環境安全。
7.IoCs
IoCs |
88.218.17[.]122 |
179.43.139[.]84 |
179.43.139[.]85 |
185.165.169[.]188 |
185.247.224[.]154 |
sglt5wettkyseyxrvlmn453ivmeb3zqzqu3b3sgspcuxf2h6ggx2i4qd.onion |
179.43.139[.]83 |
179.43.180[.]82 |
179.43.180[.]83 |
185.247.224[.]154 |
185.196.9[.]59 |
185.196.8[.]139 |
hxxp://188.165.194.59/tddwrt7s.sh |
hxxp://188.165.194.59/dota3.tar.gz |
hxxp://193.86.16.40/tddwrt7s.sh |
hxxp://193.86.16.40/dota3.tar.gz |
hxxp://161.35.72.143/tddwrt7s.sh |
hxxp://80.79.125.90/dota3.tar.gz |
hxxp://157.245.129.95/dota3.tar.gz |
hxxp://152.32.202.213/dota3.tar.gz |
hxxp://185.140.12.250/dota3.tar.gz |
hxxp://188.165.194.59/dota3.tar.gz |
hxxp://161.35.231.77/dota3.tar.gz |
hxxp://213.199.46.247/dota3.tar.gz |
6DA1E7B40CE4DDD784ABBA9594EF4468 |
1C36E8AAAC825BCB9A086ECF2A471C89 |
E8FFC6AAC5C2784B10319C25D229A44E |
99EF3C8F719E40E4A2DBC34C45F6FB64 |
DD83F74474E80FCD3CA122AA9A05D583 |
5B4E8EFF7A4C6AC80AE09EB26D0617BF |