Otro en nuestra serie ocasional desmitificando troyanos bancarios latinoamericanos
En esta entrega de nuestra serie de blogs, nos centraremos en Mispadu, un ambicioso troyano bancario latinoamericano que utiliza la publicidad maliciosa de McDonald’s y extiende su superficie de ataque a los navegadores web.
Creemos que esta familia de malware está dirigida al público en general. Sus principales objetivos son el robo monetario y de credenciales. En Brasil, lo hemos visto distribuir una extensión maliciosa de Google Chrome que intenta robar datos de tarjetas de crédito y datos bancarios en línea, y que compromete el sistema de pago Boleto.
Caracteristicas
Mispadu es una familia de malware, identificada durante nuestra investigación de troyanos bancarios latinoamericanos, dirigida a Brasil y México. Está escrito en Delphi y ataca a sus víctimas utilizando el mismo método que las familias descritas anteriormente en este serie: mostrando ventanas emergentes falsas y tratando de persuadir a las víctimas potenciales para que divulguen información confidencial.
Por su funcionalidad de puerta trasera, Mispadu puede tomar capturas de pantalla, simular acciones de mouse y teclado y capturar pulsaciones de teclas. Puede actualizarse a través de un archivo de Visual Basic Script (VBS) que descarga y ejecuta.
Al igual que con los otros troyanos bancarios latinoamericanos, Mispadu también recopila información sobre sus víctimas, a saber:
- versión del sistema operativo
- nombre de la computadora
- ID de idioma
- si Diebold Varsovia GAS Tecnologia (una aplicación, popular en Brasil, para proteger el acceso a la banca en línea) está instalada
- lista de aplicaciones bancarias comunes en América Latina instaladas
- lista de productos de seguridad instalados
Como en los casos de Amavaldo y Casbaneiro, Mispadu también se puede identificar por el uso de un algoritmo criptográfico único y personalizado para ofuscar las cadenas en su código. Esto se usa en todos los componentes, así como para proteger sus archivos de configuración y comunicaciones C&C. La Figura 1 ilustra el código central que implementa este algoritmo, y la Figura 2 pseudocódigo para el algoritmo.
def decrypt_string (data_enc, key):
seed = data_enc (0) – 0x41 # 'A'
data_dec = str ()
para i en rango (1, len (data_enc), 2):
b1 = (data_enc (i) – 0x41) * 25
b2 = data_enc (i + 1) – 0x41 – semilla – clave
data_dec + = chr (b1 + b2)
volver data_dec
def descifrar_cadena(data_enc, llave): semilla = data_enc(0 0) – 0x41 # 'UNA' data_dec = str() para yo en distancia(1, Len(data_enc), 2): b1 = (data_enc(yo) – 0x41) * * 25 b2 = data_enc(yo+1) – 0x41 – semilla – llave data_dec + = chr(b1 + b2) regreso data_dec |
Figura 2. Pseudocódigo del algoritmo de Mispadu para descifrar datos
El ejecutable del troyano bancario viene con cuatro aplicaciones potencialmente no deseadas almacenadas en su sección de recursos. Todas estas aplicaciones son archivos legítimos de Nirsoft, pero se han parcheado para ejecutarse desde la línea de comandos sin GUI. El malware los utiliza para extraer credenciales almacenadas de:
- navegadores (Google Chrome, Mozilla Firefox, Internet Explorer) y
- clientes de correo electrónico (Microsoft Outlook, Mozilla Thunderbird y Windows Live Mail, entre otros).
Mispadu también monitorea el contenido del portapapeles e intenta reemplazar las posibles billeteras de bitcoin con las suyas, como lo hizo Casbaneiro. Sin embargo, al examinar la billetera del atacante (ver Figura 3), no ha tenido mucho éxito hasta la fecha.
Distribución
Mispadu emplea dos métodos de distribución: spam (ver Figura 4) y publicidad maliciosa. Si bien el primer método es muy común para los troyanos bancarios latinoamericanos, el segundo no lo es, así que veámoslo más de cerca. La Figura 5 muestra cómo se desarrolla el ataque Mispadu.

