1 簡介

PumaBot 是一個由 Darktrace 於 2025 年 5 月發現的基於 Go 語言的新型 Linux botnet,專門針對嵌入式物聯網設備,特別是 Pumatronix 製造的監控和交通攝影機系統。與傳統進行全網掃描的 botnet 不同,PumaBot 採用半目標式攻擊方式,從指揮與控制(C2)伺服器 ssh.ddos-cc[.]org )取得受害者 IP 清單,以暴力破解 SSH 認證(SSH credentials)。其主要目標包括加密貨幣挖礦(透過 XMRig)、認證竊取(Credential theft)以及維持長期控制的持續存取 [1,7]。本報告將剖析 PumaBot 的架構、規避技術和運作流程,並提供防禦建議 [5,9]。

揭秘PumaBot:隱形物聯網僵屍網路如何攻擊Linux監控系統 | 資訊安全新聞

2 方法論與攻擊流程

PumaBot 的感染鏈遵循多階段過程 [3,10]:

2.1 第一階段:目標獲取與初始入侵

  • IP 收集 :惡意軟體( jierui ,MD5: cab6f908f4dedcdaedcdd07fdc0a8e38 )使用 getIPs() 函數從 C2 取得具有開放 SSH 連接埠(22)的目標 IP 清單 [1,9]。
  • 認證暴力破解 :透過 readLinesFromURL() 取得認證對(用戶名/密碼),並使用 trySSHLogin() 進行測試 [1,7]。
  • 規避檢查 :在登錄嘗試期間,執行環境 Fingerprint 以:
    • 避免蜜罐(Honeypots)和受限 shell [1]。
    • 檢查字串 Pumatronix (表示物聯網監控設備),顯示針對性攻擊或規避行為 [1,10]。

2.2 第二階段:持續性與 Payload 部署

成功取得 SSH 存取後 [4,7]:

  1. 系統偵察 :執行 uname -a 收集作業系統/Kernel 詳細資訊、架構和受害者 IP。資料以 JSON 格式透過自訂標頭 X-API-KEY: jieruidashabi 外洩至 C2 [1,9]。
  2. 二進制部署 :將自身寫入 /lib/redis (偽裝為 Redis 系統檔案) [1,7]。
  3. 持續性機制
    • /etc/systemd/system 建立 systemd 服務( redis.service mysqI.service — 注意大寫 I 以模仿 MySQL) [1,4]:
      [Unit]
      Description=redis Server Service
      
      [Service]
      Type=simple
      Restart=always
      User=root
      ExecStart=/lib/redis e
                      
    • 將 SSH 公鑰注入 authorized_keys ,即使服務被移除也能維持存取 [1,7]。

2.3 第三階段:模組化 Payload 執行

PumaBot 部署輔助二進制檔案以進行自我更新、認證竊取和橫向移動 [1,3,7]:

表 1:主要惡意組件
二進制檔案 MD5 Hash 功能
ddaemon 48ee40c40fa320d5d5f8fc0359aa96f3 基於 Go 的後門;下載 networkxm 並執行 installx.sh 以部署腳本 [1,9]。
networkxm be83729e943d8d0a35665f55358bdf88 SSH 暴力破解工具;從 C2( db.17kp[.]xyz/getPassword )取得密碼清單 [1,7]。
pam_unix.so 1bd6bcd480463b6137179bc703f49545 惡意 PAM 模組,替換合法模組;攔截成功登錄並將認證儲存在 /usr/bin/con.txt [1,4]。
1 cb4011921894195bcffcdf4edce97135 檔案監控;透過 inotify 監控 con.txt ,將資料外洩至 C2 並刪除檔案 [1,10]。

加密貨幣挖礦整合 cleankill() 函數執行無限迴圈,運行 xmrig networkxm (依賴 PATH 解析),顯示加密貨幣劫持為主要變現策略 [1,7,9]。

3 技術創新與規避策略

