ESET ia parte la o ofensivă globală pentru destructurarea Lumma Stealer


Monitorizarea noastră riguroasă a zecilor de mii de fișiere malițioase a susținut demersul global de anihilare a Lumma Stealer.

ESET a colaborat cu Microsoft, BitSight, Lumen, Cloudflare, CleanDNS și GMO Registry într-o operațiune globală de neutralizare a Lumma Stealer, un cunoscut malware de tip malware-as-a-service (MaaS), specializat în furtul de informații.

Punctele cheie ale acestei postări de blog:
– ESET a luat parte la o operațiune globală coordonată pentru a eradica Lumma Stealer.
– ESET a furnizat analize tehnice și informații statistice și a extras date esențiale din zeci de mii de eșantioane de malware.
– Oferim o prezentare generală a ecosistemului Lumma Stealer de tip malware-as-a-service (MaaS).
– Punem la dispoziție și o analiză tehnică detaliată, alături de o imagine de ansamblu asupra evoluției caracteristicilor statice și dinamice ale Lumma Stealer, informații ce au avut un rol crucial în desfășurarea operațiunii de destructurare.

Contribuția ESET la operațiunea de neutralizare

Sistemele automatizate ESET au procesat zeci de mii de eșantioane Lumma Stealer, analizându-le pentru a extrage elemente cheie, precum serverele de comandă și control (C&C) și identificatorii afiliaților. Acest lucru ne-a permis să monitorizăm continuu activitatea Lumma Stealer, să urmărim actualizările de dezvoltare, să grupăm afiliații și multe altele.

Familiile de malware de tip infostealer, precum Lumma Stealer, sunt adesea doar o prevestire a unor atacuri viitoare mult mai distrugătoare. Datele de autentificare colectate sunt o marfă valoroasă în subteranul criminalității cibernetice, fiind vândute de brokerii de acces inițial către diverși alți criminali cibernetici, inclusiv afiliați de ransomware. Lumma Stealer a fost unul dintre cei mai răspândiți infostealeri din ultimii doi ani, iar datele telemetrice ESET (vezi Figura 1) confirmă că acest malware nu a ratat nicio regiune a lumii.

Figura 1. Rata de detecție a Lumma Stealer (date începând cu iulie 2024)

Dezvoltatorii Lumma Stealer și-au dezvoltat și menținut activ malware-ul. Am observat în mod regulat actualizări de cod, variind de la remedieri minore de erori la înlocuirea completă a algoritmilor de criptare a șirurilor de caractere și modificări ale protocolului de rețea. Operatorii au întreținut activ și infrastructura de rețea comună de exfiltrare a datelor. Între 17 iunie 2024 și 1 mai 2025, am identificat un total de 3.353 de domenii C&C unice, cu o medie de aproximativ 74 de domenii noi pe săptămână, inclusiv actualizări ocazionale la resolverele dead-drop bazate pe Telegram (vezi Figura 2). Vom discuta detaliile infrastructurii de rețea mai târziu în postarea de blog.

Figura 2. Numărul săptămânal de domenii C&C noi

Această evoluție continuă subliniază amenințarea semnificativă reprezentată de Lumma Stealer și evidențiază importanța și complexitatea efortului de destructurare.

Context

În ultimii doi ani, Lumma Stealer (cunoscut și sub numele de LummaC sau LummaC2) a devenit unul dintre cei mai activi infostealeri din ecosistemul criminalității cibernetice, fiind instrumentul preferat al atacatorilor datorită dezvoltării continue a funcționalităților malware și a infrastructurii sale oferite sub formă de serviciu (malware-as-a-service).

Malware ca serviciu
Lumma Stealer adoptă modelul malware ca serviciu (MaaS), în care afiliații plătesc o taxă lunară, în funcție de planul de abonament, pentru a primi cele mai recente versiuni de malware și infrastructura de rețea necesară pentru exfiltrarea datelor.

Afiliații au acces la un panou de administrare cu o interfață ușor de utilizat, de unde pot descărca date exfiltrate și date de conectare recoltate.

Modelul cu planuri de abonament variază de la 250 USD la 1.000 USD pe lună, fiecare cu funcționalități din ce în ce mai sofisticate. Nivelurile de abonament inferioare includ opțiuni de filtrare de bază și descărcare de jurnale, în timp ce nivelurile superioare oferă colectare personalizată de date, instrumente de evitare a detecției și acces anticipat la noile funcționalități.

