漏洞攻擊
CVE-2023-46604 (Apache ActiveMQ) 漏洞被用來感染系統,植入挖礦程式和 Rootkit
我們發現了一起利用 Apache ActiveMQ 漏洞 (CVE-2023-46604) 讓 Linux 系統感染 Kinsing 惡意程式以及挖礦程式 (亦稱 h2miner ) 的案例。
我們發現了一起利用 Apache ActiveMQ 漏洞 (CVE-2023-46604) 讓 Linux 系統感染 Kinsing 惡意程式以及挖礦程式 (亦稱為 h2miner) 的案例。此漏洞可能讓駭客從遠端執行程式碼 (RCE),Kinsing 就是利用這個方式來下載並安裝惡意程式。此漏洞起因於 OpenWire 的指令未檢查 Throwable 類別的型態,進而導致 RCE 漏洞。
以 Java 撰寫的 ActiveMQ 是一種由 Apache 所開發的開放原始碼通訊協定,用來實作訊息導向中介軟體 (MOM)。其主要功能是在不同應用程式之間傳送訊息,此外也支援其他功能,例如:STOMP、Jakarta Messaging (JMS) 和 OpenWire。
Kinsing 惡意程式是一個以 Linux 系統為主要目標的重大威脅,當它駭入伺服器之後,會迅速在網路內部擴散。它是經由攻擊網站應用程式的漏洞,或利用容器環境的組態設定錯誤來駭入伺服器。
最近,Kinsing 幕後駭客集團持續鎖定一些重大的漏洞,例如 CVE-2023-4911 (Looney Tunables) 就是其中之一。Kinsing 一旦感染了某台系統,就會植入虛擬加密貨幣挖礦腳本,利用主機上的資源來挖礦 (例如開採比特幣),嚴重影響系統效能,破壞企業的基礎架構。
受影響的 ActiveMQ 版本
以下列出受到 CVE-2023-46604 漏洞影響的 Apache ActiveMQ 版本:
- Apache ActiveMQ 5.18.0 至 5.18.3
- Apache ActiveMQ 5.17.0 至 5.17.6
- Apache ActiveMQ 5.16.0 至 5.16.7
- Apache ActiveMQ 5.15.16 之前的版本
- Apache ActiveMQ Legacy OpenWire Module 5.18.0 至 5.18.3
- Apache ActiveMQ Legacy OpenWire Module 5.17.0 至 5.17.6
- Apache ActiveMQ Legacy OpenWire Module 5.16.0 至 5.16.7
- Apache ActiveMQ Legacy OpenWire Module 5.8.0 至 5.15.16
建議使用者最好將 Java OpenWire 中介軟體與用戶端都升級至 5.15.16、5.16.7、5.17.6 或 5.18.3 版本來解決這項問題。
CVE-2023-46604 修補前、後差異比較
根據 AMQ-9370 公告的說明,此漏洞的根本原因是 OpenWire 指令在轉換表達方式 (unmarshall) 時未檢查 Throwable 類別的類別型態 (class type) 所導致。
OpenWire 是一種二進位通訊協定,專為訊息導向中介軟體而設計。它是 ActiveMQ 原生的 Wire 格式,廣泛用於開放原始碼訊息與整合平台。相較於其他格式,OpenWire 的二進位格式提供了幾項優點,例如:頻寬利用效率,以及廣泛支援各種訊息類型。這些特性讓它成為企業機構在挑選可靠的高效能訊息系統時的理想選擇。
根據修補前、後的差異比較,我們可看到 BaseDataStreamMarshall 類別當中新增了一個 validateIsThrowable 方法。
當 marshaller 未檢查一個 Throwable 類別 (Java 用來代表例外與錯誤的物件) 的類別型態時,就可能意外地建立和執行任何類別的個體。這就可能導致 RCE 漏洞的發生,使得駭客能在伺服器或應用程式上執行任意程式碼。因此,很重要的一點就是要確實檢查一個 Throwable 類別的類別型態以防範潛在的資安風險。
偵測
從今年 11 月開始就出現了多起實際攻擊案例的通報,這些通報指出有駭客集團正在利用 CVE-2023-46604 漏洞 (例如 HelloKitty 勒索病毒家族的駭客) 以及一些概念驗證攻擊,例如 Metasploit 和 Nuclei。就一個 CVSS 評分 9.8 的漏洞來說, CVE-2023-46604 的整體偵測數量還算不多。
趨勢科技根據網路上看到的 Kinsing 攻擊手法提供了一個 YARA 規則來掃描此漏洞:
rule JAVA_ClassPathXmlApplicationContext_CVE_2023_46604_A
{
meta:
author = "Peter Girnus"
description = "Detects exploit variant used by Kinsing Malware for CVE-2023-46604 ClassPathXmlApplicationContext."
cve = "CVE-2023-46604"
hash = "d8f55bbbcc20e81e46b9bf78f93b73f002c76a8fcdb4dc2ae21b8609445c14f9"
strings:
$s1 = "<?xml"
$s2 = "<beans"
$s3 = "<bean id="
$s4 = "<constructor-arg"
$s5 = "<list>"
$r1 = /\bclass=["']java\.lang\.ProcessBuilder["']/ nocase
$r2 = /<value>[^<]+\.(exe|vbs|bat|ps1|psm|sh)/ nocase
condition:
all of them
}
Kinsing 攻擊 CVE-2023-46604 漏洞
目前已經有一些利用 ProcessBuilder 在受害系統上執行指令的公開攻擊案例。在 Kinsing 的情況,CVE-2023-46604 是用來下載 Kinsing 虛擬加密貨幣挖礦程式暨惡意程式到受害系統上執行。
攻擊得逞之後,虛擬加密貨幣挖礦程式暨惡意程式就會下載一個惡意的安裝腳本,然後利用 bash 來執行惡意腳本。
一旦執行了 bash 腳本,Kinsing 惡意程式就會從幕後操縱 (C&C) 伺服器下載各種架構適用的二進位檔案與惡意檔案。
Kinsing 惡意程式一個很有意思的特點是,它會在處理程序、排程工作與網路連線當中主動尋找競爭對手的挖礦程式 (例如門羅幣挖礦程式,或攻擊 Log4Shell 和 WebLogic 漏洞的挖礦程式)。如果找到就將其處理程序和網路連線終止。不僅如此,Kinsing 還會將受害主機排程工作當中的競爭對手惡意程式和挖礦程式清除。
接著,Kinsing 二進位檔案會被指派一個 Linux 環境變數並開始執行。
最後,Kinsing 會新增一個排程工作,以便每分鐘下載和執行一次自行啟動惡意腳本。
如此就能讓它常駐在受害主機上,同時也確保受害主機上隨時都有最新版的 Kinsing 二進位惡意檔案。
此外,Kinsing 還會進一步常駐及駭入系統,利用 /etc/ld.so.preload 來載入其 rootkit ,徹底掌握系統。我們先前曾發表過一篇研究來討論此事。
結論
CVE-2023-46604 漏洞目前仍持續遭到各種駭客的積極攻擊,例如 Kinsing 駭客集團就利用此漏洞來從事不肖活動,包括挖礦。對全球各地的企業都是一項嚴重的資安風險。
凡採用 Apache ActiveMQ 的企業,都應該立即採取行動來盡快修補 CVE-2023-46604 漏洞,以防範 Kinsing 所帶來的相關風險。由於此惡意程式有能力在網路內部擴散並攻擊多個漏洞,因此,隨時套用最新的資安修補、定期檢查組態設定、監控網路流量是否出現異常活動等等,都是完整網路資安策略非常重要的一環。
隨著駭客持續演進並日益精進,網路資安團隊必須隨時保持警戒,持續提升自己的資安措施以保障系統和資料的安全。企業可採用像 Trend Vision One™️ 這樣的解決方案來讓資安團隊持續發掘已知、未知、未受管理、已受管理的網路資產。Trend Vision One 提供了全方位的防範、偵測及回應能力,並以人工智慧 (AI)、進階威脅研究和情報為後盾,更快偵測、回應及矯正威脅。
企業應考慮採用全方位的資安解決方案來部署頂尖的多層式防禦策略,例如:Trend Micro™ Managed XDR,它可偵測、掃描、攔截今日威脅情勢當中的惡意內容。
以下規則和過濾條件可提供額外的防護來防範 CVE-2023-46604 漏洞攻擊:
Trend Cloud One™ – Network Security and Trend Micro™ TippingPoint™ Protection Filters
- 43439: HTTP: Apache ActiveMQ OpenWire Protocol Remote Code Execution Vulnerability
Trend Cloud One™ – Workload Security 與 Trend Micro™ Deep Security™ IPS 規則
- 1,011,897 - Apache ActiveMQ Deserialization of Untrusted Data Vulnerability (CVE-2023-46604)
入侵指標 (IoC)
如需本文提到的入侵指標完整清單,請至此處。