惡意程式
揭發經由 Tor 發動的 Docker 漏洞攻擊
最近有一起攻擊行動利用了暴露在外的 Docker Remote API 並經由 Tor 網路來植入隱匿的虛擬加密貨幣挖礦程式,本文將逐一拆解這起攻擊的過程。
重點摘要
- 駭客集團已開發出一種聰明的新式攻擊,結合 Docker Remote API 與 Tor 匿名網路,在受害系統上暗中挖礦。
- 駭客正利用組態設定錯誤的 Docker API 來進入容器化環境,接著利用 Tor 來隱藏自己的活動,同時部署虛擬加密貨幣挖礦程式。值得注意的是,我們發現駭客使用了 zstd 這套以 ZStandard 演算法為基礎的工具,其壓縮比很高、解壓縮速度也很快。
- 任何使用容器化應用程式的企業機構都有潛在危險,不過我們發現駭客活動特別集中在重度仰賴雲端的產業,例如:科技公司、金融服務以及醫療機構。
- Trend Vision One™ 已經可以偵測並攔截本文討論到的入侵指標 (IoC)。此外,Trend Vision One 還提供了追蹤查詢、Threat Insights 及 Intelligence Reports 來取得有關這起攻擊的豐富資訊。
最近我們發現了一起值得注意的攻擊,結合了 Docker Remote API 和 Tor 網路。之前我們就曾見過駭客使用 XMRig 虛擬加密貨幣挖礦程式在受害的電腦上暗中挖礦。這次,駭客使用了一種新的方法來安裝挖礦程式,並利用 Tor 網路來隱藏身分。我們使用了一台刻意暴露在外的 Docker Remote API 伺服器來觀察這起攻擊在網路上的行為。 本文說明這起攻擊的運作方式,以及它對資安的意義。
攻擊順序

突破防線
攻擊的一開始是一個來自 IP 位址 198[.]199[.]72[.]27 的請求,對象是一台 Docker Remote API 伺服器,該請求試圖取得伺服器上執行的容器清單。

然而從伺服器的回應可以看出,目前並無容器正在執行,不屈不撓的駭客,繼續利用 POST 請求來建立一個新的容器:

在這個容器建立請求中,駭客要求根據「alpine」這個 docker 映像來建立一個容器,並將主機的根目錄「(/:/hostroot:rw)」掛載到容器內部,這是一種用來存取或操控主機系統的常見手法,也是一種試圖逃離容器的常見技巧。惡意指令是以 base64 編碼來隱藏其意圖並避開單純的字串偵測機制,它經由指令列介面 (shell) 來解碼和執行實際的惡意腳本,解碼後的指令如下:

這串指令會在容器內建立 Tor 連線,以匿名方式從一台隱藏的「.onion」伺服器取得一個遠端腳本來執行。這是駭客經常用來隱藏幕後操縱 (CC) 基礎架構、躲避偵測,並且在受駭的雲端或容器環境內散布惡意程式或挖礦程式的常見手法。除此之外,駭客還會利用「socks5h」來將所有流量和 DNS 解析請求導向 Tor 來進一步隱藏自己的身分,並且躲避偵測。
一旦容器建立請求成功完成、並收到回應之後,駭客就會啟動新建立的容器。

base64 編碼的惡意指令會從 Tor 網路上的檔案伺服器取得惡意指令列腳本「docker-init.sh」並植入系統,該腳本包含以下內容。
此腳本執行的工作如下:
- 修改主機上的 SSH 組態設定 (提升權限、建立後門):
- 檢查先前容器建立時所掛載的「/hostroot」目錄是否存在。
- 在主機的 sshd_config 當中啟用 root (系統管理員) 登入與 pubkey (公開金鑰) 驗證。
- 在主機的 authorized_keys 檔案最後附加一個 base64 字串 (SSH 公開金鑰),藉此建立一個永久性的後門以方便日後進出系統。


- 經由 Tor 發送 CC 信標 (以匿名方式向駭客回報):
- 使用 curl 經由 Tor 的「.onion」網域將系統資訊 (IP、架構) 傳送至駭客的 CC 伺服器。
- 標示電腦已遭駭入。

- 經由 Tor 下載二進位檔案:
- 駭客利用 torsocks 將流量導向 Tor 網路,並下載一個針對目標系統架構量身打造的 Zstandard 壓縮惡意檔案 (.zst)。如此一來,駭客就能以更快、更小、更精簡的形式散布惡意程式。

- 解壓縮並執行惡意檔案:
- 解壓縮二進位檔案,將它設為可執行,並提高使用者可開啟的檔案數量上限,然後執行主要的惡意程式。

惡意的二進位檔案
被下載的二進位檔案是 XMRig 虛擬加密貨幣挖礦程式的植入器。這個植入器內含挖礦程式的二進位檔案,以及所有必要的執行步驟,因此不需再下載任何外部元件就能部署挖礦程式。這樣的作法能有助於駭客躲避偵測,並且簡化在受駭環境中的部署工作。負責執行挖礦程式的指令如下:

植入器二進位檔案包含了所有的錢包位址、礦池網址,以及執行參數,不僅能一氣呵成輕鬆植入挖礦程式,還能儘量減少外部相依性,有助於躲避偵測。

