Utilizând viermele Shai-Hulud, au fost compromise 600 de pachete NPM.

A fost înregistrat al doilea atac asupra pachetelor din repository-ul NPM, realizat prin modificarea viermelui auto-replicant Shai-Hulud, care introduce software malițios în dependențe. Ca rezultat al atacului, au fost publicate versiuni malițioase ale 605 pachete, având în total peste 100 milioane de descărcări.

Pentru a desfășura atacul, infractorii au interceptat prin phishing parametrii contului menținătorului unuia dintre pachetele populare, utilizat ca dependență de un număr mare de pachete. Profitând de contul capturat, atacatorii au publicat o versiune a pachetului, în care a fost adăugat un cod pentru activarea viermelui la instalarea pachetului afectat printre dependențe. Viermele activat caută datele de autentificare din mediul curent, descărcând și executând utilitarul TruffleHog.

În cazul în care este detectat un token de conectare la directorul NPM, viermele publică automat noi versiuni malițioase pentru pachetele dezvoltat în mediul curent. În acest mod, întregul arbore de dependențe este afectat în lanț. Pe lângă token-ul NPM, viermele salvează cheile de acces pentru GitHub și serviciile cloud AWS, Azure și GCP (Google Cloud Platform), precum și variabile de mediu și alte date confidențiale pe care le poate identifica scannerul TruffleHog.

Datele confidențiale găsite în sistem sunt încărcate pe GitHub prin crearea de repository-uri cu nume haotice (de exemplu, „qzx15djl71alh6p80h”) și cu fraza „Sha1-Hulud: The Second Coming” în descriere, precum și sunt codificate și afișate în log-urile GitHub Actions. În repository-ul creat va exista un fișier în format JSON (de exemplu, jsonactionsSecrets.json sau contents.json), în care se va regăsi un șir cu informațiile codificate prin metoda base64 despre sistem, variabilele de mediu și datele capturate. Pentru a transmite informațiile în afara sistemelor de integrare continuă bazate pe GitHub, viermele creează un handler GitHub Actions cu numele „.github/workflows/formatter_123456789.yml” și configurează un runner cu numele SHA1HULUD.

Diferențele față de atacul similar din septembrie se reduc la o metodă diferită de inserare a codului rău intenționat în pachet. În versiunile malițioase generate de vierme se anunță implementarea suportului pentru platforma JavaScript Bun. În fișierul package.json, în secțiunea „preinstall”, care definește scripturile care se rulează înainte de începerea instalării, se adaugă comanda „node setup_bun.js”.

Utilizând viermele Shai-Hulud, au fost compromise 600 de pachete NPM.

În fișierul „setup_bun.js” se regăsește cod pentru executarea scriptului obfuscat „bun_environment.js”, care conține codul viermilor. Pentru a se răspândi mai departe, viermele găsește codurile pachetelor, face modificări în fișierul package.json (crește numărul versiunii și include apelul setup_bun.js), adaugă fișierele setup_bun.js și bun_environment.js, reproiectează pachetul și execută comanda „npm publish” pentru a publica o nouă versiune.

Printre pachetele populare compromise se numără: @zapier/zapier-sdk (2.8 milioane descărcări pe săptămână), @posthog/core (2.8 milioane), posthog-node (1.5 milioane), @asyncapi/specs (1.4 milioane), @postman/tunnel-agent (1.2 milioane). Se presupune că atacul a început cu compromiterea pachetului @asyncapi/specs.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster