Falsi recruiter distribuiscono NodeRabbit e PollCat: i nuovi RAT multipiattaforma di Nimbus Manticore
APT

Illustration mit KI erzeugt

Gefälschte Recruiter verbreiten NodeRabbit und PollCat: die neuen plattformübergreifenden RATs von Nimbus Manticore

Iranische Gruppe Nimbus Manticore lockt Entwickler mit Fake-Jobs auf LinkedIn. Getarnte npm-Pakete installieren die neuen RATs NodeRabbit und PollCat.

Von künstlicher Intelligenz erzeugter Text, ohne menschliche Überprüfung veröffentlicht. KI-Transparenz

Eine Cyberespionage-Kampagne, die der iranischen Gruppe Nimbus Manticore, auch bekannt als Iranian Dream Job, zugeschrieben wird, nimmt Entwickler über LinkedIn und andere Karriereplattformen ins Visier. Die am 1. September 2026 bekannt gewordene Operation verwandelt gewöhnliche Programmieraufgaben in Verbreitungswege für zwei bislang undokumentierte Remote Access Trojans: NodeRabbit und PollCat.

Kaspersky hat beide Malware-Familien dem iranischen Akteur zugeordnet. Die Opfer erhalten Archive, die scheinbar von Recruitern großer Technologieunternehmen stammen, und werden aufgefordert, Softwareprojekte lokal innerhalb sehr kurzer Fristen auszuführen. Der Schadcode ist in den Anwendungsdateien, bereits enthaltenen npm-Abhängigkeiten oder Startkomponenten versteckt.

Es gibt keinen Patch, der installiert werden müsste: Es handelt sich nicht um eine Produkt­schwachstelle, sondern um eine Social-Engineering-Kette, die den Bewerber dazu bringt, die Malware selbst auszuführen.

Die technische Aufgabe wird zur ersten Phase des Eindringens

Nimbus Manticore nutzt ein Verfahren, das sich an vertrauten Abläufen für Softwareentwickler orientiert. Ein vermeintlicher Recruiter kontaktiert den Bewerber, stellt eine berufliche Gelegenheit vor und weist ihm eine plausible technische Aufgabe zu.

Im untersuchten Fall in Afghanistan enthielt das auf AWS gehostete Archiv Front-Technical-Challenge.zip den Quellcode eines Projektmanagement-Tools namens Taskflow. Die Anweisungen räumten drei Stunden ein, um Fehler im Frontend zu beheben, und untersagten den Einsatz KI-gestützter Assistenten.

Eine Anweisung forderte ausdrücklich dazu auf, server.js nicht zu verändern, da die Datei angeblich bereits funktioniere. Tatsächlich war sie der Infektionsvektor.

Die erste Zeile der Datei importierte colorized_terminal Version 2.1.0, ein gefälschtes npm-Paket. Die Abhängigkeit stammte nicht aus der npm-Registry, sondern war direkt im mitgelieferten Verzeichnis node_modules abgelegt worden. Nach dem Import startete das Paket im Hintergrund:

node_modules/.cache/.320697f1/index.js

Diese Datei enthält NodeRabbit. Die Technik verhindert, dass dem Opfer eine offensichtlich verdächtige ausführbare Datei präsentiert wird, und nutzt stattdessen den normalen Ablauf der Aufgabe: Projekt installieren oder prüfen, den Server starten und die Anwendung testen.

Weitere Samples derselben Familie wurden auf zwei Systemen in Ägypten und Äthiopien entdeckt. Bei diesen Varianten diente das Paket pretty-log Version 2.1.0 als Köder und war ebenfalls als trojanisierte Abhängigkeit in das Projekt eingebettet.

NodeRabbit kontrolliert Dateien, Prozesse und Netzwerkkonfiguration

NodeRabbit ist ein auf Node.js basierender RAT, der für Windows, Linux und macOS entwickelt wurde. Die zuerst analysierte Variante kommuniziert mit drei auf Azure gehosteten Anwendungen:

  • plugplay.azurewebsites[.]net
  • rgbteller.azurewebsites[.]net
  • wslwebui.azurewebsites[.]net

Das Command-and-Control-Protokoll trennt Registrierung, Abruf von Aufträgen und Übermittlung der Ergebnisse. Die entsprechenden Endpunkte sind /api/rabbit/checkin, /api/rabbit/task und /api/rabbit/result.

Die 11 unterstützten Befehle ermöglichen es den Betreibern, Informationen über den Host zu sammeln, Prozesse aufzulisten, Befehle über eine Shell auszuführen und Verzeichnisse zu durchsuchen. Die Malware kann außerdem Dateien blockweise lesen, sie als Base64 zurückgeben, dekodierte Inhalte an beliebigen Speicherorten ablegen und Dateien oder ganze Verzeichnisse löschen.

