infostealer-malware-threadfluent-code-offuscation

Dissezione di un pacchettu di malware Infostealer à più tappe

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.

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.

infostealer-malware-codice-offuscazione- threadfluent

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ì: 
infostealer-malware-codice-offuscazione- threadfluent

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.

Ritrattu di Luis Rodríguez

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.

Ritrattu di Daniel Martín

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.

sca-tools-software-strumenti-d'analisi-di-cumpusizione
Priorizà, rimedià è assicurà i vostri risichi di software
Uttene u vostru contu gratuitu.
Nisuna carta di creditu necessaria.

Assicurà u vostru sviluppu è a consegna di software

cù a Suite di Prodotti Xygeni