
Investigadores de ESET descubren sorprendentemente muchos indicadores de estrecha cooperación entre los autores de troyanos bancarios latinoamericanos
ESET ha publicado un documento técnico que detalla sus hallazgos sobre la interconectividad de las familias de troyanos bancarios latinoamericanos. El libro blanco también fue publicado por Virus Bulletin.
Durante mucho tiempo, los troyanos bancarios latinoamericanos fueron considerados un grupo de malware. Los investigadores de ESET descubrieron que ese no es el caso y que, a pesar de tener tanto en común, se pueden reconocer varias familias de malware distintas entre estos troyanos bancarios. Durante el año pasado, publicamos una serie de entradas de blog en curso sobre familias de malware troyano bancario de América Latina. Estas publicaciones de blog se centran principalmente en los aspectos más importantes e interesantes de estas familias. Hasta ahora hemos desenmascarado Amavaldo, Casbaneiro, Mispadu, Guildma, Grandoreiro y Mekotio en esta serie. En las piezas por venir, continuaremos con Krachulka, Lokorrito, Numando, Vadokrist y Zumanek.
En este informe técnico, observamos a estas familias desde una perspectiva de nivel superior; en lugar de examinar los detalles de cada familia y destacar sus características únicas, nos centramos en lo que tienen en común. Si ha estado siguiendo nuestra serie, es posible que haya notado algunas similitudes entre varias familias de nuestra serie, como el uso del mismo algoritmo poco común para cifrar cadenas o DGA sospechosamente similares para obtener direcciones de servidor C&C.
Las primeras similitudes que detectamos están en la implementación real de estos troyanos bancarios. La más obvia es la implementación prácticamente idéntica de los núcleos de los troyanos bancarios: enviar notificaciones al operador, escanear periódicamente las ventanas activas según el nombre o título y atacar a través de ventanas emergentes falsas diseñadas cuidadosamente en un intento de atraer información confidencial de víctimas. Además de eso, estas familias de malware comparten bibliotecas de terceros poco comunes, algoritmos de cifrado de cadenas y técnicas de ofuscación de cadenas y binarios.
Sin embargo, las similitudes no terminan ahí. Al analizar las cadenas de distribución de estas familias de malware, nos dimos cuenta de que también comparten la misma lógica central: normalmente buscan un marcador (un objeto, como un archivo o un valor de clave de registro que se utiliza para indicar que la máquina ya se ha visto comprometida) y descargar datos en archivos ZIP. Además de eso, hemos observado cadenas de distribución idénticas que terminan distribuyendo múltiples troyanos bancarios latinoamericanos. También vale la pena mencionar que desde 2019, la gran mayoría de estas familias de malware comenzaron a utilizar Windows Installer (archivos MSI) como la primera etapa de la cadena de distribución.
Los troyanos bancarios latinoamericanos también comparten métodos de ejecución. Suelen traer sus propias herramientas agrupadas en los archivos ZIP antes mencionados. Los dos métodos más comunes son la carga lateral de DLL y el abuso de un intérprete AutoIt legítimo. Además, cuando se usa el método anterior, varias familias abusan de las mismas aplicaciones vulnerables para ese propósito (las llamadas Traiga su propio software vulnerable).
El término "troyano bancario latinoamericano" proviene de la región que estos troyanos bancarios suelen atacar: América Latina. Sin embargo, desde finales de 2019, vemos a varios de ellos añadiendo España y Portugal a la lista de países a los que apuntan. Además, diferentes familias utilizan plantillas de correo electrónico no deseado similares en sus últimas campañas, casi como si esto también fuera un movimiento coordinado.
Dadas tantas similitudes, cabría esperar que las ventanas emergentes falsas que utilizan estos troyanos bancarios también se compartan. De hecho, parece ser el caso contrario. Aunque las ventanas tienen un aspecto similar (ya que están diseñadas para engañar a los clientes de las mismas instituciones financieras), no hemos detectado que varias familias utilicen idéntico ventanas.
Dado que no creemos que sea posible que los autores de malware independientes presenten tantas ideas en común y tampoco creemos que un grupo sea responsable de mantener todas estas familias de malware, concluimos que se trata de múltiples actores de amenazas que cooperan estrechamente juntos. Puede encontrar información detallada sobre las similitudes que presentamos brevemente aquí, en el documento técnico.
Técnicas MITRE ATT & CK
En la siguiente tabla, que es un agregado de las técnicas basadas en la tabla estándar MITRE ATT & CK, ilustramos muchas de las características que comparten los troyanos bancarios latinoamericanos. No es una lista exhaustiva, sino una que se centra en las similitudes. Muestra principalmente que:
- el phishing es el vector de ataque más común
- dependen en gran medida de los lenguajes de secuencias de comandos, principalmente VBScript
- La clave de ejecución del registro o la carpeta de inicio son los métodos más comunes de persistencia
- todos ofuscan cargas útiles o datos de configuración de alguna manera
- favorecen en gran medida la carga lateral de DLL
- para robar credenciales, tienden a usar ventanas emergentes falsas o registradores de teclas
- dedican un esfuerzo considerable a recopilar capturas de pantalla y buscar software de seguridad
- Se prefieren los algoritmos de cifrado personalizados sobre los establecidos.
- no filtran todos los datos recopilados al servidor de C&C, sino que también utilizan diferentes ubicaciones
Nota: esta tabla fue construida usando versión 7 del marco MITRE ATT & CK.
Táctica | CARNÉ DE IDENTIDAD | Nombre | Amavaldo | Casbaneiro | Grandoreiro | Guildma | Krachulka | Lokorrito | Mekotio | Mispadu | Numando | Vadokrist | Zumanek |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Acceso inicial | T1566.001 | Phishing: archivo adjunto de spearphishing | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1566.002 | Phishing: enlace de spearphishing | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Ejecución | T1059.005 | Intérprete de comandos y secuencias de comandos: Visual Basic | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1059.007 | Intérprete de comandos y secuencias de comandos: JavaScript / JScript | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | |
T1059.003 | Intérprete de comandos y secuencias de comandos: Shell de comandos de Windows | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | |
T1059.001 | Intérprete de comandos y secuencias de comandos: PowerShell | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | |
T1047 | Instrumentación de Administración Windows | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | |
T1059 | Comando y secuencias de comandos Interprete | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | |
Persistencia | T1547.001 | Ejecución de inicio automático de inicio o inicio de sesión: claves de ejecución del registro / carpeta de inicio | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1053.005 | Tarea / Trabajo programado: Tarea programada | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
Evasión de defensa | T1140 | Desofuscar / decodificar archivos o información | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1574.002 | Flujo de ejecución de secuestro: carga lateral de DLL | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | |
T1497.001 | Virtualización / Evasión de espacio aislado: comprobaciones del sistema | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | |
T1218.007 | Ejecución de proxy binario firmado: Msiexec | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | |
T1036.005 | Enmascaramiento: coincide con el nombre o la ubicación legítimos | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | |
T1197 | Empleos en BITS | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | |
T1112 | Modificar registro | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
T1218.011 | Ejecución de proxy binario firmado: Rundll32 | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | |
T1027.001 | Archivos o información ofuscados: relleno binario | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | |
T1220 | Procesamiento de scripts XSL | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | |
Acceso a credenciales | T1056.002 | Captura de entrada: entrada GUI Capturar | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1056.001 | Captura de entrada: registro de teclas | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
T1555.003 | Credenciales de almacenes de contraseñas: Credenciales de navegadores web | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | |
T1552.001 | Credenciales no seguras: credenciales en archivos | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | |
Descubrimiento | T1010 | Descubrimiento de la ventana de la aplicación | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1518.001 | Descubrimiento de software: descubrimiento de software de seguridad | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
T1082 | Descubrimiento de información del sistema | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
T1083 | Descubrimiento de archivos y directorios | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | |
T1057 | Descubrimiento de procesos | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | |
Colección | T1113 | La captura de pantalla | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1115 | Datos del portapapeles | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | |
Comando y control | T1132.002 | Codificación de datos: codificación no estándar | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1571 | Puerto no estándar | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | |
T1132.001 | Codificación de datos: codificación estándar | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | |
T1568.002 | Resolución dinámica: algoritmos de generación de dominios | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | |
T1568.003 | Resolución dinámica: cálculo de DNS | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | |
Exfiltración | T1048 | Exfiltración sobre protocolo alternativo | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1041 | Exfiltración sobre canal C2 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Como puede ver, los troyanos bancarios latinoamericanos, aunque tienen sus diferencias, tienen muchas características cruciales en común.