Črv Shai-Hulud je ogrozil 600 NPM paketov.

Zaznan je bil drugi napad na pakete v repozitoriju NPM, pri katerem je bila uporabljena modifikacija samorazmnoževalnega črva Shai-Hulud, ki v odvisnosti vstavlja zlonamerno programsko opremo. Napad je povzročil objavo zlonamernih izdaj 605 paketov, ki so skupaj prejeli več kot 100 milijonov prenosov.

Za izvedbo napada so napadalci uporabili lažno predstavljanje, da bi prestregli poverilnice vzdrževalca računa priljubljenega paketa, ki se uporablja kot odvisnost za številne druge pakete. Z ugrabljenim računom so napadalci objavili izdajo paketa s kodo, ki je aktivirala črva, ko je bil prizadeti paket nameščen kot odvisnost. Ko je zagnan, črv v trenutnem okolju poišče poverilnice, prenese in zažene pripomoček TruffleHog.

Če črv zazna žeton za povezavo z imenikom NPM, samodejno objavi nove zlonamerne izdaje za pakete, razvite v trenutnem okolju. To verižno okuži celotno drevo odvisnosti. Poleg žetona NPM črv shranjuje tudi dostopne ključe do storitev v oblaku GitHub in AWS, Azure in GCP (Google Cloud Platform), pa tudi spremenljivke okolja in druge občutljive podatke, ki jih lahko zazna skener TruffleHog.

Občutljivi podatki, najdeni v sistemu, se namestijo na GitHub z ustvarjanjem repozitorijev z naključnimi imeni (npr. »qzx15djl71alh6p80h«) in besedno zvezo »Sha1-Hulud: Drugi prihod« v opisu. Podatki so tudi šifrirani in se izpišejo v dnevnike dejanj GitHub. Ustvarjeno repozitorij vsebuje datoteko JSON (npr. jsonactionsSecrets.json ali contents.json), ki vsebuje niz z informacijami o sistemu, kodiranimi v base64, spremenljivkami okolja in zajetimi podatki. Za zunanje sporočanje informacij iz sistemov za neprekinjeno integracijo, ki temeljijo na GitHubu, črv ustvari upravljalnik dejanj GitHub z imenom ».github/workflows/formatter_123456789.yml« in konfigurira izvajalnik z imenom SHA1HULUD.

Razlike v primerjavi s podobnim septembrskim napadom se nanašajo na drugačen način vstavljanja zlonamerne kode v paket. Zlonamerne izdaje, ki jih je ustvaril črv, naj bi podpirale platformo Bun JavaScript. Ukaz »node setup_bun.js« je dodan v razdelek »preinstall« datoteke package.json, ki določa skripte, ki se zaženejo pred namestitvijo.

Črv Shai-Hulud je ogrozil 600 NPM paketov.

Datoteka »setup_bun.js« vsebuje kodo za izvajanje zakritega skripta »bun_environment.js«, ki vsebuje kodo črva. Za širjenje črv poišče kodo paketa, spremeni datoteko package.json (s povečanjem številke različice in vključitvijo klica setup_bun.js), doda datoteki setup_bun.js in bun_environment.js, ponovno zapakira paket in izvede ukaz »npm publish« za namestitev nove izdaje.

Med ogroženimi priljubljenimi paketi so: @zapier/zapier-sdk (2.8 milijona prenosov na teden), @posthog/core (2.8 milijona), posthog-node (1.5 milijona), @asyncapi/specs (1.4 milijona) in @postman/tunnel-agent (1.2 milijona). Domneva se, da se je napad začel s ogrožanjem vzdrževalca paketa @asyncapi/specs.

Vir: opennet.ru

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster