NodeCordRAT-malware
Cybersecurity-analisten hebben drie kwaadaardige npm-pakketten ontdekt die ontworpen zijn om een voorheen ongedocumenteerde remote access trojan (RAT) te verspreiden, die nu bekendstaat als NodeCordRAT. Deze pakketten werden in november 2025 uit het npm-register verwijderd en werden allemaal gepubliceerd door een account met de naam 'wenmoonx'.
Geïdentificeerde kwaadaardige pakketten:
- bitcoin-main-lib (ongeveer 2300 downloads)
- bitcoin-lib-js (ongeveer 193 downloads)
- bip40 (ongeveer 970 downloads)
De aanvallers kozen doelbewust namen die sterk lijken op legitieme repositories uit het bekende bitcoinjs-ecosysteem, kennelijk in een poging om ontwikkelaars te misleiden en de kans op onbedoelde installatie te vergroten.
Inhoudsopgave
Infectieketen en levering van de lading
Het beveiligingslek ontstaat wanneer bitcoin-main-lib of bitcoin-lib-js wordt geïnstalleerd. Beide pakketten bevatten een speciaal geconstrueerd package.json-bestand dat een postinstall.cjs-script definieert. Dit script installeert stilletjes bip40, dat de daadwerkelijke kwaadaardige code bevat.
Na uitvoering zet bip40 de uiteindelijke payload in: NodeCordRAT, een volledig functionele remote access trojan met ingebouwde functies voor het verzamelen van gegevens.
Wat is NodeCordRAT?
NodeCordRAT ontleent zijn naam aan twee belangrijke ontwerpkeuzes: npm als verspreidingsmechanisme en Discord als command-and-control (C2)-platform. Na installatie maakt de malware een digitale vingerafdruk van het geïnfecteerde systeem om een unieke identificatiecode te genereren voor Windows-, Linux- en macOS-systemen.
De trojan is in staat gevoelige informatie te verzamelen, waaronder:
- Google Chrome-inloggegevens
- API-tokens
- Geheimen van cryptocurrency-wallets, zoals MetaMask-gegevens en seed-phrases.
Alle verzamelde gegevens worden via de infrastructuur van Discord teruggestuurd naar de aanvaller.
Commando- en controlemechanisme op basis van Discord
In plaats van te vertrouwen op traditionele C2-servers, gebruikt NodeCordRAT een hardgecodeerde Discord-server en token om een verborgen communicatiekanaal op te zetten. Via dit kanaal kunnen operators commando's versturen en gestolen gegevens ontvangen.
Ondersteunde aanvallerscommando's zijn onder andere:
- !run – Voer willekeurige shell-opdrachten uit via de exec-functie van Node.js
- !screenshot – Maak een volledige schermafbeelding van het bureaublad en exporteer deze als een PNG-bestand
- !sendfile – Upload een specifiek lokaal bestand naar het Discord-kanaal
Gegevensdiefstal via de API van Discord
Het stelen van gegevens gebeurt volledig via de REST API van Discord. Met behulp van het ingebedde token plaatst de malware gestolen content direct in een privé-kanaal en voegt bestanden toe via het volgende eindpunt:
/kanalen/{id}/berichten
Deze aanpak stelt cybercriminelen in staat om kwaadaardig verkeer te vermengen met legitieme Discord-activiteit, waardoor detectie lastiger wordt in omgevingen waar Discord is toegestaan.
Veiligheidsimplicaties
Deze campagne benadrukt het aanhoudende misbruik van open-source ecosystemen en vertrouwde samenwerkingsplatformen. Door zich voor te doen als bekende Bitcoin-gerelateerde bibliotheken en post-installatiescripts als wapen in te zetten, creëerden de aanvallers een laagdrempelig infectiepad dat een platformonafhankelijke RAT (Remote Access Trojan) kon verspreiden, gericht op het stelen van inloggegevens en het op afstand besturen van systemen.
Voor ontwikkelteams en beveiligingsprofessionals onderstreept het incident het belang van strenge controle op afhankelijkheden, monitoring van installatiescripts en anomaliedetectie voor uitgaand verkeer naar consumentenplatformen zoals Discord.