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

Imagen ilustrativa generada con IA

Falsos reclutadores distribuyen NodeRabbit y PollCat: los nuevos RAT multiplataforma de Nimbus Manticore

Nimbus Manticore suplanta reclutadores en LinkedIn para infectar a desarrolladores con los RAT NodeRabbit y PollCat en falsas pruebas técnicas.

Texto generado por inteligencia artificial, publicado sin revisión humana. Transparencia IA

Una campaña de ciberespionaje atribuida al grupo iraní Nimbus Manticore, también conocido como Iranian Dream Job, está dirigida contra desarrolladores a través de LinkedIn y otras plataformas de empleo. La operación, revelada el 1 de septiembre de 2026, convierte las habituales pruebas de programación en vectores de ataque para dos troyanos de acceso remoto hasta ahora no documentados: NodeRabbit y PollCat.

Kaspersky ha vinculado ambos malware con este actor iraní. Las víctimas reciben archivos comprimidos aparentemente preparados por reclutadores de grandes empresas tecnológicas y se les pide ejecutar localmente proyectos de software en plazos muy ajustados. El código malicioso está oculto en los archivos de la aplicación, en dependencias npm incluidas previamente o en componentes de inicio.

No hay parches que instalar: no se trata de una vulnerabilidad de producto, sino de una cadena de ingeniería social que convence al candidato para ejecutar el malware.

La prueba técnica se convierte en la primera fase de la intrusión

Nimbus Manticore utiliza un procedimiento diseñado en torno a actividades habituales para un ingeniero de software. Un supuesto responsable de selección contacta con el candidato, le presenta una oportunidad profesional y le asigna una prueba técnica plausible.

En el caso observado en Afganistán, el archivo Front-Technical-Challenge.zip, alojado en AWS, contenía el código fuente de una herramienta de gestión de proyectos llamada Taskflow. Las instrucciones concedían tres horas para corregir los errores del frontend y prohibían utilizar asistentes basados en inteligencia artificial.

Una indicación pedía expresamente no modificar server.js, descrito como un archivo que ya funcionaba correctamente. En realidad, era el punto de activación de la infección.

La primera línea del archivo importaba colorized_terminal versión 2.1.0, un paquete npm falsificado. La dependencia no procedía del registro npm: se había colocado directamente en el directorio node_modules distribuido con el archivo comprimido. Una vez importado, el paquete iniciaba en segundo plano:

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

Ese archivo contiene NodeRabbit. La técnica evita presentar a la víctima un ejecutable abiertamente sospechoso y aprovecha el flujo de trabajo normal de la prueba: instalar o examinar el proyecto, iniciar el servidor y probar la aplicación.

También se identificaron otras muestras de la misma familia en dos sistemas de Egipto y Etiopía. En estas variantes, el paquete utilizado como señuelo es pretty-log versión 2.1.0, igualmente insertado en el proyecto como dependencia troyanizada.

NodeRabbit controla archivos, procesos y configuración de red

NodeRabbit es un RAT basado en Node.js, diseñado para funcionar en Windows, Linux y macOS. La primera variante analizada se comunica con tres aplicaciones alojadas en Azure:

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

El protocolo de comando y control separa el registro, la recepción de órdenes y el envío de resultados. Los endpoints son, respectivamente, /api/rabbit/checkin, /api/rabbit/task y /api/rabbit/result.

Los 11 comandos compatibles permiten a los operadores recopilar información del host, enumerar procesos, ejecutar instrucciones mediante la shell y explorar directorios. El malware también puede leer archivos por bloques, devolverlos en Base64, escribir contenido decodificado en ubicaciones arbitrarias y eliminar archivos o directorios completos.

La fase de reconocimiento incluye adaptadores de red, direcciones MAC e IP y configuraciones DNS. El servidor también puede modificar la frecuencia del beaconing para adaptar el tráfico C2 a las necesidades de la operación.

Una función permite recibir un script de Node.js codificado en Base64, guardarlo con un nombre aleatorio y la extensión .tmp, ejecutarlo y eliminarlo inmediatamente después. De este modo, el atacante puede ampliar dinámicamente las capacidades del implante y dejar menos archivos permanentes en el sistema.

Las variantes más recientes incorporan comprobaciones contra entornos de análisis y compatibilidad parcial con proxies corporativos. Una de ellas utiliza endpoints camuflados como servicios de software:

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

La persistencia cambia según el sistema operativo: clave Run del registro en Windows, entrada de cron en Linux y Launch Agent en macOS. Algunas muestras se presentan como actualizaciones de Microsoft Edge o componentes de Intel Driver & Support Assistant.

WSL, VS Code y los Git hook amplían la persistencia

La tercera variante de NodeRabbit contiene funciones dirigidas específicamente a Windows Subsystem for Linux. Crea una tarea de Windows que se ejecuta diariamente a las 10:00 y desde la que se inicia un script de Visual Basic mediante wscript.exe y wsl.exe.

También añade 12 comandos dedicados a la gestión de procesos, la persistencia y los entornos de desarrollo. Puede enumerar las unidades de Windows visibles desde WSL, finalizar procesos, cambiar el servidor C2 y comprobar qué dirección está configurada actualmente.

Son especialmente relevantes las funciones dirigidas a las herramientas utilizadas por los desarrolladores. El RAT puede buscar repositorios Git en directorios habituales o utilizados recientemente y, a continuación, insertar un launcher en los Git hook. La ejecución de operaciones normales en el repositorio puede reactivar así el malware.

