Campaña de Paquetes npm Maliciosos Despliega RAT Multiplataforma 

Un ataque de cadena de suministro a gran escala Un reciente ataque a la cadena de suministro ha puesto en riesgo al ecosistema de desarrolladores que utilizan NPM, la plataforma más popular para la gestión de paquetes en JavaScript. Atacantes lograron inyectar código malicioso en múltiples librerías con más de 2.6 mil millones de descargas semanales, tras comprometer la cuenta de un mantenedor mediante un correo de phishing que imitaba al soporte oficial de npmjs.com. El mantenedor afectado, Josh Junon, confirmó el incidente y señaló que el correo fraudulento advertía que su cuenta sería bloqueada si no actualizaba su autenticación multifactor (2FA), forzando así a que ingresara credenciales en un sitio controlado por los atacantes. Paquetes afectados y alcance de la intrusión Entre los paquetes comprometidos se encuentran algunos de los más utilizados en proyectos globales: chalk (299.9M descargas semanales) debug (357.6M) ansi-styles (371.4M) strip-ansi (261.1M) supports-color (287.1M) color-convert (193.5M) Entre otros, sumando más de 18 librerías populares. Estos paquetes fueron modificados para incluir código malicioso en archivos index.js, diseñado para interceptar interacciones web y manipular operaciones relacionadas con criptomonedas como Bitcoin, Ethereum, Solana, Tron y Litecoin. El malware alteraba funciones críticas de JavaScript (fetch, XMLHttpRequest, window.ethereum) con el objetivo de redirigir transacciones a billeteras controladas por los atacantes. Cómo operaba el malware El código malicioso actuaba de forma silenciosa en el navegador, alterando tanto el contenido mostrado como las interacciones con APIs y aplicaciones web3. Esto permitía manipular direcciones de pago y aprobar transacciones fraudulentas sin que el usuario lo notara. Según Aikido Security, la complejidad del ataque radica en que operaba en múltiples capas, combinando técnicas de manipulación visual con la interceptación de tráfico de red. Impacto y limitaciones Aunque la magnitud del ataque es significativa, expertos señalan que el impacto puede haberse reducido debido a factores como: Solo afectó instalaciones nuevas realizadas entre las 9:00 y 11:30 AM ET del día del compromiso. Requería que el archivo package-lock.json fuera generado en ese mismo periodo. Dependencias directas o transitivas debían incluir versiones comprometidas. Aun así, el incidente confirma la creciente tendencia de ataques contra cadenas de suministro en el ecosistema open source, donde una sola cuenta comprometida puede afectar a millones de proyectos. Lecciones para las empresas Este ataque subraya la necesidad de fortalecer controles en la gestión de dependencias y librerías de terceros: Implementar monitoreo continuo de integridad en paquetes críticos. Adoptar políticas estrictas de actualización y validación de librerías externas. Usar repositorios privados o proxies internos para reducir exposición a cambios no controlados. Reforzar la concienciación en phishing, ya que la intrusión comenzó con un engaño de ingeniería social. Conclusión: El caso de NPM recuerda que las organizaciones deben tratar las dependencias externas con el mismo nivel de seguridad que el software interno. Un simple clic en un correo de phishing puede convertirse en un ataque global con repercusiones multimillonarias.

Se ha detectado una campaña de ataque a la cadena de suministro que utiliza un conjunto de paquetes npm maliciosos para distribuir un troyano de acceso remoto (RAT) multiplataforma. El objetivo principal de la operación son los desarrolladores que utilizan herramientas relacionadas con el ecosistema de Alibaba. Los atacantes emplean técnicas de imitación de nombres de paquetes y dependencias anidadas para evadir la detección temprana, ocultando el código malicioso fragmentado a lo largo de varias capas de instalación. 


Veredicto Analítico 
  • Estado: Actividad maliciosa confirmada y detallada tras una investigación. 
  • Confianza: Absoluta. Validado mediante el análisis de los paquetes en el registro npm, la infraestructura de Comando y Control (C2) y las cargas útiles específicas del sistema operativo. 
  • Riesgo para SOC, TDIR y Redes: Crítico para entornos de desarrollo y flujos CI/CD. La infección exitosa expone el código fuente, las credenciales, las estaciones de trabajo de los desarrolladores y los entornos de colaboración internos al control remoto total del atacante. 
  • Urgencia Operativa: Alta. Aunque la campaña parece centrada en un área específica y registró descargas limitadas, la capacidad del RAT para recopilar datos, moverse lateralmente y ejecutar comandos representa un riesgo grave de espionaje corporativo. 
  • Base del Veredicto: Descubrimiento de una cadena de dependencias que suplanta el ámbito privado de Alibaba (ali), abusa de vulnerabilidades conocidas de Node.js para evadir el aislamiento (sandbox) y descarga binarios maliciosos camuflados en infraestructura legítima en la nube. 