Figura 4. Ejemplos de correos electrónicos no deseados que distribuyen Mispadu. El que apunta a Brasil (izquierda) afirma que el destinatario ha estado ausente por tres intentos de entrega de paquetes y debe seguir la URL para obtener un reembolso. El que apunta a México (derecha) insta al destinatario a descargar una factura para evitar el "bloqueo" de la cuenta.
El actor de la amenaza colocó anuncios patrocinados (consulte la Figura 6 para ver un ejemplo brasileño) en Facebook ofreciendo cupones de descuento falsos para McDonald's. Hacer clic en los anuncios lleva a la víctima potencial a una de las páginas web que se muestran en la Figura 7. Independientemente del sistema operativo de un visitante, al hacer clic en el botón allí se descarga un archivo ZIP que contiene un instalador MSI. Ocasionalmente, este archivo también contiene software legítimo como Mozilla Firefox o PuTTY, pero son simples señuelos y no se utilizan en absoluto.
Los operadores de Mispadu compilaron dos versiones diferentes del troyano bancario en función del país al que ataca. Además de eso, decidieron usar diferentes instaladores y etapas posteriores para cada país atacado. Sin embargo, la lógica de ambas cadenas es la misma y describimos esa forma general a continuación.

Figura 6. Anuncios de Facebook creados por los operadores de Mispadu que conducen a sitios web falsos de cupones de McDonald's (traducción del título del anuncio: "¡Úselos en cualquier día de septiembre! Cupones de independencia. Obtenga el suyo ahora")

Figura 7. Páginas web maliciosas que ofrecen cupones de descuento falsos para McDonald’s Brasil (izquierda) y México (derecha) (traducción del texto principal de ambos: "Este cupón solo se puede usar una vez. ¡Quiero! / Generar cupón")
Cuando la víctima potencial ejecuta el instalador MSI, sigue una cadena de tres secuencias de comandos VBS posteriores. El primer guión (desempacar) descifra y ejecuta el segundo script (descargador) de sus datos internos, como se ve en la Figura 8. descargador script recupera el tercer script (cargador) y lo ejecuta (ver Figura 9).

Figura 8. Mal secuencia de distribución de la secuencia de comandos del desempacador (etapa 1). Observe que la clave se calcula en la variable w2 con el valor 95.

