A fost înregistrat un atac asupra utilizatorilor directorului NPM, în urma căruia pe 20 februarie au fost postate peste 15 mii de pachete în depozitul NPM, ale căror fișiere README conțineau link-uri către site-uri de phishing sau link-uri de referință pentru clicuri pe care au redevențe. sunt platiti. În timpul analizei, în pachete au fost identificate 190 de link-uri unice de phishing sau publicitate, acoperind 31 de domenii.
Numele pachetelor au fost alese pentru a atrage interesul oamenilor obișnuiți, de exemplu, „free-tiktok-followers”, „free-xbox-codes”, „instagram-followers-free”, etc. Calculul a fost făcut pentru a completa lista de actualizări recente de pe pagina principală a NPM cu pachete de spam. Descrierile pachetelor includeau link-uri care promiteau cadouri gratuite, cadouri, trucuri de jocuri, precum și servicii gratuite pentru creșterea adepților și a like-urilor pe rețelele sociale precum TikTok și Instagram. Acesta nu este primul astfel de atac din decembrie, publicarea a 144 de mii de pachete de spam a fost înregistrată în directoarele NuGet, NPM și PyPi.

Conținutul pachetelor a fost generat automat folosind un script python care a fost lăsat aparent din greșeală în pachete și a inclus acreditările de lucru utilizate în atac. Pachetele au fost publicate sub mai multe conturi diferite, folosind tehnici care au făcut dificilă descurcarea traseului și identificarea rapidă a pachetelor problematice.
Pe lângă activitățile frauduloase, mai multe încercări de a publica pachete rău intenționate au fost detectate și în depozitele NPM și PyPi:
- 451 de pachete rău intenționate au fost găsite în depozitul PyPI, care s-au deghizat în biblioteci populare folosind tipsquatting (atribuind nume similare care diferă în caractere individuale, 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 includeau cod ofuscat pentru furtul criptomonedei, care a detectat prezența identificatorilor portofelului cripto în clipboard și le-a schimbat în portofelul atacatorului (se presupune că atunci când face o plată, victima nu va observa că numărul portofelului a fost transferat prin clipboard). e diferit). Înlocuirea a fost efectuată printr-un add-on de browser care a fost executat în contextul fiecărei pagini web vizualizate.
- O serie de biblioteci HTTP rău intenționate au fost identificate în depozitul PyPI. Activitate rău intenționată a fost găsită în 41 de pachete, ale căror nume au fost selectate folosind metode de tipsquatting și semănau cu bibliotecile populare (aio5, requestst, ulrlib, urllb, libhttps, piphttps, httpxv2 etc.). Umplutura a fost concepută pentru a semăna cu bibliotecile HTTP funcționale sau a copiat codul bibliotecilor existente, iar descrierea includea afirmații despre beneficiile și comparațiile cu bibliotecile HTTP legitime. Activitatea rău intenționată a constat fie în descărcarea de programe malware în sistem, fie în colectarea și trimiterea de date sensibile.
- NPM a identificat 16 pachete JavaScript (speedte*, trova*, lagra), care, pe lângă funcționalitatea menționată (testarea debitului), conțineau și cod pentru extragerea criptomonedei fără știrea utilizatorului.
- În NPM au fost detectate 691 de pachete rău intenționate. Majoritatea pachetelor problematice au impersonat proiecte Yandex (yandex-logger-sentry, yandex-logger-qloud, yandex-sendsms etc.) și au inclus cod pentru trimiterea de informații confidențiale către servere externe. servereSe crede că cei care au postat pachetele încercau să înlocuiască propriile dependențe atunci când construiau proiecte în Yandex (o metodă de substituire a dependențelor interne). În depozitul PyPI, aceiași cercetători au găsit 49 de pachete (reqsystem, httpxfaster, aio6, gorilla2, httpsos, pohttp etc.) care conțineau cod malițios ofuscat care descarcă și rulează un fișier executabil de pe un server extern. Server.
Sursa: opennet.ru
