Se ha descubierto que un conjunto de paquetes npm falsos descubiertos en el repositorio Node.js comparten vínculos con actores patrocinados por el estado de Corea del Norte, según muestran nuevos hallazgos de Phylum.
Los paquetes se denominan recovery-time-async, data-time-utils, login-time-utils, mongodb-connection-utils y mongodb-execution-utils.
Uno de los paquetes en cuestión, tiempo de ejecución asíncronose hace pasar por su contraparte legítima Tiempo de ejecución, una biblioteca con más de 27.000 descargas semanales. El tiempo de ejecución es una utilidad de Node.js que se utiliza para medir el tiempo de ejecución en el código.
“En realidad, instala varios scripts maliciosos, incluido un ladrón de criptomonedas y credenciales”, Phylum. dicho, describiendo la campaña como un ataque a la cadena de suministro de software dirigido a desarrolladores. El paquete fue descargado 302 veces desde el 4 de febrero de 2024, antes de ser retirado.
En un giro interesante, los actores de la amenaza se esforzaron por ocultar el código malicioso ofuscado en un archivo de prueba, que está diseñado para recuperar cargas útiles de la siguiente etapa desde un servidor remoto, robar credenciales de navegadores web como Brave, Google Chrome y Opera, y recuperar un script de Python, que, a su vez, descarga otros scripts –
- ~/.n2/pay, que puede ejecutar comandos arbitrarios, descargar e iniciar ~/.n2/bow y ~/.n2/adc, finalizar Brave y Google Chrome, e incluso eliminarse a sí mismo.
- ~/.n2/bow, que es un ladrón de contraseñas de navegador basado en Python
- ~/.n2/adc, que instala AnyDesk en Windows
Phylum dijo que identificó comentarios en el código fuente (“/Users/ninoacuna/”) que permitieron rastrear un perfil de GitHub ahora eliminado con el mismo nombre (“Nino Acuna” o binarioExDev) que contiene un repositorio llamado File-Uploader. .
Dentro del repositorio estaban presentes scripts de Python que hacían referencia a las mismas direcciones IP (162.218.114[.]83 – posteriormente cambiado a 45.61.169[.]99) solía buscar los scripts de Python antes mencionados.
Se sospecha que el ataque es un trabajo en progreso, ya que al menos cuatro paquetes más con características idénticas llegaron al repositorio de paquetes npm, atrayendo un total de 325 descargas.
Surgen conexiones con actores norcoreanos
Phylum, que también analizó las dos cuentas de GitHub que sigue binarioExDev, descubrió otro repositorio conocido como mave-finance-org/auth-playground, que ha sido bifurcado no menos de una docena de veces por otras cuentas.
Si bien bifurcar un repositorio en sí no es algo fuera de lo común, un aspecto inusual de algunos de estos repositorios bifurcados fue que se les cambió el nombre a “auth-demo” o “auth-challenge”, lo que plantea la posibilidad de que el repositorio original haya sido compartido como parte de una prueba de codificación para una entrevista de trabajo.
Posteriormente, el repositorio se trasladó a banus-finance-org/auth-sandbox, Dexbanus-org/live-coding-sandbox y mave-finance/next-assessment, lo que indica intentos de sortear activamente los intentos de eliminación de GitHub. Todas estas cuentas han sido eliminadas.
Es más, se descubrió que el paquete de la siguiente evaluación contenía una dependencia “json-mock-config-server” que no figura en el registro de npm, sino que se sirve directamente desde el dominio npm.mave.[.]finanzas.
Vale la pena señalar que Banús afirma ser un intercambio al contado perpetuo descentralizado con sede en Hong Kong, y la empresa incluso publicó un oportunidad de trabajo para un desarrollador frontend senior el 21 de febrero de 2024. Actualmente no está claro si se trata de una oferta de trabajo genuina o si se trata de un elaborado esquema de ingeniería social.
Las conexiones con los actores de amenazas norcoreanos provienen del hecho de que el JavaScript ofuscado incrustado en el paquete npm se superpone con otro malware basado en JavaScript denominado BeaverTail que se propaga a través de un mecanismo similar. La campaña recibió el nombre en código Entrevista contagiosa de la Unidad 42 de Palo Alto Networks en noviembre de 2023.
Contagious Interview es un poco diferente de Operation Dream Job, que está vinculada al Grupo Lazarus, en que se centra principalmente en apuntar a desarrolladores a través de identidades falsas en portales de empleo independientes para engañarlos para que instalen paquetes npm maliciosos, Michael Sikorski, vicepresidente y CTO. de la Unidad 42 de Palo Alto Networks, dijo a The Hacker News en ese momento.
Desde entonces, uno de los desarrolladores que fue víctima de la campaña confirmó a Phylum que el repositorio se comparte bajo la apariencia de una entrevista de codificación en vivo, aunque dijo que nunca lo instaló en su sistema.
“Más que nunca, es importante que tanto los desarrolladores individuales como las organizaciones de desarrollo de software permanezcan alerta contra estos ataques en código fuente abierto”, dijo la compañía.