Cel mai scump plan pune accentul pe eficiență și adaptabilitate, oferind generare de versiuni unice și un nivel redus de detecție.

Operatorii Lumma Stealer au creat și o piață pe Telegram, cu un sistem de rating pentru afiliați, care le permite să vândă date furate fără intermediari. Piața a fost documentată pe larg în cercetarea realizată de Cybereason. Mai mult, ei mențin o documentație publică a panoului de administrare pentru afiliați și publică periodic actualizări și remedieri pe forumurile de hacking, după cum se poate observa în Figura 3.



Figura 3. Documentația oficială Lumma Stealer – tradusă automat din rusă în engleză (12 mai 2025)

Documentația publică nu doar că îi ajută pe afiliații cu mai puțină experiență să utilizeze serviciul de malware, ci oferă și informații valoroase pentru cercetătorii în securitate cibernetică. Dezvoltatorii se concentrează pe versiunile malware, fluxurile de date și pe întreținerea infrastructurii, în timp ce afiliații sunt responsabili pentru distribuirea malware-ului. Această împărțire a responsabilităților, combinată cu popularitatea serviciului, conduce la o varietate largă de vectori de compromitere.

Metodele comune de distribuție includ phishing, software piratat și alte programe de descărcare de malware, inclusiv SmokeLoader, DarkGate, Amadey, Vidar și altele. Schemele populare de phishing implică ClickFix sau pagini web de tip CAPTCHA false, forumuri frauduloase cu software piratat, depozite false GitHub, link-uri înșelătoare pe forumurile Reddit și multe altele.

Analiză tehnică

Numeroase analize publice au fost deja scrise despre Lumma Stealer și vectorii săi de compromitere. Cu toate acestea, aici ne concentrăm pe aspectele relevante pentru destructurare. În această secțiune, vom explica pe scurt proprietățile statice și dinamice cheie pe care le-am extras activ din Lumma Stealer.

Caracteristici statice ale Lumma Stealer
Eșantioanele malware Lumma Stealer conțin în mod nativ diverse informații încorporate, ceea ce le face o țintă ideală pentru extragerea automată de date. Pe lângă datele de interes evidente – domeniile serverelor C&C – eșantioanele conțin șiruri de identificare care asociază eșantionul unui anumit afiliat și unei campanii specifice și un identificator opțional care duce la o configurație dinamică personalizată. Aceste identificatoare sunt utilizate în comunicarea în rețea cu serverele C&C, atât în timpul exfiltrării datelor, cât și în momentul solicitării unei configurații dinamice. În secțiunile următoare, vom examina aceste proprietăți în detaliu.

Domenii C&C
Fiecare eșantion Lumma Stealer conține o listă de nouă domenii C&C criptate. Deși metodele de criptare au evoluat în timp, structura caracteristică a matricei a rămas constantă până la momentul redactării acestui material.

Pe baza versiunii interne a eșantionului Lumma Stealer – care este puternic protejată prin ofuscare cu șiruri stivuite (stack string obfuscation) – știm că, până în ianuarie 2025, domeniile C&C din eșantioane erau protejate printr-o combinație de funcție XOR și codare base64 (vezi Figura 4). După decodarea șirului base64, se revela o structură în care primii 32 de octeți serveau ca cheie XOR, iar restul conțineau domeniul C&C criptat.



Figura 4. Lista domeniilor C&C protejate prin XOR și codate în base64

În ianuarie 2025, Lumma Stealer a transferat protecția listei C&C la criptarea ChaCha20 cu o singură cheie și un nonce hardcodate (vezi Figura 5). Această metodă de protecție a listei C&C în fișierele binare Lumma Stealer a rămas aceeași până la momentul publicării.



Figura 5. Domenii C&C protejate prin criptare ChaCha20

Resolvere de tip dead-drop
Din iunie 2024, fiecare versiune Lumma Stealer a venit cu o nouă funcționalitate pentru obținerea unui server C&C de rezervă. Dacă niciun server C&C din configurația statică nu răspunde la Lumma Stealer, atunci C&C-ul de rezervă este extras dintr-o pagină web a unui profil Steam falsă, care acționează ca un resolver dead-drop. URL-ul profilului Steam este puternic protejat în binar, la fel ca și șirul versiunii. URL-ul C&C de rezervă, criptat, este ascuns în numele profilului Steam, așa cum se arată în Figura 6, iar metoda de protecție folosită este o simplă cifrare Caesar (ROT11).

