網路資安威脅
AI 輔助生成的假 GitHub 儲存庫協助 SmartLoader 與 Lumma Stealer 散布
本文揭發一起利用假的 GitHub 儲存庫來散布 SmartLoader,接著再用 SmartLoader 散布 Lumma Stealer 與其他惡意檔案的攻擊行動。這起攻擊利用了人們對 GitHub 的信賴來躲避偵測,並使用 AI 生成內容來讓假的儲存庫看起來跟真的一樣。
- Trend Research 揭發了一起利用假的 GitHub 儲存庫來散布 SmartLoader,接著再用 SmartLoader 散布 Lumma Stealer 與其他惡意檔案的攻擊行動。這些儲存庫會將惡意程式偽裝成遊戲作弊程式、破解軟體以及系統工具來欺騙使用者。
- 這起攻擊利用了人們對 GitHub 的信賴來躲避偵測,並使用 AI 生成內容來讓假的儲存庫看起來跟真的一樣。惡意的 ZIP 檔案含有經過加密編碼的 Lua 腳本,會在解壓縮時執行有害的惡意檔案。
- 駭客一旦攻擊得逞,就能竊取機敏資訊,例如:虛擬加密貨幣錢包、雙重認證 (2FA) 擴充元件、登入憑證,以及其他個人身分識別資訊 (PII),這些都可能導致身分冒用或金融詐騙。
- 駭客集團正在改變手法,從原本使用 GitHub 檔案附件的作法變成建立整個儲存庫,再結合社交工程技巧與 AI 輔助欺騙手段。
- 企業和一般個人都應採取一些主動的最佳實務原則和習慣,例如:僅從官方來源下載軟體、習慣性檢查儲存庫的真實性、啟用資安工具,以及教育使用者如何防範這類威脅。
駭客集團正在使用假的 GitHub 儲存庫搭配大量的 AI 生成誘餌來散布惡意程式,利用看似正常的工具來欺騙使用者,同時躲避偵測。趨勢科技威脅追蹤團隊發現了一起目前仍在持續當中的攻擊行動,該行動利用上述儲存庫來散布 SmartLoader,接著再用 SmartLoader 散布其他惡意程式,如 Lumma Stealer。後者是一個經由惡意程式服務 (Malware-as-a-Service,簡稱 MaaS) 散播的資訊竊取程式 (其作者就是我們追蹤中的 Water Kurita)。這些惡意儲存庫大多偽裝成一些無害的工具,如:遊戲作弊程式、破解軟體、虛擬加密貨幣工具等等。攻擊行動會宣稱提供免費或不合法的功能來吸引受害者上當,讓他們下載惡意的 ZIP 檔案 (如:Release.zip、Software.zip)。這些檔案在執行時會在系統植入 SmartLoader,最終會散播 Lumma Stealer。
這起攻擊利用了人們對 GitHub 的信賴來避開第一道偵測,並利用社交工程技巧來吸引正在尋找遊戲修改程式、軟體破解或其他工具的使用者。這起攻擊突顯出即使是正常的平台也可能被用來散布惡意程式,並且證明下載未經查驗的「灰色地帶」工具有多麼危險 (即使是從看似正常的來源下載)。
利用 GitHub 從事惡意活動
使用 GitHub 來散布惡意程式已經不是什麼新的技巧,但由於偵測技術上的限制,至今仍是一項揮之不去的威脅。儘管駭客以往的攻擊主要是利用 GitHub 來代管惡意檔案,但他們的手法已經更加進化。現在他們會更主動地利用人們對 GitHub 的信賴,再搭配生成式 AI 來產生幾可亂真的假儲存庫。隨著駭客集團不斷創新,這樣的策略預計將持續擴大,進一步強化 GitHub 作為惡意程式散布管道的重要角色。
我們可以在 X/Twitter 上看到一個經由假的 GitHub 儲存庫散布惡意程式的範例。由於資安研究人員經常會發布推文來討論 GitHub 上的開放原始碼工具,所以駭客有可能利用這點來假扮成研究人員。這樣做是為了吸引不知情的使用者下載惡意和/或冒牌的工具,使他們誤以為是正常工具。
此外,SmartLoader 通常透過含有加密編碼腳本的 ZIP 檔案來散播。其壓縮檔中的唯一惡意元件就是一個經過加密編碼的 Lua 腳本,其餘的檔案則看起來無害。
技術面分析
最初的誘餌
惡意程式攻擊行動一開始使用了一個設計得幾可亂真的假 GitHub 儲存庫,通常是模仿某個熱門工具或軟體。駭客利用人們對 GitHub 的信賴,誘騙使用者下載惡意檔案。駭客使用 AI 來生成逼真的 README 檔案和文件,讓儲存庫看起來既專業又真實,藉此增加使用者上當安裝惡意程式的機率。
假的儲存庫之所以會露餡,是因為其 README 內容的格式似乎有大量 AI 生成的痕跡,例如:使用過多的表情符號、不自然的用詞、超連結標誌,以及結構化內容。該儲存庫只包含 README 一個檔案,而且所有超連結都指向刻意隱藏在版本發行區段中的惡意檔案,避免它們看起太過醒目。
儲存庫的主要作用,是要引誘使用者在不知情的狀況下,下載含有 SmartLoader 惡意程式的 ZIP 檔案。ZIP 檔解壓縮後會產生四個元件:
- lua51.dll:LUAJIT 執行時期解譯器。
- luajit.exe: Lua 載入器執行檔。
- userdata.txt:惡意的 Lua 腳本。
- Launcher.bat:用來執行 luajit.exe 的批次檔,並傳入「userdata.txt」作為參數。
執行檔和 DLL 本身並非惡意檔案,但批次檔案卻是專為啟動 luajit.exe 而設計,它會執行 userdata.txt 當中隱藏的 Lua 腳本。這個腳本才是真正的惡意檔案,負責入侵受害者的系統。
與先前的 SmartLoader 攻擊行動相似及不同之處
2024 年 10 月,我們發表了一篇部落格來分析使用惡意 Lua 腳本與其他惡意程式元件的技巧。該研究詳細剖析了 Lua 腳本,包括其解碼過程與預期行為。
以下摘要說明其主要發現:
- 惡意程式是經由 ZIP 壓縮檔中的加密編碼 Lua 腳本散布。
- 一個批次檔會啟動 Compiler.exe 來載入 lua51.dll 並執行惡意腳本。
- 載入器會連上幕後操縱 (CC) 伺服器來接收命令並執行工作。
- 它使用 Prometheus Obfuscator 和 ffi 函式庫來阻礙分析並保護程式碼的完整性。
- 它會蒐集系統資訊,並利用排程工作來常駐系統。
- 它會執行指令來躲避資安防禦、下載惡意檔案,並常駐於系統內。
- 它會部署 CypherIT Loader/Crypter 和 Redline,後者是知名的資訊竊取程式,在暗網市集上相當活躍,專門販售偷來的登入憑證。
此外,還有另一份報告也詳述了一起採用相同策略的相關攻擊行動,只不過使用了 Lumma Stealer 作為惡意檔案。這兩起攻擊行動都採用相同的技巧,並經由 SmartLoader 來散布。
與 2024 年 10 月的攻擊行動 (假網頁) 相似之處如下:
- 派送基礎架構:惡意檔案都放在 GitHub 上的「user/file-attachments」底下。
- 誘餌機制:假網頁會模仿正常的軟體下載網站,點選「Download」(下載) 按鈕,即可從 GitHub 擷取惡意程式。
然而,這起假 GitHub 儲存庫攻擊行動在以下幾點上更加進化:
- 改變代管方式:駭客不再使用 GitHub 檔案附件,而是將惡意檔案存放在假儲存庫的「Releases」(版本發行) 區段中。
- 新的誘餌機制:使用 AI 生成的儲存庫 README 檔案來取代假網頁作為主要誘餌。
- 持續演進的躲避技巧:在 2024 年 10 月的攻擊行動被揭露之後,駭客立即發展出新的躲避偵測手法,但同樣還是利用人們對 GitHub 的信賴。
SmartLoader 背後的駭客集團展現了強大的適應能力,捨棄原本的 GitHub 檔案附件而改用儲存庫,但核心的技巧仍維持不變,例如加密編碼的 Lua 腳本和批次執行程序。這突顯出儘管資安審查日益嚴格,他們依然努力維持著營運韌性。
從 SmartLoader 至 Lumma Stealer
圖 2 顯示完整的攻擊過程,從一開始的誘餌,到最後散布的惡意檔案。它詳細說明了流程的每個階段,標示出從 SmartLoader 到 Lumma Stealer 惡意程式的攻擊執行過程。
此外,圖 3 也補充了一些資訊,顯示從 SmartLoader 執行到散布 Lumma Stealer 惡意程式的網路流量 (透過 Wireshark 所擷取)。
載入器執行的最後一步就是載入 Lumma Stealer 惡意程式。它會從 GitHub 擷取一個檔案,將它儲存成「search.exe」,接著用它來執行 Lumma Stealer。這個執行檔會在系統植入必要的檔案,並且執行一個隱藏在 Excel 檔案內的加密 AutoIt 腳本。
SmartLoader 可以在載入惡意檔案時將檔案變大,使檔案大小增加到 1GB 左右。「入侵指標資料」一節也包含了從下方 GitHub 連結下載的編碼文字檔 (l.txt 和 lmd.txt) 的雜湊碼。
在擷取並執行下載的檔案之後,它會啟動一系列指令來建立並執行其他檔案,為 Lumma Stealer 惡意程式準備好舞台。它會執行一些惡意行為,例如在 %TEMP% 資料夾中建立惡意檔案,將檔案串接成一個批次腳本,然後將它執行:
cmd /c copy /bc..\Entertaining.xls + ..\Divide.xls + ..\Providence.xls + ..\Shakespeare.xls + ..\Adolescent.xls + ..\Divided.xls + ..\Unnecessary.xls + ..\Karma.xls
此外,它還會使用 findstr 指令來搜尋多種資安軟體:
findstr /I "opssvc wrsa"
findstr "AvastUI AVGUI bdservicehost nsWscSvc ekrn SophosHealth"
批次腳本會在 %TEMP% 資料夾內另外產生一個名為「Research.com」的檔案,這是一個名稱刻意誤導的 AutoIT 的解譯器。最後,它會使用以下指令來執行瀏覽器的除錯功能,接著連上 CC 伺服器:
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --profile-directory="Default" --remote-debugging-port=9222
最終,Lumma Stealer 會連上它的 CC 伺服器,網址在:Pasteflawwed[.]world。這個通訊管道可用來將受感染系統上蒐集到的記錄檔和其他機敏資訊外傳。
網路駭客可利用 GitHub 提供的惡意程式來發動高度毀滅性的攻擊,尤其是結合 Lumma Stealer 這類進階威脅時,因為它們可從網頁瀏覽器蒐集資訊、入侵虛擬加密貨幣錢包和 2FA 擴充元件,並且竊取機敏資料 (如登入憑證、金融資訊及其他 PII)。如此可能讓受害者身分被盜用、遭遇金融詐騙,以及重要帳號遭未經授權存取,導致嚴重的財務與個人後果。除此之外,駭客還會利用偷來的資料賺錢,將資料賣給其他駭客集團牟利,進一步擴大受害者面臨的風險。
這些攻擊突顯出 AI 驅動的資安威脅與精密的惡意程式 (如 Lumma Stealer) 如何降低駭客入侵個人及公司帳號的障礙。隨著駭客集團越來越常利用進階工具來將攻擊自動化及強化,企業顯然迫切需要更強大的網路資安措施來應對。建置強大的防禦,對防範這些快速演變的威脅至關重要。
防範措施與建議
要防範像 SmartLoader 這樣的威脅及類似的惡意程式攻擊行動,一般個人和企業應考慮採取以下最佳實務原則:
- 僅從官方來源下載軟體:避開提供免費或破解軟體的第三方網站、Torrent 下載點以及儲存庫。
- 查驗儲存庫的真實性:檢查其貢獻者、儲存庫歷史記錄看起來是否正常,以及是否有 AI 生成的跡象,或可疑的文件。
- 啟用資安功能:採用端點防護解決方案來偵測及封鎖惡意下載。
- 先分析檔案再加以執行:先使用沙盒模擬分析工具來掃描未知檔案,然後再加以執行。
- 建置網路資安控管:攔截已知的惡意 GitHub 儲存庫,禁止從未經查驗的來源下載檔案。
- 監控異常活動:使用資安事件管理 (SIEM) 工具來偵測未經授權的腳本執行與異常的對外連線。
- 教育員工有關社交工程的風險:舉辦資安意識教育訓練來防止員工落入假儲存庫的陷阱。
- 強制貫徹應用程式控管政策:採取措施來防止未經授權的應用程式和腳本執行。
只要遵守這些最佳實務原則,使用者和企業就能降低受害的風險,防範利用 GitHub 這類可信賴平台的惡意程式攻擊行動。儘管駭客會不斷進化,但採取主動式資安方法可有助於防範這些不斷演變的威脅。
採用 Trend Vision One™ 的主動式防護
Trend Vision One™ 是一套能簡化資安作業的企業網路資安平台,藉由整合多種防護功能、強化企業對攻擊面的掌握,以及提供資安風險狀況的全方位可視性,來協助企業更快偵測及攔截威脅。這套雲端式平台,運用了 AI 以及來自全球 2.5 億個感測器與 16 個威脅研究中心的威脅情報,在單一解決方案當中提供了完整的風險洞見、早期威脅偵測,以及自動化風險與威脅回應選項。
Trend Vision One 威脅情報
要隨時掌握持續演變的威脅,Trend Vision One 客戶可透過 Intelligence Reports 以及 Threat Insights 取得各種情報與威脅洞見。Threat Insights 可幫助客戶在威脅發生之前便提前掌握,並對新興的威脅預先做好準備,提供有關駭客、惡意活動及駭客技巧的完整資訊。善用這些情報,客戶就能主動採取步驟來保護自己的環境、防範風險,並且有效回應威脅。
Trend Vision One Intelligence Reports 應用程式 [IoC 掃描]
- 從 SmartLoader 到 Lumma Stealer:AI 生成的假 GitHub 儲存庫散布惡意程式
Trend Vision One Threat Insights 應用程式
追蹤查詢
Trend Vision One Search 應用程式
Trend Vision One 客戶可以使用 Search 應用程式來尋找或追蹤本文提到的惡意指標,看看是否也出現在自己的環境中。
Lumma Stealer 連線至 CC 伺服器
eventSubId:301 AND processFilePath:Research.com AND hostName:pasteflawwed.world
除此之外,Trend Vision One 客戶還可啟用 Threat Insights 權利來取得更多追蹤查詢。
結論
這起仍在持續當中的攻擊行動,利用假的 GitHub 儲存庫來散布 SmartLoader 和 Lumma Stealer,突顯出駭客集團的手法會不斷翻新。駭客利用人們對 GitHub 的信賴,再透過社交工程技巧與 AI 生成的內容來誘騙受害者下載惡意檔案。從使用 GitHub 檔案附件的傳統作法,轉變成使用整個儲存庫,證明了駭客躲避偵測及維持營運韌性的適應能力。
隨著資安威脅的持續演進,企業和一般使用者都必須隨時保持警戒來防範上述欺騙手段。這起攻擊行動突顯出檢查軟體來源的重要性,尤其是在面對開放原始碼平台時。
入侵指標資料
如需本文提到的入侵指標完整清單,請至此處。