Infostealer-Malware-Threadfluent-Code-Verschleierung

Analyse vun engem Multi-Stage Infostealer Malware Package

De Python-Paket threadflussend, entdeckt op PyPI, gouf identifizéiert als béiswëlleg, déi eng konventionell Infostealer-Malware enthält. Seng definéierend Charakteristik ass awer d'Benotzung vun fortgeschrattene Code-Verschleierungstechniken, déi seng Notzlaascht verstoppen, wat d'Analyse besonnesch usprochsvoll mécht. Dës Malware benotzt dräi Schichten vun der Verschleierung iterativ iwwer seng Attackkette, wat bedeitend Hindernisser fir d'manuell Dekonstruktioun erstellt.

Eis Malware Early Warning Team huet de Pak dem PyPI Sécherheetsteam gemellt, deen en séier ewechgeholl huet. An dësem Artikel erkläre mir d'Etappen vun threadflussend's Attack an d'Methoden, déi e benotzt fir säin Zweck ze verstoppen, mat engem Fokus op wéi Infostealer-Malware a Code-Verschleierung zesumme funktionéieren.

Spicherblat: Infostealer Malware a Codeverdunkelung

Wat ass Infostealer Malware?

Infostealer-Malware verhält sech wéi en Déif an Ärer digitaler Welt. Et klaut sech roueg sensibel Informatiounen, wéi Är Passwierder, Kreditkartennummeren oder perséinlech Donnéeën, ouni datt Dir et mierkt. Dës Programmer notéieren dat, wat Dir aginn hutt (Keylogging), kapéieren Äre Browser oder scannen Dateien op Ärem Apparat fir wäertvoll Donnéeën ze sammelen. Dat Erschreckendst? Si sinn exzellent dran, ënner dem Radar ze bleiwen.

Verschleierungsschichten vun der ThreadFluent Infostealer Malware

1. Dräifach Verschlësselung

Den Obfuskatiounsprozess fänkt mat enger staark verschlësselter Notzlaascht un, déi an der ... integréiert ass. fluent.py Datei. Den initialen Encodéierungs- an Entschlësselungsprozess kann wéi follegt zesummegefaasst ginn:

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)) ) 

Dëse Verdunkelungsprozess ëmfaasst:

  • KompressorBenotzung vu gzip a bzip.
  • Symmetresch VerschlësselungVerkettet Verschlësselung mat ChaCha20, Blowfish an AES.
  • Asymmetresch VerschlësselungRSA gëtt benotzt fir déi symmetresch Schlësselen ze verschlësselen.

D'Resultat gëtt a Base64 kodéiert an agefouert als kodéiert_DonnéeënAll Iteratioun baut op der viregter op a schaaft eng verschachtelt Verschlësselungsstruktur, déi et aussergewéinlech schwéier mécht, déi tatsächlech Notzlaascht ouni Reverse Engineering ze fannen.

 

2. Gzip Dekompressioun

A ville Zwëschenschrëtt benotzt d'Malware eng einfach awer effektiv Obfuskatiounsmethod: Gzip-Kompressioun a Kombinatioun mat Base64-Kodéierung. 

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

Dës Technik garantéiert, datt déi verschleiert Notzlaascht während de ganze Etappen verstoppt bleift.

3. Code-Verknëppung an dynamesch Kompilatioun

Déi lescht Schicht besteet doran, déi verschleiert Notzlaascht iwwer verschidde Variabelen opzedeelen, déi während der Ausféierung dynamesch zesummegefaasst an decodéiert ginn:

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')) 

Dës Etapp ass besonnesch ustrengend fir manuell Reverse-Engineering, well all Variabel decodéiert a rekombinéiert muss ginn, fir déi nächst Notzlaascht ze weisen.

Duerch d'Kombinatioun vun dësen Obfuskatiounstechniken, infostealer malware in threadflussend entdeckung entgeet, a weist déi entscheedend Roll vun Code Obfuscatioun bei modernen Cyberattacken.

Déi méistufeg Attackkette vun ThreadFluent

d' threadflussend infostealer malware besteet aus véier verschiddenen Etappen, déi all zousätzlech Schichten aféieren, Code ObfuscatiounDës Etappen déngen net nëmmen dozou, d'Notzlaascht ze liwweren, mä se och virun Detektioun an Analyse ze schützen.

