Cybersecurity-onderzoekers hebben een nieuwe reeks kwaadaardige npm-pakketten ontdekt die zijn ontworpen om cryptocurrency-portefeuilles en gevoelige gegevens te stelen.
De activiteit wordt gevolgd door ReversingLabs als de Spook campagne. De lijst met geïdentificeerde pakketten, allemaal gepubliceerd door een gebruiker met de naam mikilanjillo, staat hieronder –
- react-performance-suite
- react-state-optimizer-kern
- reageer-snel-utilsa
- ai-fast-autotrader
- pkgnieuwfefame1
- carbon-mac-copy-cloner
- Coinbase-desktop-sdk
“De pakketten zelf phishing naar sudo-wachtwoord waarmee de laatste fase wordt uitgevoerd, en proberen hun echte functionaliteit te verbergen en detectie op een geavanceerde manier te vermijden: het weergeven van nep-npm-installatielogboeken”, zei Lucija Valentić, onderzoeker naar softwarebedreigingen bij ReversingLabs, in een rapport gedeeld met The Hacker News.
De geïdentificeerde Node.js-bibliotheken beweren niet alleen ten onrechte dat ze extra pakketten downloaden, maar voegen ook willekeurige vertragingen toe om de indruk te wekken dat het installatieproces aan de gang is. Op een bepaald moment tijdens deze stap wordt de gebruiker gewaarschuwd dat de installatie een fout tegenkomt vanwege ontbrekende schrijfrechten voor “/usr/local/lib/node_modules”, wat de standaardlocatie is voor globaal geïnstalleerde Node.js-pakketten op Linux- en macOS-systemen.
Het instrueert het slachtoffer ook om zijn root- of beheerderswachtwoord in te voeren om door te gaan met de installatie. Als ze het wachtwoord invoeren, haalt de malware stilletjes de downloader van de volgende fase op, die vervolgens contact opneemt met een Telegram-kanaal om de URL voor de uiteindelijke payload op te halen en de sleutel die nodig is om deze te decoderen.
De aanval culmineert in de inzet van een trojan voor externe toegang die in staat is gegevens te verzamelen, cryptocurrency-wallets aan te vallen en te wachten op verdere instructies van een externe server.
ReversingLabs zei dat de activiteitsaandelen overlapt met een activiteitencluster dat eerder deze maand door JFrog werd gedocumenteerd onder de naam GhostClaw, hoewel het momenteel niet bekend is of dit het werk is van dezelfde bedreigingsacteur of een geheel nieuwe campagne.
GhostClaw gebruikt GitHub-opslagplaatsen en AI-workflows om macOS Stealer te leveren
Jamf Threat Labs zei in een vorige week gepubliceerde analyse dat de GhostClaw-campagne GitHub-opslagplaatsen en door kunstmatige intelligentie (AI) ondersteunde ontwikkelingsworkflows gebruikt om inloggegevens te stelen op macOS.
“Deze repositories imiteren legitieme tools, waaronder handelsbots, SDK’s en hulpprogramma’s voor ontwikkelaars, en zijn ontworpen om in één oogopslag geloofwaardig over te komen”, aldus beveiligingsonderzoeker Thijs Xhaflaire. “Verschillende van de geïdentificeerde opslagplaatsen hebben een aanzienlijke betrokkenheid opgebouwd, in sommige gevallen zelfs meer dan honderden sterren, wat hun waargenomen legitimiteit verder versterkt.”
In deze campagne worden de opslagplaatsen in eerste instantie gevuld met goedaardige of gedeeltelijk functionele code en gedurende een langere periode ongewijzigd gelaten om vertrouwen onder gebruikers op te bouwen voordat kwaadaardige componenten worden geïntroduceerd. Concreet bevatten de repository’s een README-bestand dat ontwikkelaars begeleidt bij het uitvoeren van een shellscript als onderdeel van de installatiestap.
Een variant van deze repository’s bevat een SKILL.md-bestand, dat zich voornamelijk richt op Al-georiënteerde workflows onder het mom van het installeren van externe vaardigheden via AI-agents zoals OpenClaw. Ongeacht de gebruikte methode initieert het shellscript een meerfasig infectieproces dat eindigt met de inzet van een stealer. De volledige reeks acties is als volgt:
- Het identificeert de hostarchitectuur en macOS-versie, controleert of Node.js al aanwezig is en installeert indien nodig een compatibele versie. De installatie vindt plaats in een door de gebruiker beheerde directory om te voorkomen dat er alarmsignalen worden gegenereerd.
- Het roept “node scripts/setup.js” en “node scripts/postinstall.js” aan, waardoor de uitvoering overgaat naar JavaScript-payloads, waardoor het systeemreferenties kan stelen, de GhostLoader-malware kan afleveren door contact op te nemen met een command-and-control (C2)-server, en sporen van kwaadaardige activiteit kan verwijderen door de Terminal te wissen.
Het script wordt ook geleverd met een omgevingsvariabele genaamd “GHOST_PASSWORD_ONLY”, die, wanneer ingesteld op nul, een volledig interactief installatieproces presenteert, compleet met voortgangsindicatoren en gebruikersprompts. Als dit is ingesteld op 1, start het script een vereenvoudigd uitvoeringspad dat voornamelijk is gericht op het verzamelen van inloggegevens, zonder extra elementen van de gebruikersinterface.
Interessant is dat het script “postinstall.js” in sommige gevallen een goedaardig succesbericht weergeeft, waarin staat dat de installatie succesvol was en dat gebruikers de bibliotheek in hun projecten kunnen configureren door de opdracht “npx react-state-optimizer” uit te voeren.
Volgens een rapport van cloudbeveiligingsbedrijf Panther van vorige maand is “react-state-optimizer” een van de vele andere npm-pakketten gepubliceerd door “mikilanjillo”, wat aangeeft dat de twee activiteitsclusters één en dezelfde zijn –
- reageer-query-core-utils
- react-state-optimizer
- reageer-snel-utils
- react-performance-suite
- ai-fast-autotrader
- carbon-mac-copy-cloner
- carbon-mac-kopieën-kloner
- pkgnewfefame
- donkere schuine streep
“De pakketten bevatten een CLI ‘setup wizard’ die ontwikkelaars verleidt om hun sudo-wachtwoord in te voeren om ‘systeemoptimalisaties’ uit te voeren”, aldus beveiligingsonderzoeker Alessandra Rizzo. “Het vastgelegde wachtwoord wordt vervolgens doorgegeven aan een uitgebreide payload van een credential stealer die browsergegevens, cryptocurrency-wallets, SSH-sleutels, configuraties van cloudproviders en tokens voor ontwikkelaarstools verzamelt.”
“Gestolen gegevens worden doorgestuurd naar partnerspecifieke Telegram-bots op basis van een campagne-ID die in elke lader is ingebed, met inloggegevens opgeslagen in het slimme contract van BSC en bijgewerkt zonder de malware zelf te wijzigen.”
Het initiële npm-pakket legt de inloggegevens vast en haalt de configuratie op van een Telegram-kanaal of een Teletype.in-pagina die is vermomd als blockchain-documentatie om de stealer in te zetten. Volgens Panther implementeert de malware een dubbel inkomstenmodel, waarbij het primaire inkomen afkomstig is van diefstal van inloggegevens die worden doorgegeven via partner Telegram-kanalen, en het secundaire inkomen via affiliate URL-omleidingen die zijn opgeslagen in een afzonderlijk Binance Smart Chain (BSC) slim contract.
“Deze campagne benadrukt een voortdurende verschuiving in het vak van aanvallers, waarbij distributiemethoden verder reiken dan traditionele pakketregisters naar platforms zoals GitHub en opkomende AI-ondersteunde ontwikkelingsworkflows”, aldus Jamf. “Door gebruik te maken van vertrouwde ecosystemen en standaardinstallatiepraktijken kunnen aanvallers met minimale wrijving kwaadaardige code in omgevingen introduceren.”