Ataque a sistemas Windows para minar criptomonedas y exfiltrar información vía Telegram

Noticias y Novedades

Investigadores de ESET analizaron un código malicioso con capacidad de ejecutar criptomineros y exfiltrar información mediante un bot a grupos de Telegram. Afecta a versiones antiguas de Windows y el foco de ataque está en Latinoamérica.

 

El Laboratorio de Investigación de ESET Latinoamérica ha analizado un código malicioso que afecta a sistemas operativos Windows, detectado por nuestras soluciones de seguridad como Python/PSW.Agent.BHH.

Se ha observado que los cibercriminales intentan comprometer sistemas que utilizan versiones antiguas (legacy) del sistema operativo Windows Server, como Windows Server 2008 o Windows Server 2012, versiones que ya no reciben actualizaciones de seguridad por parte de Microsoft, lo que representa un riesgo potencial para sus usuarios.

Además, pueden escanear y comprometer otros equipos en la red interna explotando la vulnerabilidad ZeroLogon. Un binario malicioso programado en Python se utiliza para realizar capturas de pantalla de la máquina de la víctima y enviarlas a los cibercriminales mediante un bot hacia un canal de Telegram.

Otra de sus funcionalidades es leer la información contenida en el portapapeles de la víctima con el fin de detectar datos de una billetera virtual (wallet) de la víctima para luego modificarla por una perteneciente a los cibercriminales.

Los accesos, en esta ocasión, fueron utilizados para ejecutar criptomineros o códigos maliciosos que reemplazan las billeteras electrónicas de las víctimas por unas pertenecientes a los cibercriminales, lo que deja abierta la posibilidad de sufrir ataques más complejos.

Los cibercriminales tienden a seleccionar víctimas en sectores como la construcción o la educación y, si bien los ataques detectados fueron a nivel global, se han centrado especialmente en Latinoamérica, sobre todo en México, Argentina, Colombia y Perú. Según la investigación, es altamente probable que los cibercriminales obtengan acceso no autorizado a sus víctimas mediante la explotación de vulnerabilidades o ataques de fuerza bruta.

En el siguiente diagrama se ilustra el proceso de infección de este código malicioso, que comienza con el acceso no autorizado a un servidor de Windows y termina con la ejecución de un archivo malicioso en Python, que descarga y ejecuta otros componentes, como herramientas tipo mimikatz o nmap, así como archivos autoextraíbles que finalmente ejecutan criptomineros en la víctima.

infostealer-diagrama-infeccion-1-
Ilustración 1. Diagrama de infección

 

 

Actividades Maliciosas

Este código malicioso posee características de downloader e infostealer. Por un lado este código malicioso es capaz de escanear la red interna de la víctima y por medio de la explotación de una vulnerabilidad, llamada ZeroLogon, comprometer e instalarse en otros equipos que estén dentro de la red.

A su vez es capaz de descargar en la víctima diferentes herramientas y otros códigos maliciosos para poder lograr realizar su cometido.

Durante el proceso de escaneo de la red interna de la víctima, o durante la ejecución de alguna de las herramientas utilizadas, el código malicioso va recolectando información de estos procesos para enviárselo a los cibercriminales utilizando un canal de Telegram, aprovechando un bot creado para la aplicación mencionada.

Acceso inicial

Como se mencionó anteriormente, la amenaza parece afectar a sus víctimas mediante la explotación de vulnerabilidades conocidas, las cuales podrían contar con exploits alojados en repositorios públicos en internet o a través de ataques de fuerza bruta.

Esta suposición se fundamenta en las detecciones observadas en los sistemas de telemetría de ESET, las cuales están relacionadas con la explotación de la vulnerabilidad EternalBlue o con la vulnerabilidad CVE-2021-31166. Al analizar información de sitios públicos como Shodan o Censys, se identifican que los servidores donde fue encontrada la amenaza tenían servicios sensible expuestos a Internet, como los puertos 88 (Kerberos), 389 (LDAP), 445 (SMB) y 3389 (RDP).