Figura 9. Mal script de descarga de la cadena de distribución (etapa 2). Observe que la clave codificada es la misma que en la etapa anterior.
los cargador El guión es más complicado que las dos primeras etapas. Es específico de la localidad; comprueba el identificador de idioma de la máquina víctima potencial para verificar que realmente proviene del país objetivo de la campaña actual (Brasil o México, respectivamente). También puede detectar algunos entornos virtuales; si se detecta un entorno virtual o no se encuentra el entorno local deseado, el cargador en paz.
De lo contrario, el cargador el script continúa configurando archivos de configuración (descritos en detalle más adelante) y descargando (i) un troyano bancario Mispadu, (ii) un inyector (DLL) utilizado para ejecutarlo y (iii) archivos DLL de soporte legítimo. Cada archivo se descarga en un archivo ZIP separado como se ilustra en la Figura 5. Proporcionamos pseudocódigo para el algoritmo de descifrado en la Figura 10.
def decrypt_payload (data_enc):
clave = data_enc (0)
data_dec = str ()
para i en rango (1, len (data_enc)):
data_dec + = chr (data_enc (i) – ((clave + i – 1)% 10))
volver data_dec
def decrypt_payload(data_enc): llave = data_enc(0 0) data_dec = str() para yo en distancia(1, Len(data_enc)): data_dec + = chr(data_enc(yo) – ((llave + yo – 1) % 10)) regreso data_dec |
Figura 10. Pseudocódigo del algoritmo de descifrado de carga útil de Mispadu
Los servidores de descarga de Mispadu verifican la validez de las solicitudes que reciben. Enviar una solicitud no válida da como resultado una respuesta de imagen obscena que no podemos reproducir aquí.
Finalmente, el cargador El script configura la persistencia creando un enlace en la carpeta de inicio y ejecutando el inyector. Esto se hace a través de rundll32.exe llamando a una función exportada de la DLL del inyector cuyo nombre proviene de uno de los archivos de configuración configurados anteriormente. El inyector localiza el troyano bancario cifrado, luego lo descifra y lo ejecuta.
Encontramos un directorio abierto en uno de los servidores que utiliza Mispadu, y los archivos conectados a una campaña muy similar se almacenaron allí. Esos archivos se pueden usar para configurar una página web que imite AreaVIP (un sitio web sensacionalista en Brasil) y para forzar una actualización falsa de Adobe Flash Player sobre sus posibles víctimas. No hemos observado esa campaña en la naturaleza y creemos que puede ser una configuración para el futuro.
Como la campaña de Mispadu dirigida a Brasil utilizó el acortador de URL Tiny.CC, pudimos recopilar estadísticas. Como se ve en la Figura 11, esta campaña produjo casi 100,000 clics, exclusivamente de Brasil. Es probable que los clics que se originan en Android sean el resultado del hecho de que el anuncio se muestra en Facebook independientemente del dispositivo del usuario. También puede ver que la campaña es recurrente: una fase finalizó en la segunda mitad de septiembre de 2019 y surgió nuevamente a principios de octubre de 2019.
Compartir un archivo adjunto de correo electrónico
Tanto los correos electrónicos no deseados como el sitio web falso de McDonald's son interesantes en un aspecto más: desde donde se descarga el cupón falso. Los operadores de Mispadu abusaron de la plataforma rusa Yandex.Mail para almacenar su carga útil (ver Figura 12). El escenario más probable es que los operadores crearon una cuenta en Yandex.Mail, enviaron un correo electrónico con el cupón malicioso como un archivo adjunto y luego señalaron a la víctima potencial a un enlace directo a este archivo adjunto.