Die Aufklärung umfasst Netzwerkadapter, MAC- und IP-Adressen sowie DNS-Konfigurationen. Der Server kann zudem das Beaconing-Intervall verändern und den C2-Datenverkehr an die Anforderungen der Operation anpassen.

Eine Funktion ermöglicht den Empfang eines Base64-kodierten Node.js-Skripts, dessen Speicherung unter einem zufälligen Namen mit der Endung .tmp, die Ausführung und die anschließende sofortige Löschung. Auf diese Weise kann der Angreifer die Fähigkeiten der Malware dynamisch erweitern und weniger dauerhafte Dateien auf dem System hinterlassen.

Neuere Varianten verfügen über Prüfungen gegen Analyseumgebungen und eine teilweise Unterstützung von Unternehmens-Proxys. Eine davon verwendet als Softwaredienste getarnte Endpunkte:

  • /sdk/v2/ready
  • /sdk/v2/config
  • /sdk/v2/events

Die Persistenz unterscheidet sich je nach Betriebssystem: über den Run-Registrierungsschlüssel unter Windows, einen cron-Eintrag unter Linux und einen Launch Agent unter macOS. Einige Samples geben sich als Updates für Microsoft Edge oder als Komponenten des Intel Driver & Support Assistant aus.

WSL, VS Code und Git-Hooks erweitern die Persistenz

Die dritte NodeRabbit-Variante enthält Funktionen speziell für das Windows Subsystem for Linux. Sie legt eine Windows-Aufgabe an, die täglich um 10:00 Uhr ausgeführt wird und ein Visual-Basic-Skript über wscript.exe und wsl.exe startet.

Darüber hinaus fügt sie 12 Befehle für die Verwaltung von Prozessen, Persistenzmechanismen und Entwicklungsumgebungen hinzu. Die Malware kann von WSL aus sichtbare Windows-Laufwerke auflisten, Prozesse beenden, den C2-Server wechseln und prüfen, welche Adresse derzeit konfiguriert ist.

Besonders relevant sind die Funktionen für von Entwicklern verwendete Tools. Der RAT kann Git-Repositories in üblichen oder zuletzt verwendeten Verzeichnissen suchen und anschließend einen Launcher in den Git-Hooks platzieren. Normale Repository-Aktionen können dadurch die Malware erneut ausführen.

NodeRabbit kann außerdem eine gefälschte Visual-Studio-Code-Erweiterung namens „GitHub Copilot Helper“ installieren, deren Persistenz kontrollieren und sie auf Befehl entfernen. Eine weitere Funktion extrahiert Kontoadressen aus Outlook-Archiven im OST- und PST-Format.

Diese Funktionen zeigen, dass es nicht nur darum geht, den Zugriff auf die Workstation aufrechtzuerhalten. Repositories, Zugangsdaten, berufliche Kontakte und Entwicklungswerkzeuge können wertvolles Material für weitere Eindringversuche liefern.

PollCat setzt OTP und Zeitdruck als Inszenierung ein

Die zweite Angriffskette verwendet das Archiv RankChallenge-react-6uJSX3-main.zip, das als zeitlich begrenzte technische Bewertung präsentiert wird. Das Projekt enthält mehrere widersprüchliche Hinweise auf CTF-Übungen: Das Hauptpaket heißt ctf-server, das Backend gibt CTF server running aus und das Frontend verwendet Schlüssel mit dem Präfix ctf-.

Diese Elemente deuten darauf hin, dass die Anwendung von einem Template abgeleitet oder mit automatisierter Unterstützung erstellt wurde. Kaspersky hält auch die Möglichkeit für gegeben, dass die Betreiber einen KI-Assistenten mit der Erstellung einer CTF-ähnlichen React-Plattform beauftragt und die Malware anschließend hinzugefügt haben.

Ein PDF-Tutorial fordert den Bewerber auf, auf Continue zu klicken, einen sechsstelligen OTP-Code einzugeben, der alle 30 Sekunden aktualisiert wird, und die Aufgabe innerhalb einer Stunde abzuschließen. Das Verfahren erzeugt Zeitdruck, schützt die Aufgabe jedoch nicht tatsächlich.

PollCat funktioniert unabhängig vom OTP. Ein Validierungsfehler verhindert den Zugriff auf einige Funktionen der Aufgabe, hält die Infektion jedoch nicht auf. Bei erfolgreicher Prüfung erzeugt die Anwendung ein JWT und startet sogar eine zweite Instanz des RAT.

