資訊竊取惡意軟體-線程流暢程式碼混淆

剖析多階段資訊竊取惡意軟體包

Python 套件 線程流暢在 PyPI 上發現的,已被確認為 惡毒該惡意軟體包含一種傳統的竊取資訊惡意軟體。然而,其最顯著的特點是使用了高階程式碼混淆技術來掩蓋其有效載荷,使得分析變得異常困難。該惡意軟體在其攻擊鏈中迭代地使用了三層混淆技術,為人工解構帶來了巨大的障礙。

我們的惡意軟體預警團隊已將該軟體包報告給 PyPI 安全團隊,他們迅速將其移除。本文將說明該軟體包被移除的各個階段。 線程流暢本文將探討該惡意軟體的攻擊及其隱藏目的的方法,重點是分析資訊竊取惡意軟體和程式碼混淆技術如何協同工作。

速查表:資訊竊取惡意軟體和程式碼混淆

什麼是資訊竊取惡意軟體?

資訊竊取惡意軟體就像數位世界中的狡猾竊賊。它會在您毫無察覺的情況下悄悄竊取敏感資訊,例如您的密碼、信用卡號或個人資訊。這些程式會記錄您的輸入(鍵盤記錄)、劫持您的瀏覽器或掃描您裝置上的檔案以收集有價值的資料。最可怕的是,它們非常擅長隱藏自身。

ThreadFluent 資訊竊取惡意軟體的混淆層

1. 三重加密

混淆過程始於嵌入在資料包中的高度加密有效載荷。 fluent.py 文件。初始編碼和解密過程可概括如下:

