Google atribuye el ataque a la cadena de suministro de Axios al actor de amenazas norcoreano UNC1069
<strong>Google</strong> ha atribuido oficialmente el compromiso de la cadena de suministro del popular paquete Axios npm a <strong>UNC1069</strong>, un actor de amenazas norcoreano con motivaciones financieras. El ataque implicó la inyección de código malicioso en el paquete para distribuir una puerta trasera multiplataforma capaz de infectar sistemas Windows, macOS y Linux.

<strong>Google</strong> ha atribuido formalmente el compromiso de la cadena de suministro del popular paquete Axios npm a un grupo de actividad de amenazas norcoreanas con motivaciones financieras, rastreado como <strong>UNC1069</strong>.
"Hemos atribuido el ataque a un presunto actor de amenazas norcoreano que rastreamos como UNC1069", declaró John Hultquist, analista jefe del Grupo de Inteligencia de Amenazas de <strong>Google</strong> (GTIG), a The Hacker News en un comunicado.
"Los hackers norcoreanos tienen una profunda experiencia en ataques a la cadena de suministro, que históricamente han utilizado para robar criptomonedas. La magnitud completa de este incidente aún no está clara, pero dada la popularidad del paquete comprometido, esperamos que tenga impactos de gran alcance."
### Detalles del Ataque
El desarrollo se produce después de que los actores de amenazas tomaran el control de la cuenta npm del mantenedor del paquete para publicar dos versiones troyanizadas, 1.14.1 y 0.30.4, que introdujeron una dependencia maliciosa llamada "plain-crypto-js" que se utiliza para distribuir una puerta trasera multiplataforma capaz de infectar sistemas Windows, macOS y Linux.
En lugar de introducir cambios de código en Axios, el ataque aprovecha un hook postinstall dentro del archivo "package.json" de la dependencia maliciosa para lograr una ejecución sigilosa. Una vez que se instala el paquete Axios comprometido, npm activa automáticamente la ejecución del código malicioso en segundo plano.
Específicamente, el paquete "plain-crypto-js" funciona como un "vehículo de entrega de payload" para un dropper de JavaScript ofuscado denominado SILKBELL ("setup.js"), que obtiene la siguiente etapa apropiada de un servidor remoto basándose en el sistema operativo de la víctima.
Como se detalló anteriormente, la rama de ejecución de Windows entrega malware de PowerShell, un binario C++ Mach-O para macOS y una puerta trasera de Python para sistemas Linux. El dropper 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 hook postinstall.
<table><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-INPXY0ZSI_LBYJhbmZyqamH1PQlfh5ZfryzZIPg0Nn_ojjuKO1XO2RHZn7PZfkSw_jIew5EJoEHmrcJD3P3a-KG1Q5C5ofTMzfU28IE_Jha5sGl8E1XRJRorEQZidf-i9QKCt7FP96GFKrl2aYRqghFIjzz3ihMXw9cuFRhVXgmuMbjOIF5vClUOsLTu/s1600/elastic.jpeg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-INPXY0ZSI_LBYJhbmZyqamH1PQlfh5ZfryzZIPg0Nn_ojjuKO1XO2RHZn7PZfkSw_jIew5EJoEHmrcJD3P3a-KG1Q5C5ofTMzfU28IE_Jha5sGl8E1XRJRorEQZidf-i9QKCt7FP96GFKrl2aYRqghFIjzz3ihMXw9cuFRhVXgmuMbjOIF5vClUOsLTu/s1600/elastic.jpeg" data-original-width="1864" data-original-height="1168" alt=""></a></td></tr><tr><td>Fuente de la imagen: <strong>Elastic</strong> Security Labs</td></tr></tbody></table>
### Puerta Trasera WAVESHAPER.V2
Se evalúa que la puerta trasera, con nombre en clave WAVESHAPER.V2, es una versión actualizada de WAVESHAPER, una puerta trasera de C++ desplegada por <strong>UNC1069</strong> 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 <strong>UNC1069</strong> fueron señalados por primera vez por <strong>Elastic</strong> Security Labs, citando superposiciones de funcionalidad.
Las tres variantes de WAVESHAPER.V2 admiten cuatro comandos diferentes, mientras hacen beaconing al servidor de comando y control (C2) a intervalos de 60 segundos:
* <strong>kill</strong>, para terminar el proceso de ejecución del malware.
* <strong>rundir</strong>, para enumerar listados de directorios, junto con rutas de archivos, tamaños y marcas de tiempo de creación/modificación.
* <strong>runscript</strong>, para ejecutar comandos de AppleScript, PowerShell o shell basándose en el sistema operativo.
* <strong>peinject</strong>, para decodificar y ejecutar binarios arbitrarios.
"WAVESHAPER.V2 es una evolución directa de WAVESHAPER, una puerta trasera para macOS y Linux atribuida previamente a UNC1069", dijeron <strong>Mandiant</strong> y GTIG. "Mientras que el WAVESHAPER original utiliza un protocolo C2 binario ligero y sin procesar y emplea empaquetado de código, WAVESHAPER.V2 se comunica usando JSON, recopila información adicional del sistema y admite más comandos de puerta trasera."
"A pesar de estas mejoras, ambas versiones aceptan su URL de C2 dinámicamente a través de argumentos de línea de comandos, comparten comportamientos de sondeo de C2 idénticos y una cadena de User-Agent poco común, y despliegan payloads secundarios en directorios temporales idénticos (por ejemplo, /Library/Caches/com.apple.act.mond)."
### Atribución a Corea del Norte
Los vínculos con Corea del Norte también se ven reforzados por el hecho de que el binario de macOS hace referencia a rutas de compilación de desarrollador como "Jain_DEV/client_mac/macWebT/macWebT", donde "macWebT" se vincula directamente al módulo "webT" de <strong>BlueNoroff</strong> de las campañas de malware RustBucket y Hidden Risk en 2023, según el investigador Giuseppe Massaro.
### Mitigación
Para mitigar la amenaza, se aconseja a los usuarios auditar los árboles de dependencias en busca de versiones comprometidas (y degradar a una versión segura, si se encuentran), fijar Axios a una versión segura conocida en el archivo "package-lock.json" para evitar actualizaciones accidentales, verificar la presencia de "plain-crypto-js" en "node_modules", terminar procesos maliciosos, bloquear 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í, incluyendo credenciales de mantenedor comprometidas, payloads pre-estratificados construidos para tres sistemas operativos, ambas ramas de lanzamiento afectadas en menos de 40 minutos y autodestrucción forense incorporada, refleja un actor de amenazas que planeó esto como una operación escalable", dijo Tomislav Peričin, arquitecto jefe de software de ReversingLabs, a The Hacker News.
"Si esta campaña ahora aparece en PyPI y NuGet, eso es consistente con lo que la mecánica del ataque ya sugiere: el objetivo era el máximo alcance para los desarrolladores. Las organizaciones necesitan auditar no solo sus dependencias de npm, sino cada gestor de paquetes que alimenta sus pipelines de compilación, y tratar cualquier secreto expuesto en entornos afectados como comprometido, independientemente del registro que hayan tocado."