3.1 隱形導向設計

  • 低掃描輪廓 :從 C2 取得目標 IP,避免高噪音的全網掃描,降低被偵測風險 [1,6]。
  • 合法服務模仿 :使用 systemd 服務和路徑( /lib/redis )模擬良性程序 [1,4]。
  • 動態 Payload 載入 :像 xmrig 這樣的二進制檔案不使用完整路徑執行,暗示 On-demand 下載以規避基於 Hash 的偵測 [1,7]。

3.2 透過 PAM 操控竊取認證

腳本 jc.sh (由 installx.sh 取得) [1,4,7]:

  • 偵測作業系統(基於 Debian 或 Red Hat)並定位 pam_unix.so
  • 下載與主機 PAM 版本相符的惡意版本(例如, pam_unix.so_v131 對應 v1.3.1)。
  • 停用安全控制(SELinux)並重新啟動 SSH 以啟用惡意 PAM 模組 [1,4]。

3.3 C2 通訊與更新機制

  • 自我更新 Routine :二進位檔案( ddaemon networkxm )定期與 C2 版本比較 MD5 Hash,若過時則下載並替換自身 [1,7,9]。
  • 資料外洩 :二進制檔案 1 透過 ifconfig.me 查詢公共 IP 後,將竊取的認證和系統資料發送至 http://dasfsdfsdfsdfasfgbczxxc[.]lusyn[.]xyz/api/ [1,10]。

4 防禦建議

表 2:緩解策略
攻擊向量 防禦措施
SSH 暴力破解
  • 透過防火牆限制 SSH 暴露;使用 VPN 或網路分割 [1,2]。
  • 實施 SSH 金鑰認證 + fail2ban [5,8]。
持續性
  • 檢查 systemd 服務( /etc/systemd/system )是否有拼寫錯誤的名稱(例如, mysqI.service ) [1,4]。
  • 監控 authorized_keys 是否有未授權的金鑰 [5,8]。
C2 通訊
  • 阻擋帶有異常標頭的 HTTP Request(例如, X-API-KEY: jieruidashabi ) [1,9]。
  • 使用網路入侵偵測系統偵測已知 IoC 網域的流量(例如, lusyn[.]xyz ) [5,6]。
認證竊取
  • 啟用 SELinux;定期驗證 PAM 模組完整性 [1,4]。
  • 監控關鍵路徑( /usr/lib/security/ )的檔案變更 [5,8]。
物聯網特定強化
  • 更改預設認證;將物聯網設備與核心網路分割 [1,2]。
  • 應用韌體更新;停用未使用的服務 [5,8]。

AI 驅動的偵測 :像 Darktrace 這樣的解決方案利用基於異常的偵測來識別行為偏差(例如,意外的 systemd 服務建立或 C2 流量),即使是針對零日 botnet [5,6,8]。

5 與相關威脅的比較

  • Mirai :與 Mirai 的無差別掃描不同,PumaBot 使用精選的 IP 清單進行針對性攻擊。兩者皆利用弱認證,但 PumaBot 強調持續性和認證竊取,而非 DDoS [1,2,7]。
  • Gafgyt/Elknot :這些利用 Log4j 的 botnet 專注於快速傳播,而 PumaBot 優先考慮隱形和長期存取 [3,7,9]。
  • Rootkit 相似性 :PumaBot 的 PAM 替換類似 Linux rootkit(例如, libprocesshider ),但其模組化更新器與進階後門如 Symbiote 相似 [4,6,10]。

6 結論

PumaBot 代表了朝向半目標式、隱形物聯網 botnet 的轉變,優先考慮持續性和資源劫持,而非大規模 DDoS [1,7,9]。其使用 Go 語言實現跨平台攻擊,而模組化 Payload 和 C2 驅動的更新顯示出高度的運作成熟度 [3,6]。防禦者必須採用行為分析(例如,AI 驅動的網路偵測與回應)、嚴格的 SSH 強化以及持續的韌體修補來緩解此類威脅 [5,8]。未來變種可能擴展至企業 Linux 系統,強調主動網路分割和零信任框架的必要性 [2,6,10]。

Copyright © 2025 版權所有 翊天科技有限公司