El aprovechamiento de alguno de estos servicios por parte de los cibercriminales podría facilitar ataques de fuerza bruta o la explotación de vulnerabilidades, permitiendo así el acceso no autorizado al servidor de la víctima y su posterior compromiso mediante la ejecución de comandos o la instalación de código malicioso adicional.

Una vez que los cibercriminales logran acceder al servidor de una víctima, proceden a descargar y ejecutar el código malicioso Python/PSW.Agent.BHH. A continuación, se detallará su comportamiento malicioso. Python/PSW.Agent.BHH.

Este código malicioso es un binario compilado específicamente para sistemas operativos Windows y programado en Python. Su funcionalidad incluye la capacidad de descargar y ejecutar herramientas o códigos maliciosos adicionales desde un servidor controlado por los cibercriminales. Además, puede escanear la red de la víctima en busca de otros equipos activos, explotar vulnerabilidades conocidas en dichos equipos, recibir actualizaciones desde el servidor de comando y control, entre otras acciones.

En base al análisis realizado sobre la muestra 1D3BB7A9F5F9E59C93A4B3A2D52BC7964AE99326, se encontró que para poder ejecutarse, este código malicioso necesita por argumento alguna de las siguientes cadenas de caracteres:

‒ ping_s

‒ zero

‒ rych

Dependiendo de que cadena de caracteres suministrada al código malicioso, este va a realizar alguna de las acciones maliciosas mencionadas anteriormente. La siguiente captura de pantalla, muestra la lógica utilizada por los cibercriminales para ejecutar ciertas acciones maliciosas dependiendo de la cadena de caracteres suministrada.

infostealer-logica-codigo-2-
Ilustración 2. Lógica empleada por el código malicioso para ejecutar acciones con base en un argumento.

A continuación, se detalla la actividad maliciosa que es realizada por este código malicioso cuando se le suministra alguna de estas cadenas

ping_s

Básicamente los cibercriminales utilizan esta lógica para confirmar si una dirección IP de la red interna de la víctima esta activa o no. Para ello, itera sobre un archivo de texto llamado dump.txt alojado en la misma ruta donde persiste este código malicioso, C:\ProgramaData\Universal_map, obteniendo direcciones de IP del mismo. Para chequear si una IP está activa utiliza el método ping de la librería ping3 de Python.

En el caso de que la dirección IP este activa, se va a agregar a una lista junto con el nombre del equipo asociado a esa dirección IP y esa lista es enviada, por medio de un bot, hacia un grupo de Telegram controlado por los cibercriminales. A su vez, también envía la dirección IP con la que la víctima sale a internet y el nombre de la ciudad donde se encuentra. Esta información es obtenida a través de una solicitud que hace el código malicioso hacia la siguiente URL legítima: https://ipinfo.io/ip.

Aclaración: el archivo dump.txt es creado durante la ejecución del método explicado a continuación.

zero

En este caso, primero va a ejecutar una rutina encargada de actualizar el código malicioso. Básicamente, el código malicioso se conectaba hacia el servidor 2.57.122[.]159 controlado por los cibercriminales, y obtiene un numero de versión. Luego, ese número es comparado con otro número harcodeado en el código malicioso y si llegan a ser diferentes, el mismo procede a crear archivo batch el cual se va a conectar a la misma dirección IP y va a descargar de la misma la última versión del código malicioso. Finalizada la actualización elimina el archivo batch creado previamente.

Finalizada la parte de actualización, procede a chequear que estén instaladas diferentes herramientas y códigos maliciosos dentro de la misma carpeta donde se ejecuta este código malicioso. En caso de no existir alguna o todas, el código malicioso procede a descargarlas desde la dirección IP mencionada anteriormente.

 

Podés leer el artículo completo en el siguiente enlace:

Ataque a sistemas Windows para minar criptomonedas y exfiltrar información vía Telegram

 

 

×