Infostealer-uri pentru Windows, macOS și Linux găsite în zece pachete pe npm
Pachetele npm sunt disponibile din iulie, își deghizează elaborat rutinele malițioase și folosesc un CAPTCHA fals pentru a părea autentice.

De la începutul lunii iulie, pachete care conțin cod malițios bine ascuns au fost disponibile în managerul de pachete JavaScript npm. Socket, o companie specializată în securitatea lanțului de aprovizionare software, a descoperit zece pachete cu un total de 9.900 de descărcări. Conform blogului Socket, acestea erau încă disponibile pe npm pe 28 octombrie, dar nu mai există.
Pachetele descarcă un program de tip „stealer” de informații adaptat sistemului de operare, care fură datele de autentificare pe Windows, macOS și Linux. Atacul este deghizat în mai multe moduri.
Typosquatting ca deschizător de uși
Atacatorii folosesc typosquatting pentru a distribui codul malițios: Pachetele npm au nume similare cu pachetele legitime, inclusiv typescriptjs în loc de TypeScript și dizcordjs în loc de discord.js. Socket a găsit următoarele pachete care conțin cod malițios: typescriptjs, deezcord.js, dizcordjs, dezcord.js, etherdjs, ethesjs, ethetsjs, nodemonjs, react-router-dom.js și zustand.js.
Rutina de instalare, situată în "postinstall"fișierul de configurare package.json, deschide o nouă fereastră de terminal în funcție de sistemul de operare, în care pornește apoi aplicația app.js folosind Node. Aceasta menține execuția ascunsă în fereastra principală.
Mai multe straturi de malware deghizat
Fișierul app.js obfuscă codul malițios folosind diverse metode, inclusiv codificarea URL-urilor și instrucțiuni switch cu calcule hexazecimale și octale:
Comentariile din fragmentul de cod provin de la Socket. Pentru a părea autentic, malware-ul afișează un CAPTCHA ca artă ASCII înainte de a porni.
(Imagine: Socket)
După introducerea oricărei secvențe de caractere – CAPTCHA este pur și simplu o distragere a atenției – codul malițios trimite adresa IP a sistemului țintă către un server al atacatorilor și descarcă un fișier binar care corespunde sistemului de operare determinat anterior.
Furt de informații multi-platformă
Pentru a realiza acest lucru, malware-ul schimbă limbajul de programare la Python: Codul malițios se găsește în pachetul PyInstaller cu numele complet neascuns „data_extracter”. PyInstaller împachetează o aplicație Python cu toate dependențele sale într-un singur pachet și o execută pe sistemul țintă. PyInstaller este disponibil pentru Linux, Windows și macOS și nu necesită o instalare Python.
`data_extracter` caută în numeroase directoare și fișiere pentru acreditări, inclusiv directoare de date Firefox și Chromium, directoare de chei SSH și directoare de configurare, cum ar fi ~/.aws/credentials. Programul caută, de asemenea, chei API și alte acreditări în fișierele bazei de date SQLite și fișierele de configurare JSON.
Aplicația preia, de asemenea, date cookie din browser și examinează keyring-urile, în funcție de sistemul de operare. De asemenea, încearcă să captureze token-uri de autentificare. Acreditările colectate sunt apoi împachetate de data_extractor într-un fișier ZIP, pe care îl trimite în cele din urmă către serverul unui atacator.
Oricine a instalat unul dintre pachetele menționate anterior trebuie să presupună că atacatorii le-au interceptat datele. Chiar dacă pachetele găsite nu mai sunt disponibile, acestea circulau de peste trei luni și, din cauza tehnicilor sofisticate de ofuscare utilizate, alte pachete ar putea fi afectate de o variantă a atacului.
Mai multe detalii despre pachetele afectate, infrastructura rețelei și tehnicile MITRE ATT&CK utilizate pot fi găsite în blogul Socket .

Comentarii
Trimiteți un comentariu