Calendario con troyano: 14 paquetes npm se hacían pasar por librerías de fechas y ejecutaban en Linux el implante operativo RedC2

Calendario con troyano: 14 paquetes npm se hacían pasar por librerías de fechas y ejecutaban en Linux el implante operativo RedC2

14 paquetes, una importación y acceso completo al servidor por 99 dólares.

image

Investigadores encontraron en npm 14 paquetes maliciosos que se hacían pasar por herramientas comunes para trabajar con fechas, calendarios y series de eventos. Las bibliotecas realmente cumplían las funciones declaradas, por lo que un desarrollador podía añadir la dependencia sin notar nada sospechoso. Al mismo tiempo, el paquete ejecutaba silenciosamente en Linux el implante RedC2 4.0, a través del cual el atacante obtenía acceso remoto al sistema.

La lista infectada incluía streak-metrics-math en las versiones 1.0.0 y 1.0.1, así como kit-map-vim, streak-map-cache, streak-map-kit, map-streak-kit, streak-cache-map, streak-calc-metrics, streak-calc-math, streak-math-abz, streak-metricsaz, streak-math-metrics, streak-metricazbd, streak-metricsazb y streak-kit-map en la versión 1.0.0. Los nombres no indicaban un propósito malicioso y recordaban a módulos npm pequeños y habituales.

Los autores ocultaron dentro de los paquetes un ejecutable nativo y lo presentaban como un componente matemático interno. El nombre variaba según la biblioteca: math-core.bin, math-calc.bin, calc-math.dat, calc-cache.bin, calc.bin o calc-mapping.bin. El archivo estaba en el directorio dist/ o dist/internal/. En todos los casos contenía un componente para Linux llamado RedShell, del conjunto RedC2 4.0.

No se usaron scripts de instalación de npm para ejecutar el código malicioso. El cargador era el archivo de entrada dist/index.mjs. Al cargar el módulo, el código localizaba el binario incluido, le otorgaba permiso de ejecución y lo iniciaba como un proceso en segundo plano separado. El proceso se desvinculaba de la aplicación y continuaba funcionando de forma independiente.

El desarrollador no necesitaba invocar una función separada de la biblioteca infectada. Bastaba con importar el módulo. Más peligroso era el escenario de dependencia transitiva: RedC2 podía entrar en el proyecto a través de otra biblioteca que el desarrollador instaló directamente. En ese caso el nombre del paquete malicioso podía no aparecer entre las dependencias seleccionadas manualmente.

Al mismo tiempo, dist/index.mjs seguía exportando las funciones anunciadas para trabajar con fechas. La aplicación no se rompía y la biblioteca conservaba el comportamiento esperado. Por eso una comprobación simple del funcionamiento del paquete no ayudaba a detectar el binario oculto.

Tras su ejecución, RedShell se conectaba a un servidor de mando y control bajo Windows o Linux. A través del servidor el operador podía ejecutar acciones adicionales en la máquina infectada. RedShell apareció en RedC2 4.0 y está diseñado específicamente para Linux, mientras que el conjunto en sí es compatible con Windows, macOS y Linux.

RedC2 se desarrolla como una plataforma de comando y control de equipos infectados. La versión 4.0 empezó a promocionarse en Hack Forums a principios de junio de 2026. RedC2 3.0 se vendía en enero de 2026, y RedC2 2.0 apareció en agosto de 2025. Los desarrolladores actualizan el conjunto de herramientas desde hace al menos alrededor de un año.

RedC2 permite abrir un terminal remoto, transferir archivos, desplegar componentes maliciosos adicionales por etapas, recopilar información y gestionar varios implantes a la vez. La plataforma también incluye visualización de la red y tunelización de tráfico entre nodos infectados.

Algunos componentes pueden ejecutarse directamente en memoria. RedC2 admite Beacon Object Files, es decir, pequeños módulos objeto para ejecutar comandos adicionales dentro del agente, ensamblados .NET y shellcode. Este método reduce la necesidad de guardar cada módulo ejecutado en el disco.

La versión para Linux de RedShell proporciona una consola interactiva a través de /bin/sh. El operador puede explorar el sistema, leer y modificar archivos, ejecutar programas, recopilar datos y persistir el código malicioso en el sistema tras un reinicio. Entre la información que puede robarse figuran claves SSH y credenciales guardadas por el navegador.