Figura 6. Profil Steam și canal Telegram folosite ca resolver-e dead-drop

În februarie 2025, Lumma Stealer a primit o actualizare care includea o funcționalitate pentru obținerea unei noi adrese URL C&C primare dintr-un resolver dead-drop al canalului Telegram. URL-ul C&C este extras din câmpul titlu al canalului Telegram și este protejat de același algoritm folosit pentru resolver-ul dead-drop al profilului Steam. Principala diferență între utilizarea resolver-elor dead-drop de pe Telegram și profilul Steam este că opțiunea Telegram e testată prima, în timp ce profilul Steam este folosit ca soluție de ultimă instanță, dacă nu se stabilește o comunicare reușită cu serverele C&C obținute anterior (vezi Figura 16).

Mai mult, credem că resolver-ul dead-drop de pe Telegram este disponibil doar pentru abonamente de nivel superior. Concluzia se bazează pe faptul că numeroase eșantioane nu au setat un URL Telegram, iar în aceste cazuri malware-ul omite complet această metodă.

Identificatorul Lumma Stealer (LID)
Fiecare eșantion Lumma Stealer conține un identificator unic de afiliat hardcodat, cunoscut sub numele de LID. Este încorporat în forma necriptată (plaintext) și este utilizat în comunicarea cu serverele C&C. Până în martie 2025, șirul parametrului LID a urmat un format structurat, delimitat de două cratime (vezi Figura 7). O analiză detaliată a șirului LID aferent afiliatului va fi prezentată într-o secțiune viitoare.



Figura 7. Identificatorul LID într-un eșantion Lumma Stealer

Deși cel mai răspândit identificator LID observat în timpul monitorizării noastre începe cu șirul „uz4s1o”, al doilea cel mai des întâlnit – care începe cu „LPnhqo” – oferă un exemplu mai relevant pentru a vizualiza variațiile tipice ale LID-urilor. În șirul de cuvinte din Figura 8, prezentăm cele mai frecvente 200 de LID-uri colectate în timpul analizei noastre, toate începând cu „LPnhqo”.

Figura 8. Lista celor mai frecvente 200 de identificatori LID cu prefixul LPnhqo, observați în telemetria noastră

Totuși, la începutul lunii martie 2025, Lumma Stealer a trecut la utilizarea unor identificatori hexazecimali, denumiți intern UID (vezi Figura 9).


Figura 9. Comparație între cererile HTTPS POST pentru obținerea unei configurații dinamice

Identificator opțional de configurație
Pe lângă parametrul LID, eșantioanele Lumma Stealer pot conține și un parametru opțional, denumit intern „J”. Când este prezent, acest parametru apare în clar (plaintext) și este formatat ca un șir hexazecimal ASCII de 32 de octeți (vezi Figura 10). Parametrul „J” este folosit în cererile către serverul C&C pentru a obține o configurație dinamică, care conține definiții suplimentare pentru exfiltrare. Vom discuta în detaliu despre configurația dinamică mai jos în articol.



Figura 10. Parametrul „J” într-o mostră Lumma Stealer

Dacă parametrul „J” lipsește dintr-un eșantion Lumma Stealer, atunci, în cererea către serverul C&C, este utilizat un șir gol, iar malware-ul preia o configurație implicită. Spre deosebire de LID, parametrul „J” apare rar în eșantioanele Lumma Stealer. Cu toate acestea, joacă un rol crucial atunci când este prezent, deoarece permite recuperarea unei configurații dinamice care crește semnificativ capabilitățile stealer-ului. Astfel, Lumma Stealer devine un instrument de exfiltrare mult mai versatil pentru atacatori.

În martie 2025, când parametrul LID a fost redenumit UID și formatul său a fost schimbat, parametrul „J” a fost redenumit CID, dar fără nicio modificare a formatului sau a funcției sale.

Analiza proprietăților statice
Pe baza monitorizării pe termen lung și a analizei statistice a parametrilor LID, considerăm că primul segment al LID-ului identifică afiliatul, iar al doilea segment diferențiază campaniile. Pornind de la această ipoteză, în Figura 11, puteți vedea top 200 de identificatori de afiliați.

Figura 11. Cel mai frecvent întâlniți identificatori de afiliați în telemetria noastră

