Shai-Hulud malware: széles körű npm ellátásilánc-támadás

Az új Shai-Hulud ellátásilánc-támadási kampány során több száz, trójai kóddal fertőzött npm-csomagot helyeztek el az NPM-en (Node Package Manager). A csomagok elsődleges célja a fejlesztői és CI/CD-környezetekben használt hitelesítő adatok megszerzése. A begyűjtött információk automatikusan, kódolt formában kerülnek fel a GitHubra, ahol eddig több mint 27 600 repository vált elérhetővé.

 

1. ábra GitHub repository-k a Shai-Hulud-kampány során ellopott adatokkal Forrás: BleepingComputer

 

A Shai-Hulud első változatát szeptember közepén észlelték. Ez 187 csomagot kompromittált egy önterjesztő komponenssel és a TruffleHog eszközt használta a fejlesztők bizalmas adatainak feltérképezésére és ellopására. A támadó a legitim csomagokat letöltötte, a package[.]json fájlba kártékony szkriptet illesztett, majd a kompromittált karbantartói fiókokon keresztül publikálta azokat.

Az Aikido Security egyik kiberbiztonsági kutatója arra figyelmeztetett, hogy az ellátásilánc-támadás során ellopott bizalmas adatok kiszivárogtak a GitHubra. A kampány ezt követően exponenciálisan növekedett, és mára több mint 27 000 rosszindulatú csomagot tartalmaz.

A Step Security elemzése szerint a Shai-Hulud kártevő két fő fájlt használ: a setup_bun[.]js droppert, valamint a bun_environment[.]js komponenst, amely extrém mértékű obfuszkációt alkalmaz.

A malware működése öt lépésből áll, melyek során bizalmas adatok (például GitHub- és npm-tokenek, valamint felhőszolgáltatói hitelesítők) exfiltrálása történik, majd egy destruktív művelet következhet, amely a felhasználói home könyvtár felülírását végzi. Ez a lépés azonban csak akkor aktiválódik, ha egyszerre mind a négy alábbi feltétel teljesül:

  • a kártevő nem tud hitelesíteni a GitHub felé,
  • nem képes repository-kat létrehozni,
  • nem tud tokent lekérni, és
  • nem talál npm-tokent a rendszerben.

A Shai-Hulud kódja a preinstall-fázisban fut le, és az alábbi fájlokat hozza létre:

  • cloud[.]json,
  • contents[.]json,
  • environment[.]json,
  • truffleSecrets[.]json.

A megszerzett érzékeny információk automatikusan generált GitHub repository-kba kerülnek, „Sha1-Hulud: The Second Coming” leírással.

 

2. ábra Shai-Hulud kampányhoz tartozó repository-kat tartalmazó GitHub-fiókok Forrás: BleepingComputer

 

Az Aikido Security 186 kompromittált csomagot azonosított, köztük a Zapier, ENS Domains, PostHog és AsyncAPI csomagjait. A Zapier csomagok a hivatalos fejlesztői eszközkészlet részét képezik, míg az ENS Domains csomagok széles körben használatosak DAppokban, tárcákban, tőzsdéken és az ENS Manager alkalmazásában.

A fejlesztők számára javasolt:

  • az érintett csomagok azonosítása,
  • a biztonságos verziókra való visszaállás, valamint
  • minden érzékeny adat és CI/CD-token azonnali rotálása.

A Wiz kutatói szerint kiemelten fontos a legitim csomagok visszaállítása és az összes npm-, GitHub- és felhőhitelesítő lecserélése. Az Aikido Security emellett javasolja a postinstall-szkriptek letiltását CI-környezetben.

(bleepingcomputer.com)