encoded_data = base64_module.b64decode("... BASE-6 with encrypted payload, IV and RSA-encrypted keys…”); # … Sequential decryption: ChaCha20, Blowfish and AES … encrypted_payload = AES_Cipher.new(aes_key, AES_Cipher.MODE_CBC, iv=aes_iv).decrypt(encrypted_payload[16:]) final_payload = unpad_function(encrypted_payload, AES_Cipher.block_size) exec( zlib_module.decompress(bz2_module.decompress(final_payload)) ) 

這種混淆過程包括:

  • 壓縮使用 gzip 和 bzip。
  • 對稱加密:採用 ChaCha20、Blowfish 和 AES 進行鍊式加密。
  • 非對稱加密RSA 用於加密對稱金鑰。

結果以 Base64 編碼並插入。 編碼資料每次迭代都建立在前一次迭代的基礎上,從而創建一個嵌套的加密結構,使得在不進行逆向工程的情況下,極難發現實際的有效載荷。

 

2. Gzip 解壓縮

在許多中間步驟中,該惡意軟體採用了一種簡單但有效的混淆方法:Gzip 壓縮與 Base64 編碼相結合。 

import base64, zlib; eval(zlib.decompress(base64.b64decode(<STR>).decode('utf-8')) 

這種技術確保混淆後的有效載荷在整個階段中始終保持隱藏狀態。

3. 程式碼拼接與動態編譯

最後一層是將混淆後的有效載荷拆分到多個變數中,這些變數在執行過程中動態連接並解碼:

import base64, zlib  FEQXCBDOZKHVIhT = '...' # ....(111 other variables with base-64 encoded values) ...  zZytWuvuEdBXSrO =   eval(<FEQXCBDOZKHVIhT' encoded with '\x>) +   eval(<next variable, encoded>) +   eval( ' zlib.decompress(base64.b64decode(<VAR>)).decode('utf-8') ') + ...  eval(compile(base64.b64decode(eval(zZytWuvuEdBXSrO)).decode('utf-8'), ‘<app>', 'exec')) 

手動逆向工程此階段尤其繁瑣,因為必須對每個變數進行解碼和重新組合才能揭示下一個有效載荷。

透過結合這些混淆技術, 信息竊取惡意軟件 in 線程流暢 逃避檢測,凸顯了…的關鍵作用 代碼混淆 在現代網路攻擊中。

ThreadFluent的多階段攻擊鏈

線程流暢 信息竊取惡意軟件 包含四個不同的階段,每個階段都會引入額外的層次 代碼混淆這些階段不僅用於運送有效載荷,而且還能保護有效載荷免受檢測和分析。

資訊竊取惡意軟體程式碼混淆線程流暢

階段 0:初始程式碼執行

入口點是 __init__.py 此檔案啟動混淆有效載荷的執行。 fluent.py此文件使用多層混淆技術(如步驟 1-3 所述)產生第一階段的滴管:

import os,threading def main():     if os.name == 'nt':         from . import fluent         fluent.main()          thread = threading.Thread(target=main , daemon=True) thread.start() 

第一階段:初始滴答

第一個投放器在反混淆後,會下載並嵌入額外的惡意程式碼。 puts.py來自 GitHub 倉庫 紅髮小腿-1337/請求 (警告:此處可能包含惡意程式碼) 

滴管嵌入 puts.py 將流行的本機安裝程式安裝到本機。 請求 庫,修改其 __init__.py 用於運行反混淆並執行下一階段的檔案。此反混淆過程包括逆向執行混淆層 1 至 3 的多個應用。

第二階段:第二個落差

第二個投放器在依照相同流程反混淆後,會下載另一個酬載。 ssl.py 從 GitHub 倉庫中,將其重新命名為 udp.py並產生一個鎖定文件,以確保惡意軟體不會重複安裝。然後運行該檔案進行反混淆,最終執行資訊竊取程式的有效載荷。

第三階段:最終資訊竊取者

最後階段是一個功能齊全的資訊竊取程序,它採用了先進的規避技術:

  • 反分析特徵:
    • 偵測反惡意軟體工具,如果偵測到任何黑名單流程、IP、主機名稱或虛擬環境,則終止程式。
  • 數據滲漏:
    • 擷取詳盡的訊息,包括IP位址、MAC位址、VPN資料、瀏覽器cookie/歷史記錄、信用卡資料和加密錢包憑證等,甚至還包括螢幕截圖。
    • 使用此處所示的模板,透過 Telegram 頻道發送竊取的資料(已加密): 
資訊竊取惡意軟體程式碼混淆線程流暢

反混淆策略

為了分析類似的軟體包,研究人員必須有系統地逆轉其混淆層:

  • 模擬混淆步驟: 編寫腳本來模擬轉換(例如,解密、解壓縮),而不執行有效載荷。
  • 反向加密層: 使用嵌入式金鑰和演算法提取並解密有效載荷。
  • 迭代分析: 迭代處理每個中間階段,以重建最終有效載荷。

自動化工具和沙盒環境對於簡化此分析過程至關重要。

 

想了解更多即時防範威脅的方法嗎?

下載我們的白皮書《早期預警:即時威脅偵測與優先排序》,了解如何保護您的軟體供應鏈。

威脅行為者

該軟體包顯然是由兩個 PyPI 帳戶發布的。 ABIRHOSSAIN10 以及 anomilano785目前已移除。 

有一個(目前活躍的)GitHub 帳戶名為 ABIRHOSSAIN10這可能與此活動有關。 紅髮小腿-1337 用於下載第二階段和第三階段有效載荷的 GitHub 儲存庫的擁有者也正在接受分析。

雖然歸因總是很複雜,紅隊成員也有可能,但洩漏的資訊種類和數量暗示著惡意行為者的存在。

結論:程式碼混淆在惡意軟體演化中的作用

線程流暢 該軟體包透過多階段傳播展現了現代惡意軟體混淆技術的典型特徵。結合其採用的規避技術,該軟體包明顯旨在逃避檢測和抵抗分析。

這項分析強調了協作努力和自動化工具在應對此類威脅的重要性。透過剖析和理解這些方法,安全專家可以針對未來類似的惡意軟體開發出更好的防禦措施。

Xygeni 的 MEW 系統如何阻止惡意 threadfluent 軟體包進入生產環境

Xygeni 的 惡意軟體預警(MEW) 該系統在阻止…方面發揮了重要作用 線程流暢 Python 包,一個包含進階功能的惡意依賴項 代碼混淆 以及多階段 信息竊取惡意軟件在它可能危害生產環境之前,採取以下措施:

  • 透過靜態分析進行檢測
    MEW被發現 線程流暢的隱藏程式碼,發現可疑跡象,如分層加密和不尋常的依賴活動。
  • 運行時可達性評估
     系統發現軟體包的程式碼可以在使用過程中運行,因此即使沒有實際運行,也將其標記為嚴重威脅。
  • CI/CD Pipeline 保護性能
    MEW 已屏蔽 線程流暢 它即時阻止了該漏洞被納入建置版本,並防止其進入生產環境。它還向開發人員發送了可操作的警報,從而節省了寶貴的時間。
  • 威脅情報共享
    Xygeni 迅速向 PyPI 報告了該軟體包,並與全球安全網路分享了調查結果,阻止了其進一步傳播。

透過捕捉 線程流暢 在早期,Xygeni 的 MEW 系統確保惡意程式碼不會損害軟體供應鏈或 CI/CD 工作流程。

保護你的 CI/CD Pipeline免費

防止此類威脅 線程流暢 使用 Xygeni 的惡意軟體預警系統。開始您的 免費試用 立即行動,保障您的軟體供應鏈安全。

路易斯羅德里格斯的照片

路易斯·羅德里格斯

路易斯·羅德里格斯是一名物理治療師cist + 數學家和 CISSP,現任 Xygeni Security 共同創辦人兼技術長。他在軟體安全領域擁有超過 20 年的經驗,並參與過以下專案: SAST 以及 SCA他目前專注於 software supply chain security.

丹尼爾馬丁的照片

丹尼爾·馬丁

丹尼爾馬丁是網路安全專家,也是Xygeni研究安全團隊的成員,專門從事網路安全方面的工作。 SDLC 安全和應用程式漏洞緩解。

sca-tools-software-composition-analysis-tools
優先處理、補救並保護您的軟體風險
註冊免費帳號。
不需要信用卡。

確保您的軟體開發和交付安全

使用 Xygeni 產品套件