近期資安研究發現一種名為 PCPJack 的憑證竊取框架,其攻擊目標鎖定暴露在公網上的雲端基礎設施。這類攻擊最危險的地方在於它具備蠕蟲(Worm)特性,意即一旦攻破一台主機,它會自動在網路中搜尋其他漏洞主機並自我複製,達成快速擴散的效果。
對於維運或開發工程師來說,理解 PCPJack 的運作方式至關重要,因為它不單是隨機攻擊,而是針對現代雲端開發環境中常見的組件,如 Docker、Kubernetes、Redis、MongoDB 以及 RayML 等進行精準打擊。
攻擊的切入點與擴散路徑
PCPJack 的攻擊流程從一個啟動腳本(Bootstrap Shell Script)開始。這個腳本的作用是環境準備,包括安裝 Python、建立持久化機制(Persistence,確保伺服器重啟後惡意程式仍能運行),以及下載後續的 Python 攻擊模組。
最值得關注的是其擴散策略。PCPJack 並非盲目掃描,而是利用 Common Crawl(一個提供公開網頁存檔的非營利組織)的數據集來獲取潛在目標。它會針對雲端服務商如 AWS、Google Cloud、Azure 以及 Cloudflare 等的 IP 範圍進行掃描,尋找開啟且存在漏洞的端口。
為了實現自動化擴散,該框架利用了五個特定的 CVE 漏洞(CVE-2025-55182, CVE-2025-29927, CVE-2026-1357, CVE-2025-9501, CVE-2025-48703)。這些漏洞允許攻擊者在未經授權的情況下進入系統,使其能像蠕蟲一樣在雲端環境中橫向移動(Lateral Movement),即從一台受感染的伺服器跳轉到同一網路內的其他伺服器。
模組化設計的竊取機制
PCPJack 採用模組化設計,將不同功能拆分成多個 Python 腳本,這讓攻擊者能靈活更新功能。其核心模組包括:
主調度模組(worm.py):負責整體流程控制,並透過 Telegram 作為 C2(Command and Control,指令與控制伺服器)接收指令與回傳數據。
憑證解析模組(parser.py):將竊取到的金鑰(Keys)與秘密(Secrets)進行分類,以便攻擊者快速識別高價值帳號。
橫向移動模組(lateral.py):專門用於偵察環境,並嘗試透過 SSH 或容器化服務(K8s, Docker)擴展權限。
加密模組(crypto_util.py):在將數據傳回 Telegram 之前先進行加密,以規避網路流量監控設備的偵測。
掃描模組(cloud_scan.py 與 cloud_ranges.py):負責更新雲端 IP 範圍並執行端口掃描,確保擴散目標的準確性。
除了上述模組,攻擊者還會掃描 IMDS(Instance Metadata Service,雲端實例元數據服務)。對於工程師來說,IMDS 是極其敏感的端點,若配置不當,攻擊者可以直接從這裡獲取該雲端實例的臨時權限憑證,進而接管整個雲端資源。
與 TeamPCP 的競爭關係
有趣的是,PCPJack 與另一個已知威脅組織 TeamPCP 有高度的重疊。但 PCPJack 展現出一種競爭甚至排擠的行為:它在感染系統後,會主動搜尋並刪除所有與 TeamPCP 相關的程序與文件。
甚至在回傳數據給控制端時,會特別標記一個 PCP replaced 欄位,用來統計成功從 TeamPCP 手中奪回多少受感染主機。這顯示 PCPJack 的目標不僅是竊取數據,還包含對受感染基礎設施的控制權爭奪。
實務上的防禦建議
面對這類針對雲端基礎設施的自動化攻擊,工程師應採取以下防禦措施:
第一,嚴格控制公網暴露面。除非絕對必要,否則 Redis、MongoDB、RayML 等內部服務絕不應直接對公網開放。
第二,更新補丁與修復漏洞。針對上述提到的 CVE 漏洞,務必確保所有容器鏡像與作業系統已更新至最新版本。
第三,強化 IMDS 安全設定。例如在 AWS 環境中強制使用 IMDSv2,要求必須透過 Session Token 才能訪問元數據,防止簡單的 SSRF 攻擊導致憑證外洩。
第四,實施最小權限原則。限制 Kubernetes Service Account 的權限,避免單一 Pod 被攻破後能直接獲取集群管理權限。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。