În plus, am reușit să creăm o vizualizare a activităților afiliaților din ultimul an (vezi Figura 12). Această vizualizare evidențiază o săptămână din ianuarie 2025. Astfel de reprezentări ne-au oferit informații valoroase despre tiparele și comportamentele diferiților atacatori. De asemenea, vizualizările arată existența unei infrastructuri C&C bazate pe domenii, comună majorității afiliaților Lumma Stealer. Totodată, am putut identifica domenii C&C mai puțin utilizate, pe care le suspectăm a fi rezervate afiliaților din niveluri superioare sau pentru campanii mai importante.

Figura 12. Vizualizarea utilizării infrastructurii Lumma Stealer (perioada începutului lunii ianuarie 2025)

Proprietăți dinamice ale Lumma Stealer
Lumma Stealer preia o configurație dinamică de la serverul C&C, care conține definiții ce specifică ce trebuie scanat pentru exfiltrare (vezi Tabelul 1). Principalul obiectiv este furtul de date din extensiile browserelor web și din bazele de date care conțin parole, cookie-uri de sesiune, istoricul de navigare și datele de completare automată. Pe lângă browserele web, malware-ul se concentrează și pe furtul de date din managerii de parole, VPN-uri, clienți FTP, servicii cloud, aplicații de desktop la distanță, clienți de email, portofele de criptomonede și aplicații pentru luat notițe.

Tabel 1. Configurări dinamice pentru câmpurile JSON

Deși nu am observat modificări semnificative în configurațiile implicite, această funcționalitate îmbunătățește capacitatea malware-ului de a efectua exfiltrări țintite (vezi Figura 13). O prezentare detaliată a câmpurilor de configurație a fost deja bine documentată în această cercetare realizată de SpyCloud.


Figura 13. Exemplu de configurație dinamică

Configurația este în format JSON și este descărcată de pe serverul C&C printr-o cerere HTTPS POST, care include identificatorul LID, parametrul opțional „J” și un șir User-Agent specific, hardcodat.

Protecția configurației dinamice s-a modificat de câteva ori recent. Anterior, era protejată în același mod ca lista statică de servere C&C, printr-o funcție XOR pe 32 de octeți și codificare base64. În martie 2025, protecția a fost schimbată la criptarea ChaCha20, în care cheia și nonce-ul sunt atașate în fața configurației criptate.

Șirul User-Agent este important de urmărit, deoarece furnizarea corectă a acestuia este esențială pentru a primi configurația dinamică. În aprilie 2025, Lumma Stealer a introdus un strat suplimentar de ofuscare, prin criptarea valorilor JSON folosind o funcție XOR pe 8 octeți (vezi Figura 14).


Figura 14. Configurație dinamică cu criptarea unor valori

Această variantă criptată a configurației dinamice este livrată atunci când este specificat un șir User-Agent ușor actualizat (vezi Tabelul 2).

Tabel 2. Variante de User-Agent

Pe lângă metoda de configurare dinamică, eșantioanele Lumma Stealer conțin încă instrucțiuni hardcodate pentru exfiltrarea fișierelor. Acestea includ date din aplicații precum Outlook sau Thunderbird, informații despre contul Steam și token-uri de cont Discord (conform articolului SpyCloud). Combinația între configurațiile dinamice și cele hardcodate asigură că Lumma Stealer poate colecta eficient o gamă largă de date valoroase. Pentru a rezuma toate schimbările statice și dinamice menționate până acum, am creat o cronologie (Figura 15) care evidențiază cele mai importante evoluții observate în malware-ul Lumma Stealer în ultimul an.


Figura 15. Cronologia celor mai importante actualizări din ultimul an

Comunicația C&C
Pe parcursul monitorizării Lumma Stealer, toate domeniile C&C extrase au condus constant la serviciile Cloudflare, care sunt folosite pentru a ascunde infrastructura reală a serverelor C&C ale Lumma Stealer. Serviciile Cloudflare sunt utilizate și pentru serverele C&C accesate prin intermediul resolver-elor dead-drop. În primul rând, Lumma Stealer trebuie să obțină un server C&C activ. Mecanismul de alegere a acestuia este ilustrat în diagrama de flux din Figura 16.

Figura 16. Mecanismul de selecție a serverului C&C

Handshake
Deși cererea efectivă de handshake către serverul C&C nu mai este prezentă în cele mai recente versiuni Lumma Stealer, merită menționată, deoarece a fost o caracteristică de monitorizare folosită de ESET pentru o lungă perioadă de timp. Cererea de handshake era o solicitare HTTPS POST care conținea parametrul „act=live” și un șir User-Agent hardcodat. Serverele active răspundeau cu un mesaj clar de „ok”.

