Forscher haben mehrere npm-Pakete entdeckt, die nach NodeJS-Bibliotheken benannt sind und sogar eine ausführbare Windows-Datei enthalten, die NodeJS ähnelt, aber stattdessen einen finsteren Trojaner ablegt.
Aufgrund ihrer Heimlichkeit und einer sehr geringen Erkennungsrate waren diese Pakete bereits über zwei Monate lang auf npm präsent, bevor sie von den Forschern entdeckt wurden.
Nicht der Knoten, den Sie suchen
Forscher des Software-Sicherheitsunternehmens ReversingLabs haben drei npm-Pakete analysiert, die über zwei Monate lang in der Registrierung von npmjs.com lauerten.
Diese Pakete, die insgesamt etwas mehr als 1.200 Mal heruntergeladen wurden, heißen:
Paket | Versionen | Gesamtzahl der Downloads |
---|---|---|
nodejs-encrypt-agent | 6.0.2, 6.0.3, 6.0.4, 6.0.5 | 521 |
nodejs-cookie-proxy-agent | 1.1.0, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.2.4 | 678 |
Axios-Proxy | 1.7.3, 1.7.4, 1.7.7, 1.7.9, 1.8.9, 1.9.9 | 23 |
„Erstmals vor mehr als zwei Monaten veröffentlicht, nodejs-encrypt-agent „scheint auf den ersten Blick ein legitimes Paket zu sein“, stellen die Forscher von ReversingLabs in ihrem Bericht fest Bericht.
„Allerdings lösten Unstimmigkeiten bei unseren Forschern Alarm aus. Trotzdem war unser erster Gedanke immer noch, dass dieses Paket nicht bösartig sein könnte. Wenn es so wäre, wäre es sicherlich von npm-Administratoren bemerkt und entfernt worden.“
Obwohl nodejs-encrypt-agent löste zunächst keine Alarme aus und spiegelte sogar die Funktionalität legitimer Pakete wie wider Agentenbasis, Es steckte noch mehr dahinter, fanden die Forscher heraus.

„Es gab jedoch einen kleinen, aber sehr signifikanten Unterschied: den nodejs-encrypt-agent Das Paket enthielt eine tragbare ausführbare Datei (PE), die sich bei der Analyse durch ReversingLabs als bösartig herausstellte“, schreiben die Forscher.
Bei der PE-Datei, auf die verwiesen wird, handelt es sich um eine ausführbare Windows-Datei „lib.exe“ mit einer Größe von etwa 100 MB, die auf den ersten Blick vielleicht nicht verdächtig erscheint.

Die Datei ähnelt in ihrer Ausführung stark der echten NodeJS-Anwendung PE-Header und Metadaten, Code und Funktionalität. Tatsächlich beobachtete BleepingComputer: Varianten der ausführbaren Dateien „lib.exe“. in bestimmten Versionen von vorhanden nodejs-encrypt-agent hatte eine sehr niedrige Erkennungsrate:

Das Gleiche gilt auch weiterhin für die lib.exe speziell von ReversingLabs analysiert. Die Analyse von VirusTotal verrät wie die ausführbare Datei Node.js nachahmt und identische Metadaten der legitimen Anwendung enthält.
Der ReversingLabs-Forscher Igor Kramarić, der das Schadpaket analysierte, entdeckte, dass darin eine oder mehrere JavaScript-Dateien enthalten waren nodejs-encrypt-agent enthielt legitime Funktionen, verfügte aber auch über Code, der die gebündelte „lib.exe“ stillschweigend ausführte:

„Wie wir oben beobachtet haben: Es gab kaum Zweifel daran, dass das im npm-Paket entdeckte PE bösartig war“, sagt Lucija Valentić von ReversingLabs.
Die betreffende schädliche ausführbare Datei führte das aus, was so genannt wird TurkoRAT Infostealer – ein anpassbarer „Grabber“ und Zugangsdatendiebstahler, der schwer zu erkennen ist.
„Die Liste der beobachteten bösartigen oder verdächtigen Verhaltensweisen war lang, mit Funktionen, die darauf abzielten, vertrauliche Informationen von infizierten Systemen zu stehlen, darunter Benutzeranmeldeinformationen und Krypto-Wallets, sowie Sandbox-Umgebungen und Debugger, die zur Analyse bösartiger Dateien verwendet werden, auszutricksen oder zu besiegen.“

Wie nodejs-encrypt-agentVersionen von nodejs-cookie-proxy-agent hat diesen Trojaner ebenfalls entfernt, aber einen zusätzlichen Schritt dazwischen eingeführt, um einer Entdeckung zu entgehen.
Anstatt ‚lib.exe‘ direkt darin zu bündeln, nodejs-cookie-proxy-agent aufgeführt Axios-Proxy als Abhängigkeit und letzteres enthielt die schädliche ausführbare Datei, die jedes Mal abgerufen wurde, wenn das erstere Paket von einem Benutzer installiert wurde.
„Diesmal haben die Angreifer es als Abhängigkeit getarnt, Axios-Proxydas in jede darin gefundene Datei importiert wurde nodejs-cookie-proxy-agent „Versionen 1.1.0, 1.2.0, 1.2.1 und 1.2.2“, verraten die Forscher.
Alle Schadpakete wurden kurz nach ihrer Entdeckung durch ReversingLabs aus der npm-Registrierung entfernt. Die Tatsache, dass diese mehr als zwei Monate lang auf npm verblieben, verdeutlicht jedoch das anhaltende Risiko, das ungeprüfte Open-Source-Pakete für die Sicherheit der Software-Lieferkette darstellen können, warnen die Forscher.