Se encontraron paquetes NPM de aspecto legítimo que albergan el ladrón de información TurkoRat
A pesar de los esfuerzos de los últimos años para monitorear proactivamente los repositorios de software públicos en busca de código malicioso, los paquetes que incluyen malware continúan apareciendo regularmente en dichos lugares. Los investigadores identificaron recientemente dos paquetes de aspecto legítimo que pasaron desapercibidos durante más de dos meses e implementaron un troyano de código abierto que roba información llamado TurkoRat.
Uso efectivo de typosquatting en paquetes NPM maliciosos
Los atacantes intentan varias formas de engañar a los usuarios para que descarguen paquetes maliciosos Error de tipeo es uno de los más populares porque no requiere mucho esfuerzo. Esta técnica consiste en copiar un paquete legítimo, agregar un código malicioso y publicarlo con un nombre diferente que es una variación del original con la esperanza de que los usuarios lo encuentren cuando busquen el paquete original.
Tal fue el caso de un paquete llamado «nodejs-encrypt-agent» que recientemente llamó la atención de los investigadores de la empresa de seguridad de la cadena de suministro de software ReversingLabs porque exhibía una combinación de características y comportamientos sospechosos. Primero, el nombre del paquete en el registro npm difería del nombre dado en el archivo readme.md: agent-base. En segundo lugar, la primera versión del paquete que se cargó en el registro fue la 6.0.2, lo cual es inusual ya que los paquetes nuevos generalmente comienzan con una versión anterior como 1.0 o incluso anterior.
Cuando los investigadores buscaron Agent Base, todo tuvo sentido. Este es un paquete legítimo, la versión más popular en el registro es 6.0.2 con más de 20 millones de descargas. Una comparación de código mostró que nodejs-encrypt-agent era solo una copia del código base de agent-base con algunas modificaciones. De hecho, el paquete falso incluso incluía un enlace a la página de GitHub de la base de agentes, posiblemente para parecer más legítimo.
«Durante el análisis de millones de paquetes sospechosos, el equipo de ReversingLabs identificó una serie de combinaciones de comportamiento que, en conjunto, sugieren fuertemente actividad maliciosa», dijeron los investigadores. un informe. “Por ejemplo, en nuestra experiencia, los paquetes de código abierto que incluyen direcciones IP codificadas en su código y ejecutan comandos y escriben datos en archivos simultáneamente tienden a ser maliciosos. Es cierto: ninguna de estas características, individualmente.” son maliciosas. Sin embargo, cuando se combinan, suelen admitir funciones maliciosas”.
La modificación realizada por los atacantes al código base del agente fue ejecutar un archivo ejecutable portátil (PE) provisto con los nuevos paquetes inmediatamente después de descargar e instalar el paquete en un sistema. El análisis automatizado de este archivo reveló la capacidad de escribir y eliminar archivos de los directorios del sistema de Windows, ejecutar comandos del sistema y cambiar la configuración de DNS (Sistema de nombres de dominio) del sistema, todo sospechoso.
El análisis manual también reveló que el malware fue diseñado para robar credenciales de inicio de sesión y billeteras criptográficas de los sistemas infectados. También incluía funciones anti-sandboxing y depuración para dificultar el análisis. Los investigadores no tardaron mucho en darse cuenta de que era una copia de TurkoRat, un ladrón de información de código abierto escrito en JavaScript y diseñado para funcionar con el marco Node.js.
«Resultó que esta versión particular del malware TurkoRat utiliza el paquete de paquete npm para agrupar todos los archivos necesarios en un solo archivo de paquete ejecutable», dijeron los investigadores. «Todos los archivos residen en un sistema de archivos virtual o una instantánea a la que la aplicación empaquetada tiene acceso en tiempo de ejecución».
Según el proyecto TurkoRat en Discord, el malware es capaz de robar tokens de sesión y autenticación de Discord y Telegram; Contraseñas, cookies, autocompletar e historial de todos los principales navegadores; y una gran cantidad de billeteras criptográficas. También es capaz de tomar capturas de pantalla. Cualquier información recopilada se puede enviar de vuelta a una URL de webhook configurada por el atacante.
El malware se esconde en las cadenas de dependencia
Después de encontrar «nodejs-encrypt-agent», los investigadores buscaron paquetes similares y pronto encontraron otro llamado «nodejs-cookie-proxy-agent» que enumeraba «nodejs-encrypt-agent» como una dependencia. Este segundo paquete era una copia fraudulenta de un paquete legítimo llamado node-cookie-proxy-agent.
Esta vez, la similitud de nombres entre los paquetes falsos y legítimos es mucho mayor: «node» frente a «nodejs» como sufijo, lo que lo convierte en un intento de error tipográfico mucho más efectivo. De hecho, sugiere que este paquete probablemente estaba destinado a ser el primer eslabón de la cadena de ataque, ya que no incluye directamente ningún código malicioso. En su lugar, «nodejs-encrypt-agent» se incluye como una dependencia, que luego proporciona TurkoRat.
De hecho, las versiones anteriores del paquete nodejs-cookie-proxy-agent incluían otra dependencia llamada axios-proxy, que en el pasado fue marcada como un paquete malicioso y eliminada por los mantenedores de npm. Parece que nodejs-cookie-proxy-agent se pasó por alto en ese entonces y los atacantes simplemente cambiaron las dependencias a un nuevo paquete malicioso que construyeron y cargaron.
«Nodejs-encrypt-agent se descargó unas 500 veces durante su disponibilidad de dos meses», dijeron los investigadores de ReversingLabs. «El nodejs-cookie-proxy-agent se ha descargado menos de 700 veces. Sin embargo, es casi seguro que los paquetes maliciosos fueron los responsables de ejecutar el TurkoRat malicioso en un número desconocido de máquinas de desarrollo. El impacto a largo plazo de este compromiso es difícil de medir».
Los ataques de componentes de software malicioso pueden tener efectos de largo alcance, ya que los principales consumidores de dichos paquetes son los desarrolladores. Una computadora de desarrollador comprometida puede dar a los atacantes acceso al entorno de desarrollo de software y la infraestructura de la organización para la que trabaja el desarrollador. Esto, a su vez, puede dar lugar a otro ataque a la cadena de suministro de software. La industria de la seguridad ya lo ha hecho instancias documentadas de ataques en cascada en la cadena de suministro de software.
Derechos de autor © 2023 IDG Communications, Inc.
Nos llegó este contenido de ciberseguridad de: CSO Online
Encontrarás la noticia original en el enlace que sigue: https://www.csoonline.com/article/3697001/legitimate-looking-npm-packages-found-hosting-turkorat-infostealer.html#tk.rss_news