Comretix Blog

Wir bieten aktuelle Informationen über uns und aus der IT Welt.

Remote-Access-Trojaner in npm-Paket mit 40.000 wöchentlichen Downloads gefunden

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.

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.

Der Remote-Access-Trojaner listet hilfreich folgende Funktionen auf:

| Command | Purpose | | --------------- | ------------------------------------------------------------- | | cd | Change current working directory | | ss_dir | Reset directory to script’s path | | ss_fcd:<path> | Force change directory to <path> | | ss_upf:f,d | Upload single file f to destination d | | ss_upd:d,dest | Upload all files under directory d to destination dest | | ss_stop | Sets a stop flag to interrupt current upload process | | Any other input | Treated as a shell command, executed via child_process.exec() |

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:

const Y = path.join( process.env.LOCALAPPDATA || path.join(os.homedir(), 'AppData', 'Local'), 'Programs\\Python\\Python3127' ) env.PATH = Y + ';' + process.env.PATH

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.

(Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.)

(Ursprünglich geschrieben von Heise)
×
Stay Informed

When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.

Datenleck bei Parkhausbetreiber APCOA
Sicherheitslücken: F5 BIG-IP-Appliances sind an me...
 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Bereits registriert? Hier einloggen
Freitag, 23. Mai 2025

Die Comretix GmbH ist ein IT Systemhaus aus Tuttlingen. Seit über 30 Jahren betreuen wir unsere Kunden in Baden-Württemberg, der Schweiz und im gesamten Bundesgebiet mit Leidenschaft, Fairness und Loyalität. Wir bauen auf eine zuverlässige Partnerschaft mit unseren Lieferanten und Kunden. Unseren Mitarbeitern stehen wir auf Augenhöhe gegenüber.

Image