RedShell también puede ejecutar archivos ELF directamente en memoria, crear proxies SOCKS5 y utilizar el equipo comprometido para pivotar hacia otros nodos de la red. Este último mecanismo permite reenviar tráfico a través de una máquina ya capturada para alcanzar sistemas que no se pueden abrir directamente desde Internet.

Al establecer la primera conexión con el servidor de mando y control, RedShell recopila información básica del equipo y envía un mensaje de registro. Tras el registro, el agente entra en un ciclo de espera de comandos. Las instrucciones recibidas se pasan a /bin/sh, se ejecutan en el sistema y el resultado se envía de vuelta al operador.

Los componentes de RedC2 para Windows y macOS admiten un conjunto similar de funciones básicas: operaciones con archivos, exploración del equipo y la red, obtención de la lista de usuarios y recopilación de datos. La versión para Windows, además, puede eludir el control de cuentas UAC, detectar antivirus y soluciones EDR, interferir con el software de protección, ejecutar código en memoria y moverse lateralmente entre equipos dentro de una red local.

RedC2 se vende a través del sitio público Red Offsec por 99,99 dólares. Los creadores describen el producto como un complejo de comando y control multiplataforma y multilingüe para Windows, Linux y macOS, diseñado para eludir las medidas de protección.

En las condiciones de uso de Red Offsec se prohíben el acceso no autorizado a equipos, el hacking sin permiso del propietario, la explotación de sistemas ajenos y causarles daño. Los autores presentan RedC2 como una herramienta para especialistas en pruebas de penetración y equipos que simulan las acciones de un adversario real al evaluar la protección de una organización. Sin embargo, el mismo implante para Linux se incorporó en paquetes npm que ejecutaban RedShell automáticamente al importarse.

En RedC2 4.0 también está integrado el componente Red Agent basado en un gran modelo de lenguaje. El operador puede describir la acción necesaria en lenguaje natural y el sistema convierte la solicitud en comandos comprensibles para los agentes de RedC2. Para trabajar con la plataforma también existe la extensión de línea de comandos RedC2 EXT.

Red Agent está pensado para acciones en varias etapas tras el compromiso inicial. Mediante un comando de texto el operador puede ordenar al sistema que realice reconocimiento de red o extraiga credenciales. El modelo de lenguaje traduce la tarea formulada en una secuencia de comandos de RedC2.

Esta capa reduce los requisitos de conocimiento del sintaxis interno de la plataforma. Al operador no le hace falta ensamblar manualmente cada secuencia de acciones a partir de comandos individuales. Parte del trabajo técnico lo realiza el modelo de lenguaje, que recibe una descripción en texto y genera los comandos para los implantes.

El método de entrega de RedC2 complementa esta automatización. El paquete npm malicioso inicia RedShell al importarse, tras lo cual la máquina infectada se registra en el servidor de mando y control. El operador puede delegar en parte a Red Agent la posterior recopilación de información, el reconocimiento y el despliegue de acciones adicionales.

Casi al mismo tiempo, los investigadores descubrieron otro ataque a la cadena de suministro de software, esta vez en el ecosistema Rust. Los atacantes comprometieron paquetes legítimos arrayref 0.3.10, internment 0.8.7 y append-only-vec 0.1.9. En las versiones infectadas añadieron la dependencia maliciosa proc-macro1, que ejecutaba automáticamente un programa malicioso multiplataforma durante la compilación del proyecto con Cargo.

El programa malicioso recopilaba información del equipo, detectaba navegadores basados en Chromium instalados, persistía en el sistema y se conectaba con la infraestructura de los atacantes. Tras la conexión, los operadores podían enviar nuevas tareas y subir componentes adicionales.

Los investigadores suponen que los atacantes obtuvieron las credenciales de los mantenedores de los paquetes y las usaron para publicar versiones infectadas en el repositorio. La infraestructura de la campaña se cruza con ataques previos a cadenas de suministro como Mastra y Axios, que se vincularon con actores norcoreanos.

El caso de npm se diferencia por un mecanismo de ejecución especialmente sigiloso. Los paquetes conservaban funciones útiles, no requerían script de instalación y activaban RedShell inmediatamente después de cargar el módulo. Al entrar una biblioteca maliciosa en un proyecto por dependencia transitiva, el desarrollador podía no instalarla directamente y aun así obtener un implante para Linux funcionando en segundo plano con acceso al servidor de mando y control.