Infostealer-Malware-Code-Verschleierung- Threadfluent

Etapp 0: Ufankscodeausféierung

Den Entréepunkt ass den __init__.py Datei, déi d'Ausféierung vun der verschleierter Notzlaascht initiéiert an fluent.pyDës Datei benotzt méischichteg Obfuskatioun (wéi an de Schrëtt 1-3 beschriwwen) fir den Dropper vun der Stage 1 ze produzéieren:

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

Etapp 1: Éischten Dropper

Den éischten Dropper, nodeems en deobfuskéiert ass, luet zousätzleche béiswëllege Code erof an integréiert en, setzt.py, aus engem GitHub-Repository Rout-haareg-Schanken-1337/Reputatiounen (Warnung: potenziell béiswëlleg Code hei). 

Den Dropper integréiert sech setzt.py an déi lokal Installatioun vun der populärer Ufro Bibliothéik, seng Ännerungen __init__.py Datei fir d'Deobfuskatioun auszeféieren an déi nächst Etapp auszeféieren. Dës Deobfuskatioun besteet doran, vill Uwendungen vun den Obfuskatiounsschichten 1 ... 3 ëmzedréinen.

Etapp 2: Zweet Dropper

Den zweeten Dropper, nodeems en no dem selwechte Prozess deobfuskéiert ass, luet nach eng aner Notzlaascht erof, ssl.py aus dem GitHub Repository, ëmbenannt et a udp.py, a generéiert eng Spärdatei fir sécherzestellen, datt d'Malware net ëmmer erëm nei installéiert gëtt. Dann gëtt se ausgeféiert fir se ze deobfuscéieren, wat zu der Ausféierung vun der leschter Infostealer-Payload féiert.

Etapp 3: Schlussendlech Infostealer

Déi lescht Etapp ass en voll funktionellen Infostealer, deen fortgeschratt Ausweichtechniken benotzt:

  • Anti-Analyse-Funktiounen:
    • Erkennt Antimalware-Tools a gëtt ofgebrach, wann Prozesser, IP-Adressen, Hostnimm oder virtuell Ëmfeld op der schwaarzer Lëscht fonnt ginn.
  • Daten Exfiltratioun:
    • Erfaasst komplett Informatiounen. Rangéiert vun IP, MAC Adress, VPN Daten, Browser Cookien/Verlaf, Kreditkartendaten a Krypto Portemonnaie Umeldungsinformatiounen ënner anerem, inklusiv engem Screenshot.
    • Schéckt geklaut Donnéeën (verschlësselt) iwwer en Telegram Kanal, andeems Dir déi hei gewisen Schabloun benotzt: 
Infostealer-Malware-Code-Verschleierung- Threadfluent

Deobfuskatiounsstrategie

Fir ähnlech Paketen z'analyséieren, mussen d'Fuerscher systematesch hir Verschleierungsschichten ëmdréinen:

  • Schrëtt fir d'Emulatioun vun der Obfuskatioun: Schreift Skripter fir d'Transformatiounen (z.B. Entschlësselung, Dekompressioun) ze simuléieren, ouni d'Payload auszeféieren.
  • Réckverschlësselungsschichten: Extrahéiert an entschlësselt d'Notzlaascht mat Hëllef vun den agebette Schlësselen an Algorithmen.
  • Iterativ Analyse: Veraarbecht all Zwëschenstadium iterativ fir déi lescht Notzlaascht ze rekonstruéieren.

Automatiséiert Tools an Sandbox-Ëmfeld si wesentlech fir dës Analyse ze vereinfachen.

 

Wëllt Dir méi wëssen, wéi Dir a Echtzäit virun de Gefore bleiwe kënnt?

Luet eise Whitepaper "Early Warning: Echtzäit-Bedrohungsdetektioun a Prioritiséierung" erof a fannt eraus, wéi Dir Är Software-Liwwerketten sécherstelle kënnt.

Den Acteur vun der Bedrohung

Anscheinend gouf de Pak vun zwéi PyPI-Konten publizéiert, ABIRHOSSAIN10 an anomilano785, aktuell ewechgeholl. 

