U pacchettu Python filu fluente, scupertu annantu à PyPI, hè statu identificatu cum'è malicious, chì cuntene un malware infostealer cunvinziunale. Tuttavia, a so caratteristica principale hè l'usu di tecniche avanzate di offuscazione di codice chì oscuranu u so payload, rendendu l'analisi particularmente difficiule. Stu malware utilizza trè strati di offuscazione iterativamente in tutta a so catena d'attaccu, creendu ostaculi significativi per a decostruzione manuale.
A nostra squadra di Malware Early Warning hà signalatu u pacchettu à a squadra di sicurezza PyPI, chì l'hà eliminatu rapidamente. In questu articulu, spieghemu e tappe di filu fluenteL'attaccu di è i metudi ch'ellu usa per ammuccià u so scopu, cuncentrandosi nantu à cumu u malware infostealer è l'offuscazione di u codice funzionanu inseme.
Scheda di Cheat: Malware Infostealer è Offuscazione di u Codice
Chì ghjè un malware Infostealer?
U malware Infostealer agisce cum'è un ladru subdolu in u vostru mondu digitale. Piglia tranquillamente informazioni sensibili, cum'è e vostre password, numeri di carte di creditu o dettagli persunali, senza chì voi vi ne accorgiate. Quessi prugrammi registranu ciò chì scrivite (keylogging), dirottanu u vostru navigatore o scansionanu i fugliali nantu à u vostru dispositivu per raccoglie dati preziosi. A parte più spaventosa? Eccellenu à stà sottu à u radar.
Cosa hè Code Obfuscation?
L'offuscazione di u codice hè basicamente l'arte di piattà e cose in piena vista, spessu aduprata da i pirati informàtichi per rende u so codice maliziosu più difficiule da individuà o capisce. Imaginate qualchissia chì scrive codice in un modu deliberatamente cunfusu, criptendu parti di questu, o mischjendu u so aspettu per svià l'arnesi antivirus o i circadori. Hè una tattica intelligente ma frustrante chì aiuta u malware à stà attivu più longu è à evità a rilevazione.
Strati d'offuscazione di u malware ThreadFluent Infostealer
1. Tripla Crittografia
U prucessu d'offuscazione principia cù un payload assai criptatu integratu in u fluent.py schedariu. U prucessu iniziale di codificazione è decifrazione pò esse riassuntu cusì:
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)) ) Stu prucessu d'offuscazione implica:
- Cumpressione: Utilizendu gzip è bzip.
- Encipitu simétriqueCrittografia incatenata cù ChaCha20, Blowfish è AES.
- Cifratura asimmetricaRSA hè utilizatu per criptà e chjave simmetriche.
U risultatu hè codificatu in Base64 è inseritu cum'è dati_codificatiOgni iterazione si basa nantu à a precedente, creendu una struttura di crittografia annidata chì rende eccezziunalmente difficiule di scopre u payload attuale senza ingegneria inversa.
2. Decompressione Gzip
In parechji passi intermedi, u malware impiega un metudu d'offuscazione simplice ma efficace: a cumpressione Gzip cumminata cù a codifica Base64.
import base64, zlib; eval(zlib.decompress(base64.b64decode(<STR>).decode('utf-8')) Questa tecnica assicura chì u payload offuscatu ferma oculatu in tutte e tappe.
3. Concatenazione di codice è compilazione dinamica
L'ultimu stratu implica a divisione di u payload offuscatu in parechje variabili, chì sò concatenate dinamicamente è decodificate durante l'esecuzione:
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')) Questa tappa hè particularmente ingombrante per fà l'ingegneria inversa manualmente, postu chì ogni variabile deve esse decodificata è ricombinata per revelà u prossimu payload.
Cumbinendu ste tecniche d'offuscazione, u malware infostealer in filu fluente sfugge à a rilevazione, mettendu in risaltu u rolu criticu di Ofuscazione di u codice in i ciberattacchi muderni.
A catena d'attaccu à più tappe di ThreadFluent
lu filu fluente malware infostealer cumprende quattru tappe distinte, ognuna introducendu strati supplementari di Ofuscazione di u codiceQueste tappe servenu micca solu à furnisce u payload, ma ancu à prutegelu contr'à a rilevazione è l'analisi.

Fase 0: Esecuzione iniziale di u codice
U puntu d'entrata hè u __init__.py schedariu, chì inizia l'esecuzione di u payload offuscatu in fluent.pyStu schedariu usa l'offuscazione multistratificata (cum'è descrittu in i passi 1-3) per pruduce u dropper di a Fase 1:
import os,threading def main(): if os.name == 'nt': from . import fluent fluent.main() thread = threading.Thread(target=main , daemon=True) thread.start() Fase 1: Contagocce iniziale
U primu dropper, una volta deoffuscatu, scarica è integra codice maliziosu supplementu, mette.py, da un repositoriu GitHub Gambe-rosse-1337/risposti (avvertimentu: codice maliziosu putenziale quì).
U contagocce s'incrusta mette.py in l'installazione lucale di u pupulare dumande biblioteca, mudificendu a so __init__.py schedariu per eseguisce a deoffuscazione è eseguisce a prossima tappa. Questa deoffuscazione consiste in l'inversione di parechje applicazioni di i strati di offuscazione 1 ... 3.
Fase 2: Seconda goccia
U secondu dropper, una volta deoffuscatu seguendu u listessu prucessu, scarica un altru payload, ssl.py da u repositoriu GitHub, u rinomina cum'è udp.py, è genera un schedariu di serratura per assicurà chì u malware ùn si reinstalli micca ripetutamente. Dopu hè eseguitu per deoffuscallu, risultendu in l'esecuzione di u payload infostealer finale.
Fase 3: Infostealer finale
A tappa finale hè un infostealer cumpletamente funziunale chì impiega tecniche d'evasione avanzate:
- Funzioni anti-analisi:
- Rileva strumenti antimalware è termina se si rilevanu prucessi, IP, nomi di host o ambienti virtuali in lista nera.
- Esfiltrazione di dati:
- Cattura informazioni esaustive. Da IP, indirizzu Mac, dati VPN, cookies/storia di u navigatore, dati di carta di creditu è credenziali di portafogliu criptograficu frà altri, cumprese una screenshot.
- Manda dati arrubati (criptati) via un canale Telegram, aduprendu u mudellu mostratu quì:

