A Shai-Hulud féreg segítségével 600 NPM-csomag kompromittálódott

Feltárták a második támadást az NPM tárolójában található csomagok ellen, amelyet a Shai-Hulud önjáró féreg módosítása hajtott végre, amely rosszindulatú programokat csempészett a függőségekbe. A támadás eredményeként 605 csomag rosszindulatú kiadásai jelentek meg, összesen több mint 100 millió letöltéssel.

A támadók phishing révén elkapták egy népszerű csomag karbantartójának fiókadatait, amelyet sok csomag függőségeként használnak. A megszerzett fiók segítségével a támadók közzétettek egy csomag kiadását, amely tartalmazta a féreg aktiválásához szükséges kódot, ha a fertőzött csomagot függőségként telepítik. Az elindított féreg az aktuális környezetben keresi a hitelesítő adatokat, letöltve és futtatva a TruffleHog alkalmazást.

Amennyiben NPM-katalógushoz való kapcsolódási tokent észlel a féreg, automatikusan közzéteszi az aktuális környezetben fejlesztett csomagok új rosszindulatú kiadásait. Ezzel a módszerrel az egész függőségi fába láncba kapcsoltan terjed a fertőzés. Az NPM-token mellett a féreg elmenti a GitHub és az AWS, Azure, valamint GCP (Google Cloud Platform) felhőszolgáltatásokhoz való hozzáférési kulcsokat, valamint környezeti változókat és egyéb bizalmas adatokat, amelyeket a TruffleHog szkenner képes észlelni.

A rendszerben felfedezett bizalmas adatokat a GitHubon tárolják, véletlenszerű nevű tárolók létrehozásával (például 'qzx15djl71alh6p80h') és a 'Sha1-Hulud: The Second Coming' felirattal a leírásban, valamint kódolt formában a GitHub Actions naplóiba is kiírásra kerülnek. Az újonnan létrehozott tárolóban található egy JSON-formátumú fájl (például jsonactionsSecrets.json vagy contents.json), amely tartalmazza a rendszer, környezeti változók és elkapt adatok kódolt, base64 formátumban tárolt információit. Az információk kikerüléséhez a GitHub alapú folyamatos integrációs rendszerekből a féreg létrehoz egy GitHub Actions kezelőt '.github/workflows/formatter_123456789.yml' néven, és beállít egy SHA1HULUD nevű futtatót.

A különbségek az hasonló szeptemberi támadással szemben abban állnak, hogy más módszert alkalmaznak a rosszindulatú kód csomagba illesztésére. A létrehozott férgek ártalmas kiadásai a Bun JavaScript platform támogatásának megvalósítását hirdetik. A package.json fájl „preinstall” szekciójába, amely a telepítés előtt futó szkripteket határozza meg, bekerül a „node setup_bun.js” parancs.

A Shai-Hulud féreg segítségével 600 NPM-csomag kompromittálódott

A „setup_bun.js” fájlban található kód az obfuszkált „bun_environment.js” szkript futtatására szolgál, amely a féreg kódot tartalmazza. A férg a további terjedése érdekében megtalálja a csomagok kódját, módosítja a package.json fájlt (megnöveli a verziószámot, és tartalmazza a setup_bun.js hívását), hozzáadja a setup_bun.js és bun_environment.js fájlokat, újrapakolja a csomagot, és végrehajtja a „npm publish” parancsot az új kiadás közzétételéhez.

A kompromittált népszerű csomagok közé tartozik: @zapier/zapier-sdk (2,8 millió letöltés hetente), @posthog/core (2,8 millió), posthog-node (1,5 millió), @asyncapi/specs (1,4 millió), @postman/tunnel-agent (1,2 millió). Feltételezhető, hogy a támadás az @asyncapi/specs csomag kísérőjének kompromittálásával kezdődött.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster