A fost înregistrat un atac asupra utilizatorilor din catalogul NPM, în urma căruia, pe 20 februarie, în depozitul NPM au fost publicate peste 15.000 de pachete, în fișierele README ale căror linkuri duceau către site-uri de phishing sau linkuri de referință, pentru care se plăteau comisioane la accesare. În cadrul analizei, în pachete au fost identificate 190 de linkuri unice de phishing sau publicitate, acoperind 31 de domenii.
Numele pachetelor au fost alese pentru a atrage atenția oamenilor, cum ar fi „free-tiktok-followers”, „free-xbox-codes”, „instagram-followers-free” și altele. Scopul era de a umple lista de actualizări recente de pe prima pagină NPM cu pachete spam. În descrierea pachetelor erau incluse linkuri care promiteau distribuții gratuite, cadouri, coduri pentru jocuri, precum și servicii gratuite de creștere a abonaților și aprecierilor pe rețelele sociale, cum ar fi TikTok și Instagram. Nu este primul atac de acest tip; în decembrie, în cataloagele NuGet, NPM și PyPi a fost înregistrată publicarea a 144.000 de pachete spam.

Conținutul pachetelor a fost generat automat utilizând un script în python, care aparent a fost lăsat din neglijență în pachete și includea credentiale funcționale folosite în timpul atacului. Pachetele au fost publicate sub numeroase conturi diferite, utilizând metode care complicau urmărirea urmelor și identificarea rapidă a pachetelor problematice.
În plus față de acțiunile frauduloase în depozitele NPM și PyPi, au fost identificate și câteva tentative de publicare a pachetelor malițioase:
- În repository-ul PyPI au fost găsite 451 de pachete malițioase, care s-au mascat sub anumite biblioteci populare prin utilizarea type squatting (atribuit nume similare, diferite prin caractere specifice, de exemplu, vper în loc de vyper, bitcoinnlib în loc de bitcoinlib, ccryptofeed în loc de cryptofeed, ccxtt în loc de ccxt, cryptocommpare în loc de cryptocompare, seleium în loc de selenium, pinstaller în loc de pyinstaller etc.). Pachetele conțineau cod obfuscat pentru furtul de criptomonede, care determina prezența identificatorilor de portofel criptografic în clipboard și îi schimba cu portofelul atacatorului (se presupune că, la efectuarea plății, victima nu va observa că numărul de portofel transferat prin clipboard este diferit). Înlocuirea era realizată de o extensie integrată în browser, care rula în contextul fiecărei pagini web vizitate.
- În repository-ul PyPI a fost descoperită o serie de biblioteci HTTP malițioase. Activitatea malițioasă a fost găsită în 41 de pachete, ale căror nume erau selectate folosind metode de type squatting și semănau cu biblioteci populare (aio5, requestst, ulrlib, urllb, libhttps, piphttps, httpxv2 etc.). Conținutul era stilizat după biblioteci HTTP funcționale sau copia codul bibliotecilor existente, iar în descriere se făceau afirmații despre avantaje și comparații cu biblioteci HTTP legitime. Activitatea malițioasă consta fie în descărcarea de software malițios în sistem, fie în colectarea și trimiterea de date confidențiale.
- În NPM au fost descoperite 16 pachete JavaScript (speedte*, trova*, lagra), care, pe lângă funcționalitatea declarată (testarea lățimii de bandă), conțineau și cod pentru mineritul criptomonedelor fără cunoștința utilizatorului.
- În NPM a fost identificat 691 de pachete malițioase. Cea mai mare parte a pachetelor problematice pretindeau a fi proiecte de la Yandex (yandex-logger-sentry, yandex-logger-qloud, yandex-sendsms etc.) și includeau cod pentru trimiterea de informații confidențiale pe externe. servere. Se presupune că cei care au plasat pachetele încercau să obțină înlocuirea dependenței proprii la construirea proiectelor în Yandex (metoda de substituție a dependențelor interne). În repository-ul PyPI, aceiași cercetători au găsit 49 de pachete (reqsystem, httpxfaster, aio6, gorilla2, httpsos, pohttp etc.) cu cod malițios obfuscat, care descărca și pornea un fișier executabil de pe externe. server.
Sursa: opennet.ro
