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 安全和應用程式漏洞緩解。