PollCat, der in obfuskiertem JavaScript geschrieben ist, richtet unter Windows, Linux oder macOS eine tägliche Persistenz ein. Seine sieben Endpunkte übernehmen Registrierung, Host-Identifikation, Abruf von Befehlen, Übermittlung von Ergebnissen und Dateiübertragungen. Dazu gehören /beacon, /gate/hello, /gate/fetch, /gate/submit, /vault/<uuid>, /vault/push und /gate/track.

Die Malware verfügt über 22 Befehle für Dateioperationen, die Ausführung von Shell- und JavaScript-Befehlen, Datenübertragungen, das Laden von DLLs und die Verwaltung von ZIP-Archiven. Außerdem kann sie Prozesse, Laufwerke, Volumes und Mountpoints auflisten. Drei Befehle – WS_DOWNLOAD, REQUEST_ELEVATION und PERSIST – sind zwar vorhanden, aber nicht implementiert.

Die Aufklärung sucht nach Unternehmenssoftware und Sicherheitsprodukten

PollCat überprüft, ob Verzeichnisse von 24 Unternehmen und Produktfamilien vorhanden sind, darunter Microsoft, Google, Cisco, VMware, Fortinet, Palo Alto Networks, CrowdStrike, SentinelOne, Kaspersky Lab, ESET und Bitdefender.

Die Suche umfasst auch Browser und Remote-Access-Tools. Wird eine Übereinstimmung gefunden, erfasst der RAT das Stammverzeichnis und übermittelt das Ergebnis als JSON an /api/system-details/result.

Der Scan ist nicht rekursiv, liefert den Betreibern aber dennoch ein erstes Profil der Workstation: installierte Schutzmechanismen, Unternehmensanwendungen, Browser und mögliche Administrationswerkzeuge. Diese Informationen können die nächsten Schritte steuern und dabei helfen, bestimmte Kontrollen zu umgehen.

Die Zuordnung zu Nimbus Manticore beruht auch auf Ähnlichkeiten mit MiniFast, das auch unter den Namen MiniUpdate oder Retrograde bekannt ist. PollCat weist mit dieser Backdoor Gemeinsamkeiten beim Beaconing, beim Abruf von Befehlen und bei den operativen Merkmalen auf. Beide nutzen zudem Azure Websites und durch Cloudflare geschützte Domains.

Die Kampagne stellt eine Weiterentwicklung gegenüber den bereits mit der Gruppe in Verbindung gebrachten Tools in C, C++ und Go dar. Eine plattformübergreifende JavaScript-Basis reduziert den Aufwand für Angriffe auf unterschiedliche Systeme und lässt sich leichter in Projekte integrieren, die für Entwickler bestimmt sind.

Erkennung und Eindämmung eines möglichen Angriffs

Organisationen sollten jede von einem Recruiter erhaltene Coding-Challenge als nicht vertrauenswürdig behandeln, bis die Identität und das Unternehmen über einen unabhängigen Kanal verifiziert wurden. Archive mit einem bereits befüllten Verzeichnis node_modules erfordern besondere Vorsicht.

Zu suchen ist nach colorized_terminal 2.1.0, pretty-log 2.1.0, versteckten JavaScript-Dateien unter .cache sowie nicht autorisierten VS-Code-Erweiterungen. Besonderes Augenmerk sollte auf „GitHub Copilot Helper“ liegen.

Die Maßnahmen zur Incident Response sollten Kontrollen umfassen für:

  • Run-Registrierungsschlüssel;
  • geplante Aufgaben und tägliche Starts um 10:00 Uhr;
  • cron und Launch Agents;
  • veränderte Git-Hooks;
  • ungewöhnliche Ausführungen von node, wscript.exe und wsl.exe;
  • unerwartete Zugriffe auf Outlook-Dateien im OST- oder PST-Format;
  • Verbindungen zu den mit NodeRabbit verbundenen Azure-Hosts;
  • Datenverkehr zu den beschriebenen C2-Endpunkten.

Abhängigkeiten sollten aus verifizierten Registries neu installiert werden, anstatt die im Archiv enthaltenen Pakete zu verwenden. Externe Tests sollten in Sandboxes oder isolierten virtuellen Maschinen ausgeführt werden – ohne Unternehmenszugangsdaten, sensible Repositories oder Zugriff auf Produktionssysteme.

Ein CVSS-Score ist nicht bekannt, und es gibt kein korrigierendes Update. Die Abwehr hängt daher von der Kontrolle empfangener Projekte, der Trennung von Entwicklungsumgebungen und der Überwachung der von den beiden RATs eingesetzten Persistenztechniken ab.

Auch interessant

Quellen

Dieser Artikel ist eine eigenständige Aufbereitung auf Basis der folgenden Quellen.

Verwandte ThemenNimbus ManticoreNodeRabbitPollCatFake RecruiterRAT MalwareLinkedIn Cyberangriffnpm Paket
Zurück zur Startseite