Figura 12. La URL desde la cual se descarga el archivo que contiene el instalador malicioso Mispadu MSI
Configuración
El uso de archivos de configuración es bastante poco común entre los troyanos bancarios latinoamericanos; Sin embargo, en general, Mispadu utiliza tres diferentes y no puede funcionar sin ellos. Todos los archivos de configuración están contenidos u obtenidos por cargador guión descrito anteriormente.
La configuración de ejecución de Mispadu se almacena únicamente en la memoria con los datos descargados de uno de sus servidores de descarga (Servidor remoto 1 en la Figura 5). Contiene tres piezas cruciales de información:
- una cadena necesaria para crear la URL para descargar el inyector
- el nombre de la carpeta donde se instalará el malware
- el nombre de la función exportada del inyector que se llamará para que ejecute el troyano bancario
Los datos de configuración general se colocan en C: Users Public % COMPUTERNAME% (1), siendo nombrada como la segunda letra en el nombre de la computadora de la víctima (por lo que para una computadora llamada "JOHN-PC", el archivo se llamaría "O"). Se crea a partir de los datos contenidos en el cargador script y en el archivo de configuración de ejecución y contiene la información de la versión, la clave criptográfica y las rutas del sistema de archivos.
Los datos de configuración de C&C se almacenan en un archivo en la misma ubicación que el anterior con el mismo nombre de archivo con “_” agregado (“O_”, para continuar con el ejemplo anterior). Consiste en:
- # ip # (un marcador de posición para una dirección IP que utiliza el troyano bancario para recibir comandos de puerta trasera)
- #wp (1-3) # (marcadores de posición para 3 puertos asociados con # ip #)
- dos listas de 31 dominios cada una (lista principal y lista de respaldo)
Mispadu elige sus dominios principales y secundarios de C&C de estas listas en función del día actual del mes. Luego intenta obtener una versión actualizada del archivo de configuración de C&C de ese dominio cada pocas horas y reemplaza el que se cayó con él. Creemos que la idea principal detrás de este enfoque es completar los marcadores de posición para activar la funcionalidad de puerta trasera.
Protege tu Chrome
Es una buena idea, simplemente no lo haga con la extensión maliciosa del navegador Google Chrome que hemos observado que se distribuye junto con el troyano bancario Mispadu en Brasil (ver Figura 13). La extensión (ver Figura 14 se llama "Seguridad (sic) Sistema 1.0 "y pretende ayudarlo a" Protege tu Chrome "(traducción:" Protege tu Chrome "). Consiste en tres archivos JavaScript maliciosos que describimos a continuación.

Figura 13. Parte de la cadena de distribución de Mispadu que cambia cuando también se distribuye la extensión maliciosa de Google Chrome. El resto de la cadena de distribución sigue siendo el mismo.
Componente 1: ventanas manipuladoras
Este componente simple tiene una sola funcionalidad: crea una nueva ventana de Google Chrome y cierra todas las demás. Este componente no estaba presente en todas las muestras que analizamos y creemos que todavía está en la fase de prueba.
Componente 2: robo de datos de tarjeta de crédito
El segundo componente contiene una lista codificada de sitios web. En las páginas servidas desde estos sitios, busca cualquier campo de entrada que contenga "texto", "correo electrónico", "tel", "número", "contraseña" o "radio". Si "CVV", "CÓD SEG" o sus variantes se encuentran en cualquier parte del sitio web, el contenido de esos campos de entrada se envía al atacante cuando la víctima envía la información. Esto revela claramente la intención de esta parte de la extensión: el robo de datos de tarjetas de crédito.
Componente 3: robo de datos bancarios y de boleto
El tercer componente es el más avanzado. Primero, usando un algoritmo similar a DGS, genera dos cadenas basadas en el día actual del mes y el número del mes. Esas cadenas se utilizan para formar una URL de GitHub en forma de https://raw.githubusercontent.com/%FIRST_STRING%/w/master/%SECOND_STRING%,
dónde %PRIMERA CUERDA% es un nombre de usuario de GitHub. Los datos descargados de la URL generada se descifran en una URL diferente que llamaremos URL de carga útil.
Este componente también contiene una lista codificada de sitios web específicos, como lo hizo el anterior. Si la víctima visita uno de estos sitios web, se obtiene un archivo JavaScript malicioso específico de ese sitio web URL de carga útil y cargado dinámicamente a través de la función eval de JavaScript.
Además de eso, este componente también intenta comprometer el uso de Boleto, un sistema de pago popular común en Brasil. El sistema ha sido un objetivo atractivo para los atacantes durante mucho tiempo (puede leer más en este papel desde 2014). Para pagar con este sistema, debe imprimir un boleto (boleto). Contiene principalmente un número de identificación específico de la cuenta bancaria que debe recibir el pago y un código de barras (consulte la Figura 15). El pago se realiza escaneando el código de barras o escribiendo el número de identificación manualmente.
Usando un expresión regular, el componente de malware intenta encontrar el número de identificación y reemplazarlo con el del atacante (obtenido dinámicamente). Además, abusa de un sitio web legítimo para generar el código de barras de pago utilizando el número de cuenta del atacante y reemplaza el legítimo con ese. La parte del código responsable de comprometer a Boleto se muestra en la Figura 16.

Figura 16. La extensión Google Chrome de Mispadu que compromete a Boleto. El código que obtiene el número de cuenta del atacante está marcado en rojo, la generación de códigos de barras maliciosos en verde.
Diferencias entre campañas
Además de las diferencias ya mencionadas y el hecho obvio de que cada variante del troyano bancario Mispadu apunta a un conjunto diferente de bancos dependientes del país de residencia, la campaña brasileña difiere de la mexicana en varios otros aspectos menores.
Parece aleatorizar las rutas del sistema de archivos y los nombres de los archivos donde se almacenan los archivos de configuración y se instala el troyano bancario para cada víctima. Además, el cargador el script contiene una parte que no se usa al momento de escribir pero que está lista para abusar de Windows mshta.exe ejecutar el troyano bancario real en lugar de rundll.exe.
Conclusión
En esta publicación de blog, hemos hablado de Mispadu, otra familia de troyanos bancarios latinoamericanos aislada durante nuestra investigación. Hemos mostrado sus características principales, incluidas las razones por las que lo consideramos un troyano bancario latinoamericano: está escrito en Delphi, apunta a Brasil y México, utiliza ventanas emergentes y contiene funcionalidad de puerta trasera.
Hemos descrito su cadena de distribución más reciente y nos hemos centrado en algunos aspectos interesantes como Yandex. Se ha abusado del correo para almacenar las cargas maliciosas y el uso de anuncios maliciosos de Facebook. También hemos analizado los archivos de configuración utilizados por Mispadu.
Finalmente, hemos hablado de una extensión maliciosa de Google Chrome que hemos visto distribuir a Mispadu en Brasil. El objetivo de esta extensión es robar información de tarjetas de crédito, información bancaria confidencial e intentar robar dinero de sus víctimas comprometiendo el sistema de pago Boleto en Brasil.
Para cualquier consulta, contáctenos a la amenazaintel@eset.com. Los indicadores de compromiso también se pueden encontrar en nuestro repositorio GitHub.
Indicadores de compromiso (IoC)
Hashes
Campaña brasileña
SHA-1 | Descripción | Nombre de detección de ESET |
---|---|---|
A4EDA0DD2C33A644FEEF170F5C24CF7595C19017 | Instalador MSI | VBS / TrojanDownloader.Agent.RVY |
A9BADCBF3BD5C22EEB6FAF7DB8FC0A24CF18D121 | Inyector mispadu | Win32 / Injector.EHXF |
337892E76F3B2DF0CA851CCF4479E56EAF2DB8FD | Mispadu bancario troyano (marca de tiempo de compilación PE 8 Sep, 2019) | Win32 / Spy.Mispadu.C |
A8CD12CC0BBD06F14AA136EA5A9A2E299E450B18 | Mispadu bancario troyano (marca de tiempo de compilación PE 2 oct, 2019) | Win32 / Spy.Mispadu.C |
Campaña mexicana
SHA-1 | Descripción | Nombre de detección de ESET |
---|---|---|
CFE21DBFB97C2E93F099D351DE54099A3FC0C98B | Instalador MSI | VBS / TrojanDownloader.Agent.RVY |
251AC7386D1B376FB1CB0E02BDFC45472387C7BC | Inyector mispadu | Win32 / Injector.EHXF |
A4FC4162162A02CE6FEADFE07B22465686A0EC39 | Mispadu bancario troyano (marca de tiempo de compilación PE 10 Sep, 2019) | Win32 / Spy.Mispadu.J |
710A20230B9774B3D725539385D714B2F80A5599 | Mispadu bancario troyano (fecha de compilación PE 11 Sep, 2019) | Win32 / Spy.Mispadu.J |
Extensión Google Chrome
SHA-1 | Descripción | Nombre de detección de ESET |
---|---|---|
3486F6F21034A33C5425A398839DE80AC88FECA8 | Componente 1 (manipulación de ventanas) | JS / Spy.Banker.DQ |
1D19191FB2E9DED396B6352CBF5A6746193D05E8 | Componente 2 (tarjetas de crédito) | JS / Spy.Banker.DQ |
22E6EBDFAB7C2B07FF8748AFE264737C8260E81E | Componente 3 (datos bancarios y de boleto) | JS / Spy.Banker.DQ |
Aplicaciones potencialmente no deseadas para el robo de credenciales
SHA-1 | Descripción | Nombre de detección de ESET |
---|---|---|
63DCBE2DB9CC14564EB84D5E953F2F9F5C54ACD9 | Robo de credenciales de cliente de correo electrónico | Win32 / PSWTool.MailPassView.E |
8B950BF660AA7B5FB619E1F6E665D348BF56C86A | Robo de credenciales de Google Chrome | Win32 / PSWTool.ChromePass.A |
F6021380AD6E26038B5629189A7ADA5E0022C313 | Robo de credenciales de Mozilla Firefox | Win32 / PSWTool.PassFox.F |
76F70276EB95FFEC876010211B7198BCBC460646 | Ladrón de credenciales de Internet Explorer | Win32 / PSWTool.IEPassView.NAH |
Nombres de archivo
- C: Users Public % COMPUTERNAME% (1)
- C: Users Public % COMPUTERNAME% (1) _
- C: Users Public winx86, libeay32, ssleay32 .dll (archivos DLL legítimos descargados por cargador guión; indicador parcial)
Servidores utilizados
- http: //18.219.25 (.) 133 / br / mp1a 1, sq, sl, ss .aj5
- http: //3.19.223 (.) 147 / br / mp1a 1, sq, sl, ss .aj5
- http: //51.75.95 (.) 179 / la8a 1, sq, sl, ss .ay2
URL de cupones de descuento
- Brasil
- http: // promoscupom (.) cf /
- http: //mcdonalds.promoscupom (.) cf / index3.html
- Mexico
- http: //mcdonalds.promoscupom (.) cf / index2.html
Billetera Bitcoin
- 3QWffRcMw6mmwv4dCyYZsXYFq7Le9jpuWc
Técnicas MITRE ATT y CK
Táctica | CARNÉ DE IDENTIDAD | Nombre | Descripción |
---|---|---|---|
Acceso inicial | T1192 | Enlace de pesca submarina | En las campañas de spam de Mispadu, la víctima es llevada a la carga por un enlace malicioso. |
Ejecución | T1085 | Rundll32 | El troyano bancario Mispadu es ejecutado por un inyector que se ejecuta a través de rundll32.exe. |
Persistencia | T1176 | Extensiones de navegador | La variante Mispadu dirigida a Brasil utiliza una extensión de navegador Google Chrome. |
T1060 | Claves de ejecución del registro / Carpeta de inicio | Mispadu asegura la persistencia al crear un enlace en la carpeta de inicio. | |
Evasión de defensa | T1140 | Desobuscar / decodificar archivos o información | Mispadu utiliza archivos de configuración codificados. |
T1036 | Disfraces | Mispadu se disfraza como un cupón de descuento. | |
T1064 | Scripting | Mispadu utiliza VBS exclusivamente en sus cadenas de distribución. | |
Acceso de credenciales | T1056 | Captura de entrada | Mispadu puede ejecutar un keylogger. Su extensión Google Chrome intenta robar información confidencial a través de la captura de entrada. |
T1081 | Credenciales en archivos | Mispadu utiliza otras herramientas para extraer credenciales para clientes de correo electrónico y navegadores web de archivos. | |
T1214 | Credenciales en el registro | Mispadu utiliza otras herramientas para extraer credenciales para clientes de correo electrónico y navegadores web del Registro de Windows. | |
Descubrimiento | T1083 | Descubrimiento de archivos y directorios | Mispadu busca varias rutas del sistema de archivos para determinar qué aplicaciones están instaladas en la máquina de la víctima. |
T1057 | Descubrimiento de procesos | Mispadu busca varios nombres de procesos para determinar qué aplicaciones se están ejecutando en la máquina de la víctima. | |
T1063 | Descubrimiento de software de seguridad | Mispadu escanea el sistema en busca de software de seguridad instalado. | |
T1082 | Descubrimiento de información del sistema | Mispadu extrae la versión del sistema operativo, el nombre de la computadora y la identificación del idioma. | |
Colección | T1115 | Datos del portapapeles | Mispadu captura y reemplaza las billeteras de bitcoin en el portapapeles. |
T1113 | La captura de pantalla | Mispadu contiene un comando para tomar capturas de pantalla. | |
Comando y control | T1024 | Protocolo criptográfico personalizado | Mispadu utiliza un protocolo criptográfico personalizado para proteger sus datos. |
Exfiltración | T1041 | Exfiltración sobre el canal de comando y control | Mispadu envía los datos que recopila a su servidor de C&C. |