Mini Shai-Hulud pusht kwaadaardige AntV npm-pakketten via een gecompromitteerd beheerdersaccount

Cybersecurity-onderzoekers hebben een nieuwe aanvalscampagne op de supply chain van software ontdekt die verschillende npm-pakketten heeft gecompromitteerd die verband houden met het @antv-ecosysteem als onderdeel van de aanhoudende aanvalsgolf van Mini Shai-Hulud.

“De aanval treft pakketten die zijn gekoppeld aan het npm-onderhoudsaccount atool, waaronder charts-for-react, een veelgebruikte React-wrapper voor Apache ECharts met ongeveer 1,1 miljoen downloads per week”, aldus Socket.

De lijst met getroffen pakketten omvat @antv-pakketten zoals @antv/g2, @antv/g6, @antv/x6, @antv/l7, @antv/s2, @antv/f2, @antv/g, @antv/g2plot, @antv/graphin en @antv/data-set, evenals gerelateerde pakketten buiten de @antv-naamruimte, inclusief echarts-for-react, timeago.js, size-sensor, canvas-nest.js en anderen.

Het applicatiebeveiligingsbedrijf zei dat het vak overeenkomt met Mini Shai-Hulud, waar een gecompromitteerde beheerdersaccount wordt gebruikt om getrojaniseerde versies snel achter elkaar uit te sturen.

De ontwikkeling komt op het moment dat de aanvalscampagne op de toeleveringsketen zich een weg blijft banen door de toeleveringsketen van software, zich snel door verschillende open-sourceregisters heen wurmt en honderden softwarepakketten infecteert door code voor het stelen van inloggegevens in populaire ontwikkelingstools in te bedden.

“De potentiële ontploffingsradius is aanzienlijk omdat het getroffen publicatieaccount is verbonden met veelgebruikte pakketten voor datavisualisatie, grafieken, mapping, grafieken en React-component-ecosystemen”, aldus Socket. “Zelfs als slechts een subset van die pakketten kwaadaardige updates zou ontvangen, creëert de populariteit van het pakket-ecosysteem een ​​betekenisvolle downstream-blootstelling voor organisaties die automatisch nieuwe afhankelijkheidsversies binnenhalen.”

De aanvaller zou 639 kwaadaardige versies hebben gepubliceerd over 323 unieke pakketten, waaronder 558 versies over 279 unieke @antv-pakketten. De stealer-payload verzamelt meer dan twintig soorten inloggegevens, Amazon Web Services, Google Cloud, Microsoft Azure, GitHub, npm, SSH, Kubernetes, Vault, Stripe, databaseverbindingsreeksen en probeert de Docker-container te ontsnappen via de host-socket. De stealer is identiek aan de Mini Shai-Hulud-payload die wordt gebruikt in het SAP-compromis.

De verzamelde gegevens worden uiteindelijk geserialiseerd, gecomprimeerd, gecodeerd en geëxfiltreerd naar het domein (“tm-kosche(.)com:443”). Als noodmechanisme maakt de malware gebruik van het gestolen GitHub-token om een ​​openbare opslagplaats onder het account van het slachtoffer te creëren en de gegevens in een JSON-bestand vast te leggen.

De repositories bevatten de beschrijving “niagA oG eW ereH:duluH-iahS”, wat teruggaat naar “Shai-Hulud: Here We Go Again.” Op het moment van schrijven zijn er meer dan 2.500 repositories in GitHub die deze marker bevatten.

Bovendien bevat de malware een npm-propagatielogica die misbruik maakt van de gestolen npm-tokens om ze eerst te valideren via de npm-registry-API, pakketten opsomt die worden onderhouden door de tokeneigenaar, pakkettarballs downloadt, de kwaadaardige payload injecteert, een pre-install hook toevoegt, de pakketversies vergroot en ze opnieuw publiceert met behulp van de identiteit van de gecompromitteerde beheerder.

“De aanval maakt gebruik van twee uitvoeringspaden”, aldus SafeDep. “Elke gecompromitteerde versie voegt een preinstall-hook toe (bun run index.js). 630 van de 631 kwaadaardige versies injecteren ook een optionele Dependencies-invoer (verwijzend naar commits van bedriegers) die een tweede kopie van de payload levert via de legitieme antvis/G2 GitHub-repository.”

“De publicatie van 22 minuten verspreid over 314 pakketten (631 versies), met een identieke versluierde lading, sluit een geleidelijke of gerichte operatie uit. Dit was een geautomatiseerde, snelle exfiltratie met behulp van een gestolen token.”

De zichzelf replicerende Mini Shai-Hulud-campagne wordt beschouwd als het werk van een financieel gemotiveerde dreigingsacteur genaamd TeamPCP. Sinds vorige week is de activiteit echter een agressieve, nieuwe fase ingegaan nadat TeamPCP de volledige broncode heeft vrijgegeven zodat andere bedreigingsactoren deze kunnen gebruiken als onderdeel van een supply chain-aanvalswedstrijd die is aangekondigd in samenwerking met BreachForums.

“De open source van een productie-offensief raamwerk is niet ongekend, maar wel ongebruikelijk voor een actieve campagne”, aldus Datadog. “Het verlaagt de barrière voor andere actoren om het speelboek van TeamPCP over te nemen, inclusief de meer geavanceerde technieken zoals misbruik van OIDC-tokens, vervalsing van de herkomst en persistentie-hooks voor AI-tools.”

Sindsdien heeft een onbekende bedreigingsacteur vier kwaadaardige npm-pakketten geüpload, waarvan er één een bijna woordelijke kopie van de Shai-Hulud-worm bevat met zijn eigen command-and-control-infrastructuur, een indicatie dat gekloonde versies van de worm open source-ecosystemen kunnen besmetten.

Deze copycat-golf bemoeilijkt op zijn beurt de pogingen tot attributie, terwijl de aanvallen diefstal van inloggegevens blijven faciliteren en de deur openzetten voor vervolguitbuiting. Het incident laat eens te meer zien hoe compromitterende tools die al vertrouwd worden binnen bedrijfsnetwerken, kunnen worden misbruikt als distributievehikel voor malware. Wat de campagne echt gevaarlijk maakt, is dat het ene compromis in het andere doordringt, wat resulteert in een steeds groter wordende ontploffingsradius naarmate er meer pakketten worden gehackt.

“Deze campagne is bedoeld voor diefstal van inloggegevens op grote schaal”, zei Trend Micro vorige week in een rapport. “Organisaties die GitHub Actions, PyPI, Docker Hub, GHCR (GitHub Container Registry), VS Code-extensies en cloud-verbonden CI-runners gebruiken, worden direct blootgesteld aan dit risico.”

Thijs Van der Does