En las semanas transcurridas desde que Microsoft publicara detalles sobre una vulnerabilidad grave que afectaba a su software para el servidor de correo Exchange, una serie de ciberdelincuentes han estado atacando servidores explotables con una variedad de malware, desde webshells hasta ransomware. Pero esas no son las únicas cargas útiles que hemos visto dirigidas a los servidores Exchange: un atacante desconocido ha estado intentando aprovechar lo que ahora se conoce como el exploit ProxyLogon para instalar un criptominero de Monero malicioso en los servidores de Exchange, con la carga útil alojada en un servidor comprometido Exchange.
El equipo de SophosLabs estaba inspeccionando la telemetría cuando se encontró con un ataque inusual dirigido al servidor Exchange de un cliente. El ataque comienza con un comando de PowerShell para recuperar un archivo llamado win_r.zip de la ruta de inicio de sesión de Outlook Web Access de otro servidor comprometido (/owa /auth).
Cómo funciona el ataque
El archivo .zip no es un archivo comprimido, sino un script por lotes que luego invoca el programa certutil.exe integrado en Windows para descargar dos archivos adicionales, win_s.zip y win_d.zip. Ninguno de estos son archivos comprimidos.
El primer archivo se guarda en el sistema de archivos como QuickCPU.b64. La aplicación certutil está diseñada para poder decodificar certificados de seguridad codificados en base64, por lo que los atacantes han aprovechado esa funcionalidad al codificar una carga ejecutable en base64 y envolverla en encabezados que indican que es algún tipo de certificado digital.
El script por lotes ejecuta este comando que genera el ejecutable decodificado en la misma carpeta.
certutil.exe -decode QuickCPU.b64 QuickCPU.exe
Cuando se decodifica, el script por lotes ejecuta el ejecutable, que extrae los datos del minero y de configuración del archivo QuickCPU.dat, lo inyecta en un proceso del sistema y luego elimina las pruebas. El archivo utiliza datos falsificados en su hoja de propiedades que indica que el archivo es un componente de Windows, pero el binario no está firmado digitalmente y, además, tal archivo nunca ha existido como un componente estándar de Windows, aunque existe una utilidad legítima con el mismo nombre, elaborada por un desarrollador de software de terceros. Esa utilidad no está relacionada con este malware de ninguna forma.
El ejecutable parece contener una versión modificada de una herramienta disponible públicamente en Github llamada PEx64-Injector. La página de ese proyecto describe que la herramienta tiene la capacidad de “migrar cualquier exe x64 a cualquier proceso x64… no se requieren privilegios de administrador”. Cuando se ejecuta, extrae el contenido del archivo QuickCPU.dat (un instalador para el minero y su configuración) temporalmente en el sistema de archivos, configura el minero, lo inyecta en un proceso en ejecución y luego se cierra. Luego, el archivo por lotes elimina las pruebas y el minero permanece ejecutándose en memoria, inyectado en un proceso que ya se está ejecutando en el sistema.
Entre los archivos contenidos en el archivo QuickCPU.dat se encuentra el configurador del minero, que parece ser xmr-stak. De forma predeterminada, la carga útil configura al minero para que solo pueda comunicarse si puede tener una conexión TLS segura de regreso a la billetera Monero, donde almacenará su valor. Si el minero detecta que hay una falta de coincidencia de certificado (o alguna otra indicación de un TLS MITM), se cierra e intenta volver a conectarse cada 30 segundos.
El archivo pools.txt del minero también se escribe temporalmente en el disco, lo que revela no solo la dirección de la billetera y su contraseña, sino también el nombre que el atacante le ha dado a este grupo de mineros: DRUGS. La “moneda”: “randomx” en este archivo parece ser una configuración específica del minero xmr-stak.
Según la cadena de bloques de Monero, la billetera comenzó a recibir fondos el 9 de marzo (el martes de parches en el que se lanzaron las actualizaciones de Exchange como parte del ciclo de actualización), que se corresponde con cuando vimos comenzar el ataque. A medida que pasó el tiempo, el atacante perdió varios servidores y la producción de criptominería disminuyó, pero luego ganó algunos nuevos que compensaron con creces las pérdidas iniciales.
Detección e indicadores de compromiso
Los productos endpoint de Sophos detectarán los ejecutables asociados con este ataque como Mal/Inject-GV y xmr-stak se detecta como XMR-Stak Miner (PUA). SophosLabs ha publicado indicadores de compromiso en nuestra página de Github.
SophosLabs agradece la ayuda de Fraser Howard y Simon Porter en el descubrimiento y análisis de esta amenaza.