NodeRabbit también puede instalar una extensión falsa de Visual Studio Code llamada “GitHub Copilot Helper”, comprobar su persistencia y eliminarla cuando recibe la orden correspondiente. Otra capacidad extrae direcciones de cuentas de archivos de Outlook OST y PST.

Estas funciones indican que el objetivo no es únicamente mantener el acceso a la estación de trabajo. Los repositorios, las credenciales, los contactos profesionales y las herramientas de desarrollo pueden proporcionar material útil para nuevas intrusiones.

PollCat utiliza OTP y urgencia como elementos de puesta en escena

La segunda cadena emplea el archivo RankChallenge-react-6uJSX3-main.zip, presentado como una evaluación técnica con límite de tiempo. El proyecto contiene varias referencias incoherentes a ejercicios CTF: el paquete principal se llama ctf-server, el backend muestra CTF server running y el frontend utiliza claves con el prefijo ctf-.

Estos elementos sugieren que la aplicación podría derivar de una plantilla o haber sido generada con asistencia automatizada. Kaspersky también considera posible que los operadores pidieran a un asistente de IA crear una plataforma React con estilo CTF y añadieran posteriormente el malware.

Un tutorial en PDF invita al candidato a pulsar Continue, introducir un código OTP de seis cifras que cambia cada 30 segundos y terminar el ejercicio en una hora. El procedimiento crea una sensación de urgencia, pero no protege realmente la prueba.

PollCat funciona independientemente del OTP. Un error de validación impide acceder a algunas funciones del ejercicio, pero no detiene la infección. Si la verificación tiene éxito, la aplicación genera un JWT e incluso inicia una segunda instancia del RAT.

PollCat, escrito en JavaScript ofuscado, establece persistencia diaria en Windows, Linux o macOS. Sus siete endpoints gestionan el registro, la identificación del host, la recepción de comandos, el envío de resultados y la transferencia de archivos. Entre ellos se encuentran /beacon, /gate/hello, /gate/fetch, /gate/submit, /vault/<uuid>, /vault/push y /gate/track.

El malware dispone de 22 comandos para operar sobre archivos, ejecutar shell y JavaScript, transferir datos, cargar DLL y gestionar archivos ZIP. También puede enumerar procesos, unidades, volúmenes y puntos de montaje. Tres instrucciones —WS_DOWNLOAD, REQUEST_ELEVATION y PERSIST— están presentes, pero no implementadas.

El reconocimiento busca software corporativo y productos de seguridad

PollCat comprueba la presencia de directorios asociados a 24 empresas y familias de productos, entre ellas Microsoft, Google, Cisco, VMware, Fortinet, Palo Alto Networks, CrowdStrike, SentinelOne, Kaspersky Lab, ESET y Bitdefender.

La búsqueda también incluye navegadores y herramientas de acceso remoto. Cuando encuentra una coincidencia, el RAT registra la raíz del directorio y envía el resultado en JSON a /api/system-details/result.

El análisis no es recursivo, pero aun así proporciona a los operadores un perfil inicial de la estación de trabajo: defensas instaladas, aplicaciones corporativas, navegadores y posibles herramientas administrativas. Esta información puede orientar las acciones posteriores y ayudar a evitar controles específicos.

La atribución a Nimbus Manticore también se basa en las similitudes con MiniFast, conocido como MiniUpdate o Retrograde. PollCat comparte con esa puerta trasera los métodos de beaconing, la recepción de comandos y varias características operativas, además del uso de Azure Websites y dominios protegidos por Cloudflare.

La campaña supone una evolución con respecto a las herramientas en C, C++ y Go ya asociadas al grupo. Una base JavaScript multiplataforma reduce el trabajo necesario para atacar sistemas diferentes y se camufla mejor dentro de proyectos destinados a desarrolladores.

Cómo identificar y contener un posible ataque

Las organizaciones deberían considerar no confiable cualquier coding challenge recibido de un reclutador hasta verificar la identidad y la empresa mediante un canal independiente. Los archivos comprimidos que contengan un directorio node_modules ya poblado requieren especial cautela.

Es necesario buscar colorized_terminal 2.1.0, pretty-log 2.1.0, archivos JavaScript ocultos bajo .cache y extensiones de VS Code no autorizadas. Debe comprobarse especialmente la presencia de “GitHub Copilot Helper”.

Las actividades de respuesta deberían incluir comprobaciones de:

  • claves Run del registro;
  • tareas programadas y ejecuciones diarias a las 10:00;
  • cron y Launch Agent;
  • Git hook modificados;
  • ejecuciones anómalas de node, wscript.exe y wsl.exe;
  • accesos inesperados a archivos de Outlook OST o PST;
  • conexiones con los hosts de Azure asociados a NodeRabbit;
  • tráfico hacia los endpoints C2 descritos.

Las dependencias deberían reinstalarse desde registros verificados, en lugar de utilizar las incluidas en el archivo comprimido. Las pruebas externas deben ejecutarse en sandbox o máquinas virtuales aisladas, sin credenciales corporativas, repositorios sensibles ni acceso a sistemas de producción.

No se conoce ninguna puntuación CVSS ni existe una actualización correctiva. La defensa depende, por tanto, del control de los proyectos recibidos, la separación de los entornos de desarrollo y la supervisión de las técnicas de persistencia empleadas por ambos RAT.

Lee también

Fuentes

Este artículo es una reelaboración original basada en las siguientes fuentes.

Temas relacionadosNimbus ManticoreNodeRabbitPollCatRAT multiplataformafalsos reclutadoresciberespionaje Iránmalware npm
Volver al inicio