Het NPM-ecosysteem is opnieuw het doelwit van een grote cyberaanval. Na de eerste Shai-Hulud worm in september zijn nu meer dan 1000 pakketversies aangetast. De aanval is gericht op het stelen van inloggegevens en verspreidt zich automatisch via NPM-pakketten. Enkele maanden na de eerste aanval in september is het pakketregister opnieuw getroffen door een variant van de Shai-Hulud worm. Het JFrog-onderzoeksteam ontdekte naast de eerder geïdentificeerde 459 pakketten nog eens 181 extra aangetaste versies. De aanval omvat nu meer dan 1000 pakketversies. De malware werkt op een vergelijkbare manier als de eerdere aanval. Het betreft een zelfverspreidende worm die gebruikersgeheimen steelt, deze uploadt naar een openbare GitHub-repo en zichzelf vervolgens opnieuw verpakt in alle beschikbare NPM-pakketten van de gebruiker. De aanvallers gebruiken een nieuwe payload die zich bevindt in bun_environment.js in plaats van bundle.js.
De aanvallers hebben deze campagne zelf "Sha1-Hulud: The Second Coming" genoemd. Dit is zichtbaar in de repository-beschrijvingen waar gestolen inloggegevens worden opgeslagen. De nieuwe variant genereert willekeurige repository-namen in plaats van de voorspelbare "/shai-hulud" structuur van de eerste aanval. De malware steelt toegangstokens van verschillende providers, waaronder GitHub, NPM, AWS, GCP en Azure. Ook alle inloggegevens die TruffleHog kan identificeren worden meegenomen. Het scala aan ondersteunde providers voor die tool is breed. Gebruikers met een van de aangetaste pakketversies moeten onmiddellijk actie ondernemen. Alle toegangstokens die op de getroffen machine waren opgeslagen moeten worden gereset. Dit geldt voor de eerder genoemde providers en alle andere diensten die TruffleHog herkent. Gebruikers moeten in hun GitHub-account controleren op nieuwe repositories met willekeurige namen. Deze kunnen bestanden bevatten als contents.json, environment.json, cloud.json, actionsSecrets.json en truffleSecrets.json. Bij NPM-accounts is het belangrijk om te controleren op nieuwe pakketversies met een postinstall-script dat "node setup_bun.js.js" uitvoert. Gevonden versies moeten direct worden verwijderd. Klanten van JFrog Xray en Curation zijn volledig beschermd tegen deze aanvalsvector. Alle pakketten uit de campagne zijn gemarkeerd als malware. Voor Curation-klanten is het aan te raden om Compliant Version Selection in te schakelen. Hiermee wordt transparant de laatste niet-malafide versie van elk pakket geserveerd. Ook het activeren van de "Package version is immature" policy helpt. Die weert pakketversies die te nieuw zijn, waardoor organisaties immuun blijven voor soortgelijke dependency hijack-aanvallen.
Reacties
Geef een reactie
Vereiste velden zijn gemarkeerd met *