Remote-Access-Trojaner in npm-Paket
Remote-Access-Trojaner in npm-Paket mit 40.000 wöchentlichen Downloads gefunden
Angreifer hatten das Paket rand-user-agent, das unter anderem für automatische Tests und zum Web-Scraping dient, mit Schadcode versehen.
Auf npm sind kompromittierte Varianten des Pakets "rand-user-agent" aufgetaucht, die einen Remote-Access-Trojaner (RAT) an Bord hatten. Der Random User Agent ist zwar als veraltet gekennzeichnet, kommt aber nach wie vor auf gut 40.000 wöchentliche Downloads. Wer es in den vergangenen Wochen verwendet hat, könnte sich Schadcode eingefangen haben.Das Paket generiert User-Agents-Strings, also Zeichenketten, die Clients wie Browser an einen Server schicken. Der Herausgeber des Pakets WebScrapingAPI nutzt es für das Web-Scraping. Es lässt sich aber auch für andere Zwecke wie automatisierte Tests oder Sicherheitschecks verwenden.
Schleichende Updates mit Trojaner
Die letzte offizielle Version 2.0.82 ist sieben Monate alt, und der Herausgeber WebScrapingAPI hat das Paket als deprecated (veraltet) gekennzeichnet. Das auf der npm-Seite verlinkte GitHub-Repository existiert inzwischen nicht mehr.
Das auf Supply-Chain-Security spezialisierte Unternehmen aikido hat jedoch später veröffentlichte Versionen des Pakets auf npm gefunden. Diese haben in der Datei dist/index.js Schadcode eingeführt, der in der Vorschau auf npm nicht auf Anhieb zu sehen und zudem mehrfach verschleiert war.
Der Code richtet einen verdeckten Kanal zur Kommunikation mit einem Command-and-Control-Server (C2) ein und installiert Module in einem Ordner namens .node_modules. Der Client schickt anschließend unter anderem eine ID und Informationen zum verwendeten Clientbetriebssystem an den Server.
Windows bekommt einen vermeintlichen Python-Pfadeintrag als Extra
Zusätzlich legt das Initialisierungsskript unter Windows einen neuen Ordner an und fügt ihn an den Start der Umgebungsvariablen PATH
ein. Der Ordnername Python3127 soll suggerieren, dass es sich um einen offiziellen Ordner für die Programmiersprache handelt, und so Schadcode als vermeintliche Python-Tools erscheinen und sich womöglich durch offizielle Python-Distributionen aufrufen lassen.
Die kompromittierten Pakete sind inzwischen wieder von npm entfernt worden. Sie trugen die Versionsnummern 2.083, 2.084 und 1.0.110. Wer in den vergangenen Monaten das Paket verwendet hat, sollte überprüfen, ob sich Schadcode auf dem Rechner befindet oder eine Kommunikation mit dem C2 stattgefunden hat.
Gefunden unter http://www.heise.de/news/Remote-Access-Trojaner-in-npm-Paket-mit-40-000-woechentlichen-Downloads-gefunden-10377590.html