América Latina es a menudo pasada por alto cuando se trata de amenazas persistentes y grupos cuyos blancos son seleccionados a partir de motivaciones políticas. Sin embargo, existe una operación de ciberespionaje en curso contra organizaciones de alto perfil que ha logrado mantenerse bajo el radar. El grupo detrás de estos ataques robó gigabytes de documentos confidenciales, principalmente de organismos gubernamentales. Al momento de esta publicación el grupo sigue estando muy activo, introduciendo regularmente cambios en su malware, en su infraestructura y en sus campañas de spearphishing.
ESET ha estado monitoreando una nueva versión de Machete (el conjunto de herramientas del grupo basadas en Python) vista por primera vez en abril de 2018. Si bien la funcionalidad principal del backdoor sigue siendo la misma que en versiones anteriores, se ha ampliado con nuevas características a lo largo del transcurso de un año.
Blancos de ataque
Desde finales de marzo hasta finales de mayo de 2019, los investigadores de ESET observaron que había más de 50 computadoras comprometidas que se comunicaban de manera activa con el servidor de C&C. Esto equivale a gigabytes de datos robados de manera semanal. Más de la mitad de estos equipos pertenecían a organismos gubernamentales. La mayoría de las organizaciones apuntadas por el malware Machete son de países de América Latina, como es el caso de Venezuela (75%), Ecuador (16%), Colombia (7%) y Nicaragua (2%). La distribución de este malware en estos países se puede observar en la Figura 1.
Los operadores detrás de Machete
Los operadores de Machete utilizan técnicas efectivas de spearphishing. Su larga serie de ataques, centrados en países de América Latina, les ha permitido recopilar inteligencia y perfeccionar sus tácticas a lo largo de los años. Conocen bien a sus objetivos, cómo esconderse entre las comunicaciones periódicas y qué documentos son los más valiosos para robar. Machete no solo extrae documentos de ofimática, sino también tipos de archivos especializados que son utilizados por software de sistemas de información geográfica (SIG).
El grupo Machete envía correos electrónicos muy específicos directamente a sus víctimas, y estos cambian de un blanco a otro. Estos correos electrónicos contienen un enlace o un adjunto con un archivo comprimido autoextraíble que ejecuta el malware a la vez que abre un documento que funciona como señuelo.
Para engañar a sus blancos desprevenidos, los operadores de Machete utilizan documentos reales que han robado anteriormente. ESET ha visto casos en los que documentos robados fechados con un día en particular fueron empaquetados con malware y se utilizaron el mismo día como señuelos para comprometer a nuevas víctimas.
El tipo de documentos utilizados como señuelo suelen ser enviados y recibidos legítimamente varias veces al día en las organizaciones seleccionadas como blancos. En este sentido, los atacantes aprovechan para elaborar correos electrónicos de phishing muy convincentes.
Principales características
El grupo Machete es muy activo y ha introducido varios cambios en su malware desde el lanzamiento de una nueva versión en abril de 2018. Versiones anteriores fueron descritas por Kaspersky en 2014 y por Cylance en 2017. En la Figura 3 mostramos los componentes para la nueva versión del malware Machete.
La primera parte del ataque consiste en un downloader que se presenta como un archivo autoextraíble, creado con 7z SFX Builder. Una vez que el archivo es desempaquetado por el código de autoextracción, el extractor abre un archivo PDF o documento de Microsoft Office que funciona como señuelo y luego corre el downloader ejecutable del archivo. Ese ejecutable es otro archivo autoextraíble que contiene el binario del downloader (un componente py2exe) y un archivo de configuración con la URL de descarga, que se encuentra cifrada.
Todas las URL de descarga que hemos visto apuntan a Dropbox o a Google Docs. Todos los archivos descargados han sido autoextraíbles (RAR SFX) que contienen un archivo de configuración (cifrada) y los componentes del backdoor (ejecutables py2exe). Sin embargo, desde mayo de 2019, los operadores de Machete dejaron de utilizar downloaders y comenzaron a incluir el archivo señuelo y los componentes del backdoor en el mismo archivo.
Los binarios py2exe se pueden descompilar para obtener el código en Python. Además, todos los componentes (downloaders y backdoors) han sido ofuscados con pyobfuscate; algo que también se ha utilizado en versiones anteriores del malware. En la Figura 3 se puede apreciar parte de uno de estos scripts ofuscados.
Desde Agosto de 2018, se añadió una capa adicional de ofuscación a los componentes de Machete. Los scripts ahora contienen un bloque de texto comprimido con zlib, previa codificación en base64, que luego de ser decodificado, resulta en un script como el de la Figura 3. La primera capa de ofuscación es creada utilizando pyminifier con el parámetro -gzip.
Componentes del backdoor
El dropper de Machete es un ejecutable RAR SFX. Tres componentes py2exe son droppeados: GoogleCrash.exe, Chrome.exe y GoogleUpdate.exe. Un único archivo de configuración es droppeado (jer.dll), el cual contiene texto codificado en base64 que corresponde a strings cifradas con AES. Un esquema que resume los componentes se puede observar en la Figura 4.
GoogleCrash.exe es el componente principal del malware. Programa la ejecución de los otros dos componentes y crea tareas en el Programador de Tareas de Windows para lograr persistencia.
El componente Chrome.exe es responsable de recopilar datos de la computadora comprometida y tiene la capacidad de:
- Realizar capturas de pantalla
- Registrar las pulsaciones del teclado
- Acceder al portapapeles
- Cifrar en AES y exfiltrar documentos
- Detectar nuevas unidades insertadas y copiar archivos
- Ejecutar otros binarios descargados del servidor C&C
- Obtener archivos específicos del sistema
- Obtener datos de perfil de usuario de varios navegadores
- Recopilar la geolocalización de las víctimas e información sobre redes Wi-Fi cercanas
- Realizar exfiltración física en unidades extraíbles
Los operadores de Machete están interesados en obtener de los equipos comprometidos determinados tipos de archivos. En este sentido, además de documentos de Microsoft Office, se buscan en las diferentes unidades los siguientes tipos de archivos:
- Archivos de backup
- Archivos de base de datos
- Claves criptográficas (PGP)
- Documentos de OpenOffice
- Imágenes vectoriales
- Archivos para sistemas de información geográfica
Con respecto a la geolocalización de las víctimas, Chrome.exe recopila datos sobre redes Wi-Fi cercanas y las envía a la API del Servicio de ubicación de Mozilla. En resumen, esta aplicación proporciona coordenadas de geolocalización cuando le son proporcionadas otras fuentes de datos, tales como beacons Bluetooth, antenas de telefonía celular o puntos de acceso Wi-Fi. Luego, el malware toma coordenadas de latitud y longitud para construir una URL de Google Maps. Parte del código se puede observar en la Figura 5.
La ventaja de utilizar el Servicio de ubicación de Mozilla es que permite la geolocalización sin un GPS real y puede ser más preciso que otros métodos. En este sentido, si bien se puede utilizar una dirección IP para obtener una ubicación aproximada, la misma no es tan precisa. Por otro lado, si hay datos disponibles para el área, el Servicio de ubicación de Mozilla puede proporcionar información como, por ejemplo, en qué edificio se encuentra el blanco.
El componente GoogleUpdate.exe es responsable de comunicarse con el servidor de C&C remoto. La configuración para establecer la conexión se lee del archivo jer.dll: nombre de dominio, nombre de usuario y contraseña. El principal medio de comunicación para Machete es a través de FTP, aunque la comunicación HTTP se implementó como alternativa en 2019.
Este componente carga archivos cifrados a diferentes subdirectorios en el servidor de C&C, pero también recupera archivos específicos que los operadores de Machete han puesto en el servidor. De esta manera, el malware puede actualizar tanto su configuración, sus archivos binarios maliciosos y sus listados de archivos, pero también puede descargar y ejecutar otros binarios.
Conclusión
El grupo Machete está operando con más fuerza que nunca, incluso después de que los investigadores hayan publicado descripciones técnicas e indicadores de compromiso para este malware. ESET ha estado siguiendo esta amenaza durante meses y ha observado varios cambios, a veces en semanas.
Al momento de esta publicación, el último cambio que se introdujo en el malware son seis componentes del backdoor, que ya no son ejecutables py2exe. En este caso se trata de scripts de Python ofuscados, un ejecutable original de Python 2.7 y todas las librerías utilizadas, que son empaquetadas en un archivo autoextraíble.
Varios artefactos que hemos visto en el código de Machete y la infraestructura subyacente nos llevan a pensar que se trata de un grupo de habla hispana. Asimismo, la presencia de código para exfiltrar datos a unidades extraíbles cuando hay acceso físico a una computadora comprometida podría indicar que los operadores de Machete están presentes en alguno de los países blanco de sus ataques, aunque no podemos estar seguros de esta afirmación.
Por otra parte, añadir que ESET detecta esta amenaza como una variante de Python/Machete.
Por cualquier consulta o para enviarnos muestras relacionadas con el ataque, contáctenos a través de threatintel@eset.com.