這是一起典型的漏洞鏈攻擊案例。攻擊者並非依賴單一漏洞,而是將多個低風險或中風險的漏洞串聯起來,最終達成最高權限的控制。這次受影響的是 SonicWall SMA 1000 系列的 VPN 設備,由安全公司 Volexity 追蹤的威脅組織 UTA0533 在漏洞公開前就已將其作為零日漏洞(Zero-Day,指尚未有官方補丁且被利用的漏洞)進行攻擊。
對於工程師來說,理解這次攻擊的核心在於「信任邊界的崩潰」。VPN 設備通常被視為網路的門神,但如果門神內部的管理介面或本地服務被外部觸及,整個企業內網將面臨極高風險。
攻擊路徑解析
這次攻擊的精髓在於建立一個從外部到設備內部的隧道。
第一階段:突破邊界(CVE-2026-15409) 攻擊者發現了一個預認證繞過漏洞。正常情況下,外部請求必須經過身份驗證才能訪問內部服務。但透過偽造特定的 User-Agent(標記為 SMA Connect Agent)並在參數中加入特定的 bmID 值,攻擊者可以欺騙設備,建立一個 WebSocket 隧道。
WebSocket 是一種全雙工通訊協定,讓伺服器與客戶端能即時交換資料。在這次案例中,攻擊者利用這個隧道,將外部請求直接轉發到設備內部僅限本地訪問(Localhost-only)的服務上。這就像是攻擊者在圍牆上開了一個小洞,讓他們可以直接跟牆內的人說話,而不需要經過大門的警衛。
第二階段:內部偵查與權限獲取 進入隧道後,攻擊者鎖定了設備內建的 CouchDB(一種 NoSQL 資料庫)。由於 CouchDB 以本地用戶身份運行,攻擊者利用它來讀取系統文件。
這裡涉及一個有趣的設計缺陷:設備的管理服務(ctrl-service)使用一個基於硬體唯一識別碼(product_uuid)衍生出的密碼進行 Basic 認證。然而,這個 UUID 文件在系統中是對所有用戶開放讀取的。攻擊者透過 CouchDB 讀取該 UUID,隨即推算出管理服務的密碼,成功繞過認證。
第三階段:權限提升至 Root(CVE-2026-15410) 雖然拿到了管理權限,但此時仍不是系統最高權限 Root。攻擊者接著利用 CVE-2026-15410,這是一個路徑穿越(Path Traversal)漏洞,存在於移除熱修補程式(remove_hotfix)的工作流程中。路徑穿越允許攻擊者在文件系統中跳出預設目錄,讀寫任意文件。透過此漏洞,攻擊者成功執行任意指令並將權限提升至 Root。
後續操作與持久化
一旦獲得 Root 權限,攻擊者開始在設備上佈署工具以確保長期控制:
權限後門:寫入一個名為 xzfind 的 ELF 執行檔。這是一個 setuid 程式,允許任何低權限用戶在執行它時直接獲得 Root 權限。 遠端控制:部署名為 KNUCKLEBALL 的 Python 腳本,將 Java Web Shell(ORANGETAIL)和 HTTP 代理工具(Suo5)注入到合法進程中,並修改 NGINX 配置將外部請求導向這些後門。 流量監控:在部分設備上運行 tcpdump(網路封包擷取工具),監控未加密的 LDAP 流量,藉此竊取企業內部的使用者名稱與密碼。
技術總結與實務啟示
這次攻擊給我們三個重要的安全教訓:
首先,不要過度信任 localhost。許多開發者認為只要服務僅監聽 127.0.0.1 就是安全的,但如果前端存在 WebSocket 隧道或 SSRF(伺服器端請求偽造)漏洞,本地服務將直接暴露在攻擊者面前。
其次,敏感資訊的衍生邏輯不可預測。使用硬體 UUID 作為密碼種子,且該 UUID 可被低權限讀取,這在安全設計上是嚴重的失誤。
最後,漏洞鏈的威力。單看一個路徑穿越或一個認證繞過可能覺得風險可控,但當它們被串聯在一起時,就能將一個外部匿名用戶轉化為系統最高管理員。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。