Et gëtt e (aktuell aktive) GitHub-Kont mam Numm ABIRHOSSAIN10, wat mat der Kampagne a Verbindung kéint stoen. Den Rout-haareg-Schanken-1337 De GitHub-Benotzer, deem de Repository gehéiert, deen fir den Download vun den Payloads vun der 2. an 3. Phase benotzt gëtt, gëtt och analyséiert.

Och wann d'Zuschreiwung ëmmer komplizéiert ass an d'Memberschaft an engem rouden Team eng Méiglechkeet ass, hiweisen d'Aart a Quantitéit vun den Informatiounen, déi erausgeholl goufen, op e béiswëllegen Akteur.

Conclusioun: D'Roll vun der Code-Verschleierung an der Evolutioun vu Malware

d' threadflussend Dëse Pak ass e Beispill vun der moderner Malware-Verschleierung a senger méistufeger Liwwerung. Zesumme mat den ugewannten Ausweichungstechniken weist dëse Pak e kloere Versuch, der Detektioun an der Analyse ze entgoen.

Dës Analyse ënnersträicht d'Wichtegkeet vu gemeinsamen Efforten an automatiséierten Tools fir sou Bedrohungen ze bekämpfen. Duerch d'Analyse an d'Verständnis vun dëse Methoden kënne Sécherheetsexperten an Zukunft besser Verteidegung géint ähnlech Malware entwéckelen.

Wéi de MEW-System vun Xygeni verhënnert huet, datt de béiswëllege Threadfluent-Package an d'Produktioun kënnt

Xygeni's Malware Fréiwarnung (MEW) System war instrumental fir ze stoppen threadflussend Python-Paket, eng béiswëlleg Ofhängegkeet mat fortgeschrattene code obfuscation an eng méistufeg infostealer malware, ier et d'Produktiounsëmfeld a Gefor brénge kéint. Hei ass wéi:

  • Detektioun duerch statesch Analyse
    MEW gesi threadflussendverstoppte Code vum, a fënnt verdächteg Zeeche wéi geschichtete Verschlësselung an ongewéinlech Ofhängegkeetsaktivitéit.
  • Bewäertung vun der Erreechbarkeet bei der Lafzäit
     De System huet festgestallt, datt de Code vum Pak während der Benotzung ausgeféiert konnt ginn, wouduerch en als eescht Bedrohung markéiert gouf, ouni en tatsächlech auszeféieren.
  • CI/CD Pipeline Schutz
    MEW blockéiert threadflussend a Echtzäit, huet verhënnert datt et a Builds integréiert gouf, an huet verhënnert datt et an d'Produktioun kënnt. Et huet den Entwéckler handlungsfäeg Alarmer geschéckt, wat wäertvoll Zäit gespuert huet.
  • Bedrohung Intelligenz Deele
    Xygeni huet de Pak séier un PyPI gemellt a seng Erkenntnisser mat sengem globale Sécherheetsnetz gedeelt, sou datt seng weider Verbreedung verhënnert gouf.

Duerch d'Fänken threadflussend Ufanks huet Xygeni säi MEW-System séchergestallt, datt de béiswëllege Code keng Software-Versuergungsketten oder ... beschiedegt huet. CI/CD Workflows.

Schützen Är CI/CD Pipelines gratis

Verhënnert Gefore wéi threadflussend mam Xygeni sengem Malware Early Warning System. Start Är gratis Test haut a sécher Är Software-Liwwerketten.

Foto vum Luis Rodríguez

Louis Rodriguez

De Luis Rodriguez ass e Physikercist + Mathematiker an CISSP. Aktuell Matgrënner a CTO bei Xygeni Security. Hie huet iwwer 20 Joer Erfahrung an der Softwaresécherheet a war u Projeten ewéi SAST an SCAHie konzentréiert sech de Moment op software supply chain security.

Foto vum Daniel Martín

Daniel Martin

Den Daniel Martín ass e Cybersécherheetsexpert a Member vum Xygeni-Fuerschungssécherheetsteam, spezialiséiert op ... SDLC Sécherheets- a Applikatiounsschwachstellereminderung.

sca-tools-software-zesummesetzungsanalyse-tools
Prioritäriséiert, behënnert a séchert Är Softwarerisiken
Kritt Äre gratis Kont.
Kee Kreditkaart erfuerderlech.

Séchert Är Softwareentwécklung a Liwwerung

mat der Xygeni Produkt Suite