Die Python-pakket draadvloeiend, ontdek op PyPI, is geïdentifiseer as kwaadwillige, wat 'n konvensionele inligtingsdief-wanware bevat. Die bepalende kenmerk daarvan is egter die gebruik van gevorderde kode-verduisteringstegnieke wat die vrag daarvan verberg, wat analise besonder uitdagend maak. Hierdie wanware gebruik drie lae van verduistering iteratief oor sy aanvalsketting, wat beduidende struikelblokke vir handmatige dekonstruksie skep.
Ons Malware Early Warning-span het die pakket aan die PyPI-sekuriteitspan gerapporteer, wat dit vinnig verwyder het. In hierdie artikel verduidelik ons die stadiums van draadvloeiendse aanval en die metodes wat dit gebruik om die doel daarvan te verberg, met die fokus op hoe inligtingsdief-wanware en kode-verduistering saamwerk.
Spiekbrief: Inligtingsdiefstal-wanware en kodeverduistering
Wat is Infostealer-wanware?
Inligtingsdief-wanware tree op soos 'n slinkse dief in jou digitale wêreld. Dit gryp stilweg sensitiewe inligting, soos jou wagwoorde, kredietkaartnommers of persoonlike besonderhede, sonder dat jy dit agterkom. Hierdie programme teken op wat jy tik (sleutellogging), kaap jou blaaier of skandeer lêers op jou toestel om waardevolle data in te samel. Die engste deel? Hulle blink uit daarin om onder die radar te bly.
Wat is kodeverduistering?
Kodeverduistering is basies die kuns om dinge in die oopte weg te steek, wat dikwels deur hackers gebruik word om hul kwaadwillige kode moeiliker te maak om raak te sien of te verstaan. Stel jou voor iemand skryf kode op 'n manier wat doelbewus verwarrend is, dele daarvan enkripteer, of deurmekaar maak met hoe dit lyk om antivirus-instrumente of navorsers af te gooi. Dit is 'n slim maar frustrerende taktiek wat help dat wanware langer aktief bly en opsporing vermy.
Verduisteringslae van ThreadFluent Infostealer-wanware
1. Drievoudige enkripsie
Die verduisteringsproses begin met 'n swaar geïnkripteerde vrag wat in die ingebed is. vlot.py lêer. Die aanvanklike koderings- en dekripsieproses kan soos volg opgesom word:
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)) ) Hierdie verdoeselingsproses behels:
- KompressieGebruik gzip en bzip.
- Simmetriese enkripsieGekettingde enkripsie met ChaCha20, Blowfish en AES.
- Asimmetriese enkripsieRSA word gebruik om die simmetriese sleutels te enkripteer.
Die resultaat word in Base64 gekodeer en ingevoeg as geënkodeerde_dataElke iterasie bou voort op die vorige en skep 'n geneste enkripsiestruktuur wat dit besonder moeilik maak om die werklike vrag sonder omgekeerde ingenieurswese te ontdek.
2. Gzip-dekompressie
In baie tussenstappe gebruik die wanware 'n eenvoudige maar effektiewe verdoeselingsmetode: Gzip-kompressie gekombineer met Base64-kodering.
import base64, zlib; eval(zlib.decompress(base64.b64decode(<STR>).decode('utf-8')) Hierdie tegniek verseker dat die verduisterde vrag dwarsdeur die stadiums verborge bly.
3. Kode-aaneenskakeling en dinamiese samestelling
Die laaste laag behels die verdeling van die verduisterde vrag oor verskeie veranderlikes, wat dinamies saamgevoeg en gedekodeer word tydens uitvoering:
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')) Hierdie stadium is veral omslagtig om handmatig terug te ontwikkel, aangesien elke veranderlike gedekodeer en herkombineer moet word om die volgende vrag te openbaar.
Deur hierdie verdoeselingstegnieke te kombineer, die infostealer wanware in draadvloeiend ontduik opsporing, wat die kritieke rol van Kodeverduistering in moderne kuber-aanvalle.
Die meerstadium-aanvalketting van ThreadFluent
Die draadvloeiend infostealer wanware bestaan uit vier afsonderlike stadiums, wat elk addisionele lae van KodeverduisteringHierdie stadiums dien nie net om die vrag af te lewer nie, maar dit ook teen opsporing en analise te beskerm.

Fase 0: Aanvanklike kode-uitvoering
Die toegangspunt is die __init__.py lêer, wat die uitvoering van die verduisterde vrag inisieer in vlot.pyHierdie lêer gebruik veelvuldige lae verduistering (soos beskryf in stappe 1–3) om die Fase 1-drupper te produseer:
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: Aanvanklike Dropper
Die eerste dropper, sodra dit gedeobfuskeerd is, laai addisionele kwaadwillige kode af en integreer dit, sit.py, vanaf 'n GitHub-bewaarplek Rooiharige skenkels-1337/repueste (waarskuwing: moontlike kwaadwillige kode hier).
Die dropper inbeddings sit.py in die plaaslike installasie van die gewilde versoeke biblioteek, wysig dit __init__.py lêer om deobfuskasie uit te voer en die volgende fase uit te voer. Hierdie deobfuskasie bestaan uit die omkering van baie toepassings van die obfuskasielae 1 … 3.
Fase 2: Tweede Dropper
Die tweede dropper, sodra dit gedeobfuskeerd is volgens dieselfde proses, laai nog 'n vrag af, ssl.py vanaf die GitHub-bewaarplek, hernoem dit as udp.py, en genereer 'n sluitlêer om te verseker dat die wanware nie herhaaldelik herinstalleer word nie. Dan word dit uitgevoer om dit te deobfuskeer, wat lei tot die uitvoering van die finale inligtingsdief-vrag.
Fase 3: Finale Inligtingsdief
Die laaste fase is 'n ten volle funksionele inligtingsdief wat gevorderde ontduikingstegnieke gebruik:
- Anti-analise-kenmerke:
- Bespeur anti-wanware-instrumente en beëindig indien enige swartlysprosesse, IP's, gasheername of virtuele omgewings bespeur word.
- Data -eksfiltrasie:
- Vang omvattende inligting vas. Dit wissel van IP, Mac-adres, VPN-data, blaaierkoekies/geskiedenis, kredietkaartdata en kripto-beursie-bewyse, onder andere, insluitend 'n skermkiekie.
- Stuur gesteelde data (geënkripteer) via 'n Telegram-kanaal, met behulp van die sjabloon wat hier getoon word:

Deobfuskasiestrategie
Om soortgelyke pakkette te analiseer, moet navorsers die verduisteringslae sistematies omkeer:
- Emuleer Verduistering Stappe: Skryf skripte om die transformasies (bv. dekripsie, dekompressie) te simuleer sonder om die vrag uit te voer.
- Omgekeerde enkripsielae: Onttrek en dekripteer die vrag met behulp van die ingebedde sleutels en algoritmes.
- Iteratiewe Analise: Verwerk elke tussenfase iteratief om die finale vrag te rekonstrueer.
Outomatiese gereedskap en sandbox-omgewings is noodsaaklik om hierdie analise te stroomlyn.
Wil jy meer leer oor hoe om intyds voor bedreigings te bly?
Laai ons witboek, 'Vroeë Waarskuwing: Bedreigingsopsporing en Prioritisering in Regte Tyd', af en ontdek hoe om jou sagtewarevoorsieningsketting te beveilig.
Die Bedreigingsakteur
Blykbaar is die pakket gepubliseer vanaf twee PyPI-rekeninge, ABIRHOSSAIN10 en anomilano785, tans verwyder.
Daar is 'n (tans aktiewe) GitHub-rekening met die naam ABIRHOSSAIN10, wat verband kan hou met die veldtog. Die Rooiharige skenkels-1337 Die GitHub-gebruiker wat die bewaarplek besit wat gebruik word vir die aflaai van fase 2- en 3-vragte word ook ontleed.
Alhoewel toeskrywing altyd ingewikkeld is en lidmaatskap van 'n rooi span 'n moontlikheid is, dui die soort en volume inligting wat geëksfiltreer word op 'n kwaadwillige akteur.
Gevolgtrekking: Die rol van kodeverduistering in die evolusie van wanware
Die draadvloeiend Die pakket is 'n voorbeeld van moderne verduistering van wanware in sy meerfasige aflewering. Gekombineer met die ontduikingstegnieke wat gebruik word, demonstreer hierdie pakket 'n duidelike poging om opsporing te vermy en ontleding te weerstaan.
Hierdie analise beklemtoon die belangrikheid van gesamentlike pogings en outomatiese gereedskap in die bestryding van sulke bedreigings. Deur hierdie metodes te dissekteer en te verstaan, kan sekuriteitsprofessionele beter verdediging teen soortgelyke wanware in die toekoms ontwikkel.
Hoe Xygeni se MEW-stelsel verhoed het dat die kwaadwillige threadfluent-pakket produksie bereik
Xygeni's Vroeë Waarskuwing oor Wanware (MEW) die stelsel was instrumenteel in die stop van die draadvloeiend Python-pakket, 'n kwaadwillige afhanklikheid wat gevorderde kode verduistering en 'n meerfasige infostealer wanware, voordat dit produksieomgewings in gevaar kon stel. Hier is hoe:
- Opsporing deur statiese analise
MEW raakgesien draadvloeiendse verborge kode, en vind verdagte tekens soos gelaagde enkripsie en ongewone afhanklikheidsaktiwiteit. - Looptydbereikbaarheidsassessering
Die stelsel het bevind dat die pakket se kode tydens gebruik kon loop, wat dit as 'n ernstige bedreiging gemerk het sonder om dit eintlik te laat loop. - CI/CD Pipeline Beskerming
MEW geblokkeer draadvloeiend intyds, het verhoed dat dit in bouwerk ingesluit word, en verhoed dat dit produksie bereik. Dit het ontwikkelaars aksie-waarskuwings gestuur, wat waardevolle tyd bespaar het. - Bedreigingsintelligensiedeling
Xygeni het die pakket vinnig aan PyPI gerapporteer en sy bevindinge met sy wêreldwye sekuriteitsnetwerk gedeel, wat verhoed het dat dit verder versprei.
Deur te vang draadvloeiend vroeg het Xygeni se MEW-stelsel seker gemaak dat die kwaadwillige kode nie sagteware-voorsieningskettings beskadig of CI/CD werkstromen.
Beskerm u CI/CD Pipelines gratis
Voorkom bedreigings soos draadvloeiend met Xygeni se Malware Early Warning-stelsel. Begin jou gratis toets vandag en beveilig jou sagteware-voorsieningsketting.
Luis Rodriguez
Luis Rodriguez is 'n fisioterapeutcist + wiskundige en CISSP. Tans medestigter en hoof-tegnologiebeampte by Xygeni Security. Hy het meer as 20 jaar ondervinding in sagtewaresekuriteit en het deelgeneem aan projekte soos SAST en SCAHy fokus tans op software supply chain security.
Daniel Martin
Daniel Martín is 'n kuberveiligheidskenner en lid van die Xygeni-navorsingsekuriteitspan, wat spesialiseer in SDLC sekuriteit en toepassingskwesbaarheidsvermindering.






