600 NPM-paket har blivit komprometterade genom masken Shai-Hulud.

Den andra attacken mot paketen i NPM-repositoriet har dokumenterats, genomförd med hjälp av en modifierad självspridande mask, Shai-Hulud, som infogar skadlig kod i beroenden. Som ett resultat av attacken publicerades skadliga versioner av 605 paket, som tillsammans har över 100 miljoner nedladdningar.

För att genomföra attacken fångade förövarna phishade inloggningsuppgifter till kontot för underhållaren av ett av de populära paketen som används som beroende av ett stort antal paket. Genom att utnyttja det stulna kontot publicerade angriparna en version av paketet som hade kod för att aktivera masken vid installationen av det drabbade paketet bland beroendena. Den aktiverade masken letar efter inloggningsuppgifter i den aktuella miljön och laddar ner samt kör verktyget TruffleHog.

Om en kopplingstoken till NPM-katalogen upptäcks publicerar masken automatiskt nya skadliga versioner av paket som utvecklas i den aktuella miljön. På så sätt påverkas hela beroendetträdet. Förutom NPM-token lagrar masken åtkomstnycklar till GitHub och molntjänster som AWS, Azure och GCP (Google Cloud Platform), samt miljövariabler och andra konfidentiella data som TruffleHog-skannern kan upptäcka.

De konfidentiella uppgifterna som hittas i systemet läggs upp på GitHub genom att skapa repositorier med slumpmässiga namn (till exempel 'qzx15djl71alh6p80h') och frasen 'Sha1-Hulud: The Second Coming' i beskrivningen, och de kodas och loggas i GitHub Actions. I det skapade repositoriet lagras en fil i JSON-format (till exempel jsonactionsSecrets.json eller contents.json) som innehåller en rad med base64-kodad information om systemet, miljövariablerna och de stulna uppgifterna. För att överföra information från kontinuerlig integrering baserad på GitHub skapar masken en GitHub Actions-handler med namnet '.github/workflows/formatter_123456789.yml' och konfigurerar en runner med namnet SHA1HULUD.

Skillnaderna från den liknande septemberattacken ligger i en annan metod för att infoga skadlig kod i paketet. I de skadliga versionerna som skapas av masken anges stöd för JavaScript-plattformen Bun. I filen package.json läggs kommandot 'node setup_bun.js' till undersektionen 'preinstall', som definierar skripten som körs före installationsstarten.

600 NPM-paket har blivit komprometterade genom masken Shai-Hulud.

I filen «setup_bun.js» finns kod för att köra det obfuskerade skriptet «bun_environment.js», som innehåller maskkoden. För vidare spridning hittar masken koden för paketen, gör ändringar i filen package.json (ökar versionsnumret och inkluderar ett anrop till setup_bun.js), lägger till filerna setup_bun.js och bun_environment.js, paketerar om paketet och kör kommandot «npm publish» för att publicera den nya versionen.

Bland de komprometterade populära paketen finns: @zapier/zapier-sdk (2,8 miljoner nedladdningar per vecka), @posthog/core (2,8 miljoner), posthog-node (1,5 miljoner), @asyncapi/specs (1,4 miljoner), @postman/tunnel-agent (1,2 miljoner). Det antas att attacken började med att paketet @asyncapi/specs blev komprometterat.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster