UNC1069 La ingeniería social del mantenedor de Axios provocó un ataque a la cadena de suministro de npm – CYBERDEFENSA.MX

El responsable del paquete Axios npm ha confirmado que el compromiso de la cadena de suministro fue el resultado de una campaña de ingeniería social muy específica orquestada por actores de amenazas norcoreanos rastreados como UNC1069.

mantenedor Jason Saayman dijo que los atacantes adaptaron sus esfuerzos de ingeniería social «específicamente a mí», acercándose primero a él bajo la apariencia del fundador de una empresa legítima y conocida.

«Habían clonado la imagen de los fundadores de la empresa y la propia empresa», Saayman dicho en una autopsia del incidente. «Luego me invitaron a un espacio de trabajo real de Slack. Este espacio de trabajo tenía la marca del CI de la empresa y un nombre plausible. [workspace] fue pensado muy bien; Tenían canales donde compartían publicaciones de LinkedIn».

Ciberseguridad

Posteriormente, se dice que los actores de amenazas programaron una reunión con él en Microsoft Teams. Al unirse a la llamada falsa, se le presentó un mensaje de error falso que decía «algo en mi sistema no estaba actualizado». Tan pronto como se activó la actualización, el ataque provocó la implementación de un troyano de acceso remoto.

El acceso proporcionado por el troyano permitió a los atacantes robar las credenciales de la cuenta npm necesarias para publicar dos versiones troyanizadas del paquete Axios npm (1.14.1 y 0.30.4) que contiene un implante llamado WAVESHAPER.V2.

«Todo estuvo muy bien coordinado, parecía legítimo y se hizo de manera profesional», añadió Saayman.

La cadena de ataque descrita por el responsable del proyecto comparte amplias superposiciones con las técnicas asociadas con UNC1069 y BlueNoroff. Los detalles de la campaña fueron documentados extensamente por Huntress y Kaspersky el año pasado, y este último la rastreó bajo el nombre de GhostCall.

«Históricamente, […] Estos tipos específicos han perseguido a los fundadores de criptomonedas, capitalistas de riesgo y personas públicas», dijo el investigador de seguridad Taylor Monahan. «Ellos ingeniero social ellos y hacerse cargo de sus cuentas y apuntar a la siguiente ronda de personas. Esta evolución hacia la focalización [OSS maintainers] es un poco preocupante en mi opinión.»

Como medidas preventivas, Saayman ha descrito varios cambios, incluido el restablecimiento de todos los dispositivos y credenciales, la configuración de versiones inmutables, la adopción del flujo OIDC para la publicación y la actualización de GitHub Actions para adoptar las mejores prácticas.

Los hallazgos demuestran cómo los mantenedores de proyectos de código abierto se están convirtiendo cada vez más en el objetivo de ataques sofisticados, lo que permite de manera efectiva que los actores de amenazas apunten a usuarios intermedios a gran escala mediante la publicación de versiones envenenadas de paquetes muy populares.

Ciberseguridad

Dado que Axios atrae casi 100 millones de descargas semanales y se utiliza mucho en todo el ecosistema de JavaScript, el radio de explosión de un ataque de este tipo a la cadena de suministro puede ser enorme, ya que se propaga rápidamente a través de dependencias directas y transitivas.

«Un paquete tan ampliamente utilizado como Axios que está comprometido muestra lo difícil que es razonar sobre la exposición en un entorno JavaScript moderno», Ahmad Nassri de Socket dicho. «Es una propiedad de cómo funciona hoy la resolución de dependencias en el ecosistema».

Google atribuye el ataque a la cadena de suministro de Axios npm al grupo norcoreano UNC1069 – CYBERDEFENSA.MX

Google tiene atribuido formalmente el compromiso de la cadena de suministro del popular paquete Axios npm con un grupo de actividades de amenazas de Corea del Norte con motivación financiera rastreado como UNC1069.

«Hemos atribuido el ataque a un presunto actor de amenazas norcoreano al que rastreamos como UNC1069», dijo John Hultquist, analista jefe de Google Threat Intelligence Group (GTIG), a The Hacker News en un comunicado.

«Los piratas informáticos norcoreanos tienen una profunda experiencia con ataques a la cadena de suministro, que históricamente han utilizado para robar criptomonedas. La magnitud total de este incidente aún no está clara, pero dada la popularidad del paquete comprometido, esperamos que tenga impactos de gran alcance».

El desarrollo se produce después de que los actores de amenazas tomaron el control de la cuenta npm del mantenedor del paquete para impulsar dos versiones troyanizadas 1.14.1 y 0.30.4 que introdujeron una dependencia maliciosa llamada «plain-crypto-js» que se utiliza para ofrecer una puerta trasera multiplataforma capaz de infectar sistemas Windows, macOS y Linux.

Ciberseguridad

En lugar de introducir cambios de código en Axios, el ataque aprovecha un enlace posterior a la instalación dentro del archivo «package.json» de la dependencia maliciosa para lograr una ejecución sigilosa. Una vez instalado el paquete Axios comprometido, npm activa automáticamente la ejecución de código malicioso en segundo plano.

Específicamente, el paquete «plain-crypto-js» funciona como un «vehículo de entrega de carga útil» para un cuentagotas de JavaScript ofuscado denominado SILKBELL («setup.js»), que recupera la siguiente etapa apropiada de un servidor remoto basado en el sistema operativo de la víctima.

Como detalló anteriormente The Hacker News, la rama de ejecución de Windows ofrece malware PowerShell, un binario C++ Mach-O para macOS y una puerta trasera Python para sistemas Linux. El cuentagotas también realiza una limpieza para eliminarse y reemplazar el archivo «package.json» del paquete «plain-crypto-js» con una versión limpia que no tiene el enlace postinstalación.

Fuente de la imagen: Laboratorios de seguridad elástica

Se considera que la puerta trasera, con nombre en código WAVESHAPER.V2, es una versión actualizada de WAVESHAPER, una puerta trasera C++ implementada por UNC1069 en ataques dirigidos al sector de las criptomonedas. El actor de amenazas ha estado operativo desde 2018. Los vínculos del ataque a la cadena de suministro con UNC1069 fueron señalados por primera vez por Elastic Security Labs, citando superposiciones de funcionalidad.

Las tres variantes de WAVESHAPER.V2 admiten cuatro comandos diferentes, mientras se dirigen al servidor de comando y control (C2) en intervalos de 60 segundos:

  • matarpara finalizar el proceso de ejecución del malware.
  • correrpara enumerar listados de directorios, junto con rutas de archivos, tamaños y marcas de tiempo de creación/modificación.
  • ejecutar scriptpara ejecutar AppleScript, PowerShell o comandos de shell según el sistema operativo.
  • inyectarpara decodificar y ejecutar binarios arbitrarios.

«WAVESHAPER.V2 es una evolución directa de WAVESHAPER, una puerta trasera para macOS y Linux anteriormente atribuida a UNC1069», dijeron Mandiant y GTIG. «Mientras que el WAVESHAPER original utiliza un protocolo C2 binario ligero y sin formato y emplea empaquetado de código, WAVESHAPER.V2 se comunica mediante JSON, recopila información adicional del sistema y admite más comandos de puerta trasera».

Ciberseguridad

«A pesar de estas actualizaciones, ambas versiones aceptan su URL C2 dinámicamente a través de argumentos de línea de comandos, comparten comportamientos de sondeo C2 idénticos y una cadena de agente de usuario poco común, e implementan cargas útiles secundarias en directorios temporales idénticos (por ejemplo, /Library/Caches/com.apple.act.mond)».

A mitigar la amenazase recomienda a los usuarios que auditen los árboles de dependencia para detectar versiones comprometidas (y bajen a una versión segura, si la encuentran), fijen Axios a una versión segura conocida en el archivo «package-lock.json» para evitar actualizaciones accidentales, verifiquen la presencia de «plain-crypto-js» en «node_modules», finalicen procesos maliciosos, bloqueen el dominio C2 («sfrclak»).[.]com», dirección IP: 142.11.206[.]73), aislar los sistemas afectados y rotar todas las credenciales.

«El ataque a Axios debe entenderse como una plantilla, no como un evento único. El nivel de sofisticación operativa documentado aquí, incluidas las credenciales de mantenimiento comprometidas, las cargas útiles preestablecidas creadas para tres sistemas operativos, ambas ramas de lanzamiento alcanzadas en menos de 40 minutos y la autodestrucción forense incorporada, reflejan un actor de amenazas que planeó esto como una operación escalable», dijo el arquitecto jefe de software de ReversingLabs, Tomislav Peričin, a The Hacker News.

«Si esta campaña aparece ahora en PyPI y NuGet, eso es consistente con lo que la mecánica de ataque ya sugiere: el objetivo era alcanzar el máximo alcance para los desarrolladores. Las organizaciones necesitan auditar no sólo sus dependencias npm, sino también cada administrador de paquetes que alimenta sus canales de compilación, y tratar cualquier secreto expuesto en los entornos afectados como comprometido, independientemente del registro que tocaron».