Cererea de configurație
Când Lumma Stealer identifică un server C&C activ, solicită configurația printr-o cerere HTTPS POST (vezi Figura 17), care include parametrii LID și „J” ca date. Dacă parametrul „J” nu este prezent în eșantion, Lumma Stealer preia configurația implicită de la serverul C&C.

Această configurație specifică ce trebuie scanat pentru exfiltrare, permițând malware-ului să se adapteze la diverse ținte și medii.

Executarea payload-ului suplimentar
După ce Lumma Stealer exfiltrează cu succes datele sensibile și datele de conectare colectate, trimite o ultimă cerere HTTPS POST către serverul C&C — de această dată, cu un identificator (ID) hardware suplimentar al victimei, numit „hwid”. Această ultimă cerere finală preia configurația pentru un payload suplimentar ce urmează să fie executat pe dispozitivul victimei. Payload-ul în sine sau un URL pentru descărcarea lui face parte din acea configurație. Este important de menționat că un astfel de payload nu este furnizat întotdeauna.

Figura 17. Fluxul de comunicare C&C al Lumma Stealer

Tehnici de ofuscare anti-analiză
Lumma Stealer folosește câteva tehnici anti-emulare, dar eficiente, pentru a complica și mai mult analiza. Aceste tehnici sunt concepute pentru a evita detectarea și pentru a îngreuna munca analiștilor de securitate.

Ofuscare prin salt indirect
Una dintre principalele tehnici de ofuscare utilizate de Lumma Stealer este aplatizarea indirectă a fluxului de control, ilustrată în Figura 18. Această metodă perturbă în mod eficient blocurile de cod ale funcțiilor, făcând aproape imposibilă urmărirea logicii unei funcții. Prin aplatizarea fluxului de control, malware-ul își maschează operațiunile, complicând semnificativ procesul de analiză. Pentru o detaliere a acestei tehnici și o analiză aprofundată a modelelor de ofuscare, împreună cu o soluție tehnică, puteți consulta acest articol cuprinzător publicat de Mandiant.



Figura 18. Ofuscare prin flux de control indirect

Stack strings
O altă tehnică utilizată de Lumma Stealer este folosirea șirurilor stocate (de stivă) criptate, așa cum este ilustrat în Figura 19. Metoda ascunde eficient date binare și numeroase șiruri importante din eșantionul de malware, îngreunând analiza statică a fișierului executabil (binar). În plus, fiecare șir criptat are propria sa funcție matematică unică pentru decriptare, ceea ce adaugă un nou strat de complexitate procesului de analiză.


Figura 19. Rutina de decriptare a șirurilor stocate pe stivă (stack strings)

Ofuscarea API importate
În cazul Lumma Stealer, importurile de funcții API sunt rezolvate dinamic, la rulare. Numele funcțiilor sunt convertite în hash-uri, utilizând algoritmul FNV-1a, iar fiecare versiune a malware-ului folosește o bază de offset personalizată. După cum se vede în Figura 20, începând cu 25 august 2024, Lumma Stealer a adăugat un strat suplimentar de ofuscare: parametrii algoritmului de hash FNV-1a sunt ascunși folosind șiruri de stivă (stack strings).


Figura 20. Ofuscarea șirurilor de stivă a parametrilor funcției hash utilizați pentru ascunderea numelor API-urilor importate

Concluzie

Această operațiune globală de destructurare a fost posibilă datorită monitorizării pe termen lung a Lumma Stealer, pe care am prezentat-o în acest articol. Am descris modul de operare al grupului din spatele Lumma Stealer și natura serviciului său. De asemenea, am documentat identificatorii statici importanți și comunicarea C&C, precum și evoluția acestora în ultimul an. În final, am rezumat principalele tehnici de ofuscare care îngreunează analiza Lumma Stealer.

Operațiunea de perturbare, coordonată de Microsoft, are ca scop preluarea tuturor domeniilor C&C Lumma Stealer cunoscute, făcând astfel infrastructura sa de exfiltrare nefuncțională. ESET va continua să urmărească alți infostealeri și să monitorizeze îndeaproape activitatea Lumma Stealer în urma acestei operațiuni.

ESET Research May 26, 2025

Lasa un comentariu