El PuTTY que descargas de Google puede estar infectado, ten cuidado, así te engaña con la campaña que usa Ethereum para ocultar su servidor

Investigadores de seguridad han descubierto una campaña que utiliza resultados de búsqueda de Google para dirigir a administradores de TI hacia un sitio falso de descarga de PuTTY, desde donde se distribuye un instalador troyanizado que abre una ventana legítima del programa como señuelo mientras ejecuta en segundo plano una cadena de malware basada en Node.js y comandos remotos resueltos mediante contratos inteligentes de Ethereum.

El sitio falso, puty[.]ink, imita la página oficial de descarga de PuTTY y aparece mezclado con resultados legítimos en las búsquedas de Google. El enlace de descarga entrega un archivo Putty-x86_64.msi alojado en un bucket de Backblaze B2.

Cuando la víctima ejecuta el instalador, Windows Installer coloca cuatro archivos en una carpeta dentro de Local AppData y abre una copia legítima de PuTTY 0.85, firmada por Sectigo. El programa funciona con normalidad, lo que refuerza la percepción de que la instalación es segura.

Mientras tanto, el instalador inicia una cadena de ejecución paralela que permanece oculta para el usuario.

¿Cómo funciona la cadena de infección?

El instalador lanza un archivo por lotes llamado 44JYYsqg.cmd. Ese script oculta su consola, comprueba si Node.js está instalado y, si no lo está, descarga el runtime oficial de Node.js 18.20.5. Después, utiliza un archivo JScript para ejecutar Node.js con una carga útil JavaScript ofuscada.

El runtime de Node.js es legítimo. El peligro está en el script del atacante y en el uso que hace de él. Es un patrón que se repite en otras campañas: aprovechar una herramienta de desarrollo ampliamente utilizada como lanzador de malware para dificultar la detección.

La resolución del servidor de control mediante Ethereum

El aspecto más novedoso de la campaña es el método para localizar el servidor de comando y control (C2). En lugar de depender de una dirección fija incrustada en el código, el cargador de JavaScript consulta un contrato inteligente de Ethereum a través de siete servicios RPC públicos.

El malware compara las respuestas de los distintos servicios y utiliza la URL válida más repetida como dirección del C2. Después, actualiza el destino de la conexión cada cinco minutos. Esa técnica, conocida como EtherHiding, ya se ha observado en otras campañas y dificulta el bloqueo por parte de los defensores, porque no basta con bloquear un solo servidor.

Una vez localizado el C2, el malware se comunica con él aproximadamente cada 500 milisegundos. Las peticiones imitan descargas de imágenes o archivos de estilo, usando extensiones como .png, .jpg, .css o .ico. Si el servidor devuelve más de 10 bytes, el cargador pasa la respuesta a ejecución JavaScript con acceso a las funciones de Node.js. Eso permite al operador enviar nuevas capacidades sin necesidad de reemplazar el instalador original.

¿Qué hace el malware una vez instalado?

Los comandos documentados por Unit 42, el equipo de investigación que identificó la campaña, incluyen la recopilación de información del sistema:

  • Sistema operativo y versión.
  • Productos antivirus instalados.
  • Pertenencia al dominio.
  • Hardware gráfico.
  • Sesiones SMB activas.

Los investigadores también observaron la recolección de perfiles de navegador y cookies, la instalación de un paquete WebSocket y una rutina de PowerShell que captura aproximadamente cinco capturas de pantalla del escritorio por segundo. Las imágenes se guardan como archivos codificados en la carpeta temporal, lo que permite una monitorización de la pantalla casi en tiempo real.

La campaña no explota ninguna vulnerabilidad de PuTTY. Depende de que el usuario confíe en un resultado de búsqueda y ejecute un instalador desde una página falsa. Eso es especialmente preocupante para administradores de sistemas, cuyos equipos suelen contener sesiones de navegador, credenciales guardadas y conexiones activas a sistemas internos.

¿Cómo detectar y protegerse?

Los equipos de seguridad pueden investigar actividad inesperada de node.exe desde carpetas AppData de usuario, especialmente cuando se ejecuta con un archivo .ini como argumento. También conviene revisar lanzamientos de MSI que creen los archivos nombrados en la campaña y comprobar si hay tráfico saliente hacia servicios RPC de Ethereum desde equipos que no tienen ninguna razón para usarlos.

Las recomendaciones para las organizaciones incluyen:

  • Dirigir al personal a fuentes de software verificadas, como la página oficial de PuTTY y el sitio oficial de Node.js para Windows.
  • Mantener un portal de software aprobado para las herramientas de uso común, de modo que los empleados no dependan de resultados de búsqueda para descargar utilidades.
  • Monitorizar la creación de los archivos indicados en las rutas de AppData.
  • Revisar conexiones salientes a los servicios RPC de Ethereum listados en los indicadores de compromiso.

Los indicadores de compromiso principales

La campaña deja un rastro de artefactos que permiten detectarla. Entre los indicadores publicados por Unit 42 se incluyen:

  • Sitio falso: puty[.]ink
  • Dominio de redirección: putredirhelps[.]online
  • C2 de respaldo observado: presanis[.]com
  • Patrón de alojamiento del MSI: hxxps[:]//.s3.us-east-005.backblazeb2[.]com/
  • Bucket de Backblaze observado: mnb61ak51
  • Contrato lector de Ethereum: 0x89F5664d6fD8d990FA04F53253Be4855ed481A74
  • Nombre del MSI malicioso: Putty-x86_64.msi
  • Archivos del cargador: 44JYYsqg.cmd, BdbEinqaL7.js, k3TjNEJGcwI7.ini
  • Carpeta de staging: C:\Users\\AppData\Local\idejDHjFnNXb\
  • Ruta del runtime de Node.js: C:\Users\\AppData\Local\idejDHjFnNXb\vXA8Jj\node.exe

Los hashes SHA-256 del MSI, el cargador por lotes, el JScript y la carga útil JavaScript también están disponibles en el informe original.

¿Por qué esta campaña es relevante?

La combinación de técnicas es lo que hace peligrosa esta campaña. El uso de un instalador firmado y de una ventana legítima de PuTTY como señuelo reduce las sospechas del usuario. El uso de Node.js como lanzador dificulta la detección basada en firmas de malware tradicionales.

Y el uso de contratos inteligentes de Ethereum para resolver el C2 hace que el bloqueo de dominios o direcciones IP sea menos efectivo, porque la infraestructura del atacante puede cambiar sin modificar el instalador.

Los administradores de TI son un objetivo especialmente sensible. Un compromiso en su equipo puede dar acceso a credenciales de sistemas internos, a sesiones activas de administración y a datos que no están disponibles en equipos de usuario convencionales. La campaña no requiere que la víctima cometa un error grave. Basta con que confíe en un resultado de búsqueda que parece legítimo.

Vistas: 1

Descubre más desde CIBERED

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Scroll al inicio