Strategia di Deoffuscazione
Per analizà pacchetti simili, i circadori devenu inverte sistematicamente i so strati di offuscazione:
- Emulà i passi di l'offuscazione: Scrivite scripts per simulà e trasfurmazioni (per esempiu, decrittazione, decompressione) senza eseguisce u payload.
- Strati di crittografia inversa: Estrae è decifra u payload aduprendu e chjave è l'algoritmi integrati.
- Analisi iterativa: Prucessà ogni tappa intermedia iterativamente per ricustruisce u payload finale.
Strumenti automatizati è ambienti sandbox sò essenziali per simplificà sta analisi.
Vulete amparà di più nantu à cumu stà à l'avanguardia di e minacce in tempu reale?
Scaricate u nostru whitepaper, "Avvisu precoce: rilevazione è prioritizazione di minacce in tempu reale", è scoprite cumu prutege a vostra catena di furnimentu di software.
L'Attore Minacciante
Apparentemente u pacchettu hè statu publicatu da dui conti PyPI, ABIRHOSSAIN10 e anomilano785, attualmente eliminatu.
Ci hè un contu GitHub (attualmente attivu) chjamatu ABIRHOSSAIN10, chì puderia esse ligatu à a campagna. U Gambe-rosse-1337 L'utilizatore di GitHub chì pussede u repositoriu utilizatu per scaricà i payload di fase 2 è 3 hè ancu sottu analisi.
Ancu s'è l'attribuzione hè sempre cumplicata è l'appartenenza à una squadra rossa hè una pussibilità, u tipu è u vulume d'infurmazioni esfiltrate suggerisce un attore maliziosu.
Cunclusione: U rolu di l'offuscazione di u codice in l'evoluzione di i malware
lu filu fluente U pacchettu esemplifica l'offuscazione muderna di malware in a so consegna in più tappe. Assuciatu à e tecniche di evasione impiegate, questu pacchettu dimostra un sforzu chjaru per evità a rilevazione è resiste à l'analisi.
Questa analisi sottolinea l'impurtanza di sforzi collaborativi è strumenti automatizati per luttà contr'à tali minacce. Analizendu è capendu questi metudi, i prufessiunali di a sicurezza ponu sviluppà difese megliu contr'à malware simili in u futuru.
Cumu u sistema MEW di Xygeni hà impeditu à u pacchettu threadfluent maliziosu di ghjunghje à pruduzzione
Xygeni's Avvisu Precoce di Malware (MEW) u sistema hè statu strumentale per fermà u filu fluente Pacchettu Python, una dipendenza maligna chì cuntene avanzatu offuscazione di codice è un stadiu multiplu malware infostealer, prima ch'ella pudessi cumprumèttere l'ambienti di pruduzzione. Eccu cumu:
- Rilevazione per mezu di l'analisi statica
MEW vistu filu fluenteu codice piattu di , truvendu segni suspetti cum'è a crittografia à strati è l'attività di dipendenza inusuale. - Valutazione di a Raggiungibilità in Tempu d'Esecuzione
U sistema hà trovu chì u codice di u pacchettu puderia esse eseguitu durante l'usu, marcandulu cum'è una minaccia seria senza eseguillu veramente. - CI/CD Pipeline prutezzione
MEW bluccatu filu fluente in tempu reale, hà impeditu ch'ellu fussi inclusu in e custruzzioni, è hà impeditu ch'ellu ghjunghjessi à a pruduzzione. Hà mandatu à i sviluppatori alerti azzionabili, risparmiendu tempu preziosu. - Sharing Intelligence di Minaccia
Xygeni hà signalatu rapidamente u pacchettu à PyPI è hà spartutu e so scuperte cù a so rete di sicurezza glubale, impedendu ch'ellu si sparghjissi ulteriormente.
Pigliendu filu fluente À l'iniziu, u sistema MEW di Xygeni hà assicuratu chì u codice maliziosu ùn danneghjava micca e catene di furnimentu di software o CI/CD flussi di lavoro.
Prutegge u Vostru CI/CD Pipelines for Free
Prevene minacce cum'è filu fluente cù u sistema di alerta precoce di malware di Xygeni. Cuminciate u vostru prucessu veru oghje è assicurate a vostra catena di furnimentu di software.
Luis Rodriguez
Luis Rodriguez hè un fisicucist + matematicu è CISSP. Attualmente cofundatore è CTO di Xygeni Security. Hà più di 20 anni di sperienza in a sicurezza di u software è hà participatu à prughjetti cum'è SAST e SCAAttualmente si cuncentra nantu à software supply chain security.
Daniel Martin
Daniel Martín hè un espertu di cibersigurtà è membru di a squadra di ricerca di sicurezza Xygeni, specializatu in SDLC mitigazione di e vulnerabilità di sicurezza è di l'applicazione.