Hallazgos Clave 
  • Vectores Iniciales: Paquetes npm de señuelo de nivel superior (ej. lib-mtop, aone-kit, aone-sandbox) publicados a través de diferentes cuentas de mantenimiento para ocultar su propósito común. 
  • Carga Útil Final: Un RAT denominado aone-cli, diseñado para integrarse maliciosamente en sistemas conectados al ecosistema de desarrollo interno de Alibaba. 
  • Herramientas Objetivo: El malware muestra un enfoque preocupante en las herramientas empresariales DingTalk, Wukong y Qoder. 

Impacto Multiplataforma:
  • macOS: Agrega persistencia a través de un agente de inicio en el archivo .zshrc. 
  • Windows: Reemplaza el archivo app.asar de la aplicación de seguridad legítima Alilang. 
  • Linux: Ejecuta un binario temporal en segundo plano. 
  • Atribución Potencial: Los comentarios en el código en idioma chino y los metadatos de confirmación alineados con la hora estándar de China sugieren un posible operador de habla china, aunque no establecen una atribución definitiva. 

Análisis Técnico: La Cadena de Ataque 

La amenaza opera mediante un proceso de infección de múltiples etapas: 

  • Infección y Configuración: Tras instalar un paquete engañoso, la cadena de dependencias obtiene un archivo de configuración desde un repositorio de GitHub controlado por el atacante (cuenta smi1e2u) y lo guarda localmente como .cloud-preferences.json. 
  • Evasión de Sandbox: El paquete intermedio local-config-parser evalúa las reglas del archivo y aprovecha una vulnerabilidad conocida que le permite evadir el aislamiento de la máquina virtual de Node.js. 
  • Descarga Camuflada: Tras acceder al proceso anfitrión, el malware recupera las funciones de carga de módulos de Node y descarga la carga útil principal desde la infraestructura de Alibaba Cloud, buscando que el tráfico de red parezca benigno y menos inusual. 
  • Persistencia Activa: El RAT ejecuta comandos de shell, carga/descarga archivos y crea un proxy TCP inverso cifrado. Críticamente, puede modificar scripts de Python en los directorios .skills de las aplicaciones insertando el marcador INJECTMARKER para garantizar la ejecución de código oculto y facilitar el movimiento lateral. 

Tácticas, Técnicas y Procedimientos (MITRE ATT&CK) 
  • Acceso Inicial: Compromiso de la Cadena de Suministro de Software (T1195.002) mediante repositorios de código abierto. 
  • Ejecución: Intérprete de Comandos y Scripts (T1059) y evasión del entorno de ejecución de Node.js. 
  • Persistencia: Modificación de Scripts de Inicio de Sesión (T1037) en macOS, y Secuestro de Flujo de Ejecución (T1574) mediante la modificación de archivos .asar de aplicaciones instaladas en Windows. 
  • Comando y Control (C2): Tráfico a través de Servicios Web Legítimos (T1102) apoyándose en la nube de Alibaba y proxies inversos mediante WebSocket (ej. diamond-cli-znsxphqell.cn-shanghai.fcapp[.]run). 

Recomendaciones Operativas 

Para Equipos de Desarrollo (DevSecOps) y Respuesta a Incidentes (IR) 

  • Gestión de Brechas: Si se detecta la instalación de cualquiera de los paquetes comprometidos (como lib-mtop o aone-kit), el equipo de seguridad debe considerar el dispositivo como comprometido de inmediato e iniciar el proceso de remediación reconstruyendo el entorno desde una imagen limpia. 
  • Rotación de Credenciales: Rotar de forma exhaustiva todos los secretos de desarrollo, claves API, credenciales locales y tokens de nube que hayan estado expuestos en la estación de trabajo infectada. 
  • Revisión de Dependencias: Reforzar las políticas para limitar los permisos de instalación de paquetes en entornos de compilación sensibles y tratar cualquier actualización inesperada de dependencias como un evento de seguridad que requiere revisión manual. 

Para el Centro de Operaciones de Seguridad (SOC) 

  • Búsqueda Proactiva (Threat Hunting): 
  • Inspeccionar activamente los archivos Python del entorno de desarrollo buscando la presencia de la cadena de texto INJECTMARKER, indicativa del script modificado por el atacante. 
  • Revisar la actividad de red en busca de conexiones sospechosas o anómalas de la aplicación DingTalk. Analizar específicamente las solicitudes HTTP que empleen encabezados Origin y Referer falsificados vinculados a DingTalk para descubrir comunicaciones ocultas de la amenaza. 
  • Validar la existencia de la variable de entorno anómala ROBOTUID=3201d407b7899a12d6d439950511c6a5 en los endpoints. 

Related Post