雲端環境的安全性往往被認為由供應商保障,但實際上,若伺服器配置不當或被盜取憑證,攻擊者能將其轉化為強大的攻擊跳板。近期被揭露的 PCPJack 攻擊行動,展示了攻擊者如何將 230 台分佈於 AWS、Google Cloud 與 Azure 的雲端伺服器,悄悄轉化為一個大規模的 SMTP 郵件轉發網路。
對於工程師來說,這個案例最值得關注的不是被駭的數量,而是攻擊者如何利用自動化工具來篩選、維護並驗證這些受控伺服器的可用性。
攻擊者的基礎設施與 C2 運作法
這次事件之所以被發現,是因為攻擊者在 C2 伺服器(Command and Control,指令與控制伺服器,指攻擊者用來遠端操控受害機器的中心節點)上)留下了兩個沒有權限驗證的公開目錄。這讓資安研究人員得以獲取其完整的工具集,包括 Sliver 的配置、部署腳本以及 Chisel 的二進位檔。
Sliver 是一個強大的開源後滲透框架,攻擊者利用它來管理受控端(Beacons)。Beacon 就像是安裝在受害機上的間諜程式,會定期向 C2 伺服器回報狀態並接收指令。
為了讓管理更高效,PCPJack 採取了一種巧妙的埠號管理方式。他們利用受控端的 Sliver UUID(唯一識別碼)進行 MD5 雜湊運算,將其對應到 10000 至 14999 的埠號區間。這樣做的好處是每個受控端永遠對應到同一個固定埠號,不需要在伺服器端維護一個複雜的對照表。
將伺服器轉化為 SMTP 代理網路
攻擊者的核心目標是建立一個 SMTP Relay(郵件轉發)網路。SMTP 是簡單郵件傳輸協定,用於發送電子郵件。如果攻擊者直接用自己的伺服器發大量垃圾郵件,很快會被黑名單封鎖;但如果利用信譽良好的雲端供應商 IP 作為跳板,郵件更容易進入收件者的信箱。
為了確保每台被劫持的伺服器都能發信,他們設計了一套品質閘門(Quality Gate)篩選機制。部署腳本會測試受控端是否能成功連接到 gmail.com 的 587 埠。如果連不上,該伺服器會被直接捨棄,因為無法轉發郵件的伺服器對此計畫沒有價值。
為了維持網路的穩定性,攻擊者使用了 Chisel。Chisel 是一種透過 HTTP 隧道進行 TCP 轉發的工具,能有效繞過防火牆限制,將受控端的流量導向 C2 伺服器。
自動化維護與同步流程
這套系統並非靜態,而是一個高度自動化的管線。攻擊者在 C2 伺服器上運行一個 Python 守護行程,每 60 秒掃描一次活動中的 Chisel 隧道,並重新驗證 SMTP 功能。
一旦驗證通過,系統會透過 ipify 與 ip-api 等服務,為該代理伺服器標記出口 IP、國家與 ASN(自治系統號碼,用於識別網路營運商)。最後,這份經過篩選的可用代理清單每五分鐘會透過 SCP(安全複製協定)同步到另一個下游伺服器,供最終的攻擊者(可能是發送垃圾郵件或釣魚郵件的團體)使用。
實務上的啟發與防禦建議
這個案例提醒我們,即使伺服器位於雲端,若缺乏適當的出口流量控制(Egress Filtering),一旦被入侵,就可能成為攻擊者的跳板。
首先,應嚴格限制伺服器的對外連線。除非是郵件伺服器,否則一般應用伺服器不應允許對外開啟 SMTP 相關埠號(如 25, 465, 587)。
其次,監控異常的網路連線。例如,伺服器突然與未知的外部 IP 建立長時間的 HTTP 隧道連線,或出現大量對外發送郵件的流量,都是典型的入侵徵兆。
最後,定期審核雲端憑證與權限。PCPJack 的前身 TeamPCP 擅長透過盜取憑證進入雲端環境,實施供應鏈攻擊。確保使用多因素驗證(MFA)並遵循最小權限原則,能大幅降低被劫持的風險。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。