Una sofisticada campaña de robo de criptomonedas de Corea del Norte ha resurgido con un vigor renovado, armando doce paquetes de NPM maliciosos para dirigir a los desarrolladores y robar activos digitales.
La campaña, que representa una escalada significativa en los ataques de la cadena de suministro, explota el lugar de los desarrolladores de confianza en repositorios de paquetes de código abierto para distribuir malware avanzado capaz de exfiltración de datos multiplataforma.
El ataque aprovecha un enfoque astuto de ingeniería social, dirigida a los desarrolladores durante las entrevistas técnicas engañándolos para que instalen paquetes maliciosos como parte de los ejercicios de codificación.
Una vez instalados, estos paquetes implementan variantes del malware Beaverail, que busca sistemáticamente billeteras de criptomonedas, extensiones de navegador y archivos confidenciales que incluyen contraseñas, documentos y variables de entorno.
El malware demuestra una notable sofisticación técnica, admitiendo las plataformas de Windows, MacOS y Linux mientras emplea múltiples capas de ofuscación para evadir la detección.
Analistas de Veracode identificado La campaña a través de sus sistemas de monitoreo continuo, que inicialmente marcó cuatro paquetes sospechosos: Cloud-Binary, JSON-Cookie-CSV, CloudMedia y Nodemailer-Enhancer.
Cloud-Binary versión 2.7.0 (fuente-Veracode)
Una investigación adicional reveló ocho paquetes maliciosos adicionales, lo que lleva el total a doce paquetes de NPM comprometidos.
Los investigadores notaron la evolución de la campaña, descubriendo lo que parece ser la versión 3 del malware, evidencia por la creación de una estructura de directorio ~/.N3, avanzando desde la configuración ~/.N2 previamente documentada.
Los actores de amenaza demuestran prácticas avanzadas de seguridad operativa, utilizando múltiples servidores de control y control que operan en el puerto 1224 y emplean el cifrado AES-256-CBC para proteger sus cargas útiles.
El malware establece canales de comunicación persistentes a través de conexiones de WebSocket y solicitudes HTTP, habilitando la ejecución de comandos en tiempo real y la exfiltración de datos.
En particular, la campaña muestra signos de desarrollo activo, con diferentes claves de cifrado y estrategias de ofuscación en las versiones de los paquetes.
Mecanismo de infección técnica y entrega de carga útil
El malware emplea un sofisticado proceso de infección en varias etapas que comienza con paquetes de NPM aparentemente legítimos que contienen ganchos posteriores a la instalación.
El paquete de nube-binaria, identificado como la variante más rica en características, demuestra este enfoque a través de su configuración de paquete. Json:-
“Postinstall”: “Node lib/utils/Analytics/index.js”
Este script Postinstall genera un proceso de fondo separado que ejecuta Lib/Utils/Analytics/Node_Modules/File15.js, colocado estratégicamente dentro de un directorio Node_Modules para evitar el escrutinio del desarrollador.
La cadena de ejecución continúa con una rutina de descifrado que procesa las cargas útiles cifradas utilizando claves AES-256-CBC:——-
const crypto = require (‘crypto’) módulo.exports = function getCallers (cifrado de tiempo) {const key = buffer.from (‘0123456789abcdef0123456789abcdef’, ‘utf8’); const IV = buffer.from (‘ABCDEF9876543210’, ‘UTF8’); const algorithm = ‘aes-256-cbc’; const decipher = crypto.createDecipheriv (algoritmo, clave, iv); // descifrado y ejecución inmediata a través de eval}
La carga útil descifrada establece comunicación con la infraestructura de comando y control alojada en servidores comprometidos, que operan principalmente a través del puerto 1224.
El malware crea puestos traseros persistentes capaces de descargar scripts de Python adicionales para la ejecución, al tiempo que exfiltran los datos de la billetera de criptomonedas y la información de extensión del navegador a servidores remotos controlados por los actores de amenazas.
Integre cualquiera. Pruebe 50 búsqueda de prueba gratuita








