Investigadores de seguridad descubrieron que el paquete npm de Axios, un cliente HTTP de JavaScript con más de 100 millones de descargas semanales, fue comprometido por atacantes que publicaron dos versiones maliciosas (axios@1.14.1 y axios@0.30.4) en el registro de Node Package Manager (npm). Estas versiones contenían una dependencia maliciosa llamada plain-crypto-js que, durante la instalación, ejecutaba un script para descargar e instalar troyanos de acceso remoto (RAT) en sistemas Linux, Windows y macOS.

Según informes de empresas como Endor Labs, Socket, Aikido y StepSecurity, los atacantes accedieron a la cuenta npm de Jason Saayman, mantenedor principal de Axios, y también comprometieron su cuenta de GitHub. Las versiones maliciosas se publicaron sin el origen automatizado de paquetes OpenID Connect y sin un commit correspondiente en GitHub, lo que debería haber activado alertas inmediatas.

Cadena de infección

Tras obtener acceso al paquete, el atacante inyectó la dependencia maliciosa plain-crypto-js@^4.2.1 en el archivo package.json, sin modificar el código de Axios. Durante la instalación, se ejecutaba un script post-instalación (setup.js) ofuscado que contactaba a un servidor de comando y control (C2) para descargar una carga útil según el sistema operativo detectado.

  • En Windows: combinaba VBScript y PowerShell para ejecutar un script malicioso en una ventana oculta de Command Prompt. Copiaba PowerShell a %PROGRAMDATA%\wt.exe para persistencia.
  • En macOS: usaba AppleScript para descargar un binario a /Library/Caches/com.apple.act.mond, marcarlo como ejecutable y ejecutarlo en segundo plano.
  • En Linux: descargaba un payload basado en Python en /tmp/ld.py y lo ejecutaba en segundo plano con el comando nohup.

En todos los casos, el malware instalaba un RAT que permitía ejecutar comandos, mantener persistencia, enumerar directorios y ejecutar binarios codificados en base64. Tras completar la infección, el dropper se autodestruía y reemplazaba el archivo package.json modificado por una copia limpia para dificultar el análisis forense.

Según StepSecurity, el ataque no fue oportunista, sino cuidadosamente planificado, con la dependencia maliciosa preparada 18 horas antes. La distribución de diferentes cargas según el sistema operativo respalda esta teoría.

John Hultquist, analista jefe de Google Threat Intelligence Group (GTIG), indicó que el ataque estaría vinculado a un actor norcoreano rastreado internamente como UNC1069, conocido por atacar intercambios centralizados, desarrolladores de software en instituciones financieras y empresas de alta tecnología. Por su parte, un investigador señaló que el nombre del RAT en macOS, macWebT, coincide con malware utilizado por BlueNoroff, un grupo norcoreano especializado en ataques financieros.

A pesar de que varios ataques recientes a la cadena de suministro han sido reclamados por el grupo TeamPCP, el compromiso de Axios no comparte las características de esos incidentes, y los investigadores no pudieron vincularlo a un actor específico.

Indicadores de compromiso y recomendaciones

Las organizaciones de seguridad han publicado indicadores de compromiso (IoC) que incluyen el dominio C2 sfrclak.com y otros detalles de red, archivos y cuentas. Se recomienda verificar los entornos en busca de axios@1.14.1, axios@0.30.4 o cualquier versión de plain-crypto-js, y tratar el sistema como comprometido si se detecta alguno. Las versiones seguras de Axios son 1.14.0 o 0.30.3, o versiones anteriores confirmadas.

Joe DeSimone de Elastic aconseja rotar credenciales en sistemas que ejecuten versiones comprometidas, ya que el malware pudo haber exfiltrado datos sensibles como claves y tokens. Charles Carmakal, CTO de Mandiant, advierte que el ataque es amplio y se extiende a otros paquetes que dependen de Axios, y que la cantidad de incidentes recientes en la cadena de suministro es abrumadora, lo que podría conducir a más compromisos, robo de criptomonedas, ransomware y extorsión.

image
image
Platform-specific attack chain
Platform-specific attack chain
Overview of the attack
Overview of the attack
article image
article image