以下引用 MITRE ATT&CK 框架摘要整理出駭客在這起攻擊中用到的手法、技巧與程序 (TTP):
手法 | 技巧 | 技巧編號 |
突破防線 | 經由漏洞攻擊企業對外的應用程式 | T1190 |
執行 | 部署容器 | T1610 |
指令與腳本解譯器:Unix 指令列介面程式 | T1059.004 | |
提升權限 | 逃離至主機 | T1611 |
常駐 | 帳號篡改:SSH 授權金鑰 | T1098.004 |
躲避防禦 | 加密編碼的檔案或資訊:壓縮 | T1027.015 |
幕後操縱 | 代理器 (Proxy):多點跳躍 (multi-hop) 代理器 | T1090.003 |
加密管道:非對稱式加密 | T1573.002 | |
對內傳輸工具 | T1105 | |
應用程式層通訊協定 | T1071 |
表 1:摘要列出攻擊中所用到的 TTP。
建議
我們建議採取以下最佳實務原則來保護開發環境、防止駭客攻擊容器與主機:
- 容器和 API 必須正確設定,才能減少漏洞攻擊的風險。Docker 已提供了明確的指引來協助使用者提升自己的安全。
- 企業應僅使用官方或經過認證的映像,以確保唯有受信任的內容能在環境內執行。
- 容器不應以系統管理員 (root) 權限執行,而是應該以應用程式使用者的身分執行。
- 透過組態設定讓容器只開放給信賴的對象存取,例如內部網路。
- 企業應落實建議的最佳實務原則,例如,Docker 便提供了一份完整的最佳實務原則清單,並內建了一些安全功能來讓使用者改善其雲端環境的安全。
- 定期執行資安稽核來檢查是否有任何可疑的容器和映像。
結論
這起攻擊突顯出駭客的手法相當精密,結合了 Docker API 和 Tor 網路來隱藏其活動。透過攻擊的逐步拆解,我們獲得了有關其手法、技巧與程序 (TTP) 的珍貴洞察,有助於我們強化防禦並保護關鍵基礎架構。
採用 Trend Vision One™ 的主動式防護
Trend Vision One™ 是唯一將資安曝險管理、資安營運以及強大的多層式防護集中在一起的 AI 驅動企業網路資安平台。這套全方位的方法能協助您預測及防範威脅,讓您在所有數位資產上加速實現主動式防護的成果。它憑著數十年的網路資安領導地位,以及業界首創的 Trend Cybertron 主動式網路資安 AI,為您帶來經得起考驗的具體成果:減少 92% 的勒索病毒風險,以及縮短 99% 的偵測時間。資安領導人可評量自己的資安狀況,向所有利害關係人展示資安的持續改善。有了 Trend Vision One,您就能消除資安盲點,專心處理最重要的問題,讓資安晉升為支援您創新的策略合作夥伴。
趨勢科技威脅情報
為了隨時掌握不斷演變的威脅,趨勢科技客戶可透過 Trend Vision One™ Threat Insights 來取得 Trend Research 有關新興威脅及駭客集團的最新洞見。
Trend Vision One Threat Insights
Trend Vision One Intelligence Reports 應用程式 (IoC 掃描)
追蹤查詢
Trend Vision One Search 應用程式
Trend Vision One 客戶可以使用 Search 應用程式來尋找或追蹤本文提到的惡意指標,看看是否也出現在自己的環境中。
利用 Zstd 在暫存資料夾中解壓縮惡意程式
eventSubId: 2 AND objectCmd:zstd AND objectCmd:"* -d *" AND objectCmd: "*/tmp/*" AND objectFilePath:"*bin/zstd"
除此之外,Trend Vision One 客戶還可啟用 Threat Insights 權利來取得更多追蹤查詢。
入侵指標 (IoC)
SHA256 雜湊碼 | 檔案名稱 | 偵測名稱 |
1bb95a02f1c12c142e4e34014412608668c56502f28520c07cad979fa8ea6455 | pkg-updater | Coinminer.Linux.MALXMR.SMDSL64 |
04b307515dd8179f9c9855aa6803b333adb3e3475a0ecc688b698957f9f750ad | docker-init.sh | HackTool.SH.Masscan.B |
f185d41df90878555a0328c19b86e7e9663497384d6b3aae80cb93dbbd591740 | System.zst | HackTool.Linux.Masscan.A |
b9b8a041ff1d71aaea1c9d353cc79f6d59ec03c781f34d731c3f00b85dc7ecd8 | system | HackTool.Linux.Masscan.A |
網址與 IP 位址
- 198[.]199[.]72[.]27
- http[:]//wtxqf54djhp5pskv2lfyduub5ievxbyvlzjgjopk6hxge5umombr63ad[.]onion/static/docker-init.sh
- http[:]//wtxqf54djhp5pskv2lfyduub5ievxbyvlzjgjopk6hxge5umombr63ad[.]onion/bot/add
- http[:]//2hdv5kven4m422wx4dmqabotumkeisrstzkzaotvuhwx3aebdig573qd[.]onion:9000/binary/system-linux-$(uname -m).zst
- gulf[.]moneroocean[.]stream:10128