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 esta serie : mostrando ventanas emergentes falsas y tratando de persuadir a las posibles víctimas 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 del ordenador
- 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 puede identificarse mediante 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.
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.
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, hacer clic en el botón allí lleva a descargar 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.
Cuando la víctima potencial ejecuta el instalador MSI, sigue una cadena de tres secuencias de comandos VBS posteriores. El primer script ( desempacador ) descifra y ejecuta el segundo script ( descargador ) a partir de sus datos internos, como se ve en la Figura 8. El script del descargador recupera el tercer script ( cargador ) y lo ejecuta (consulte la Figura 9).
El script del cargador 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 se cierra.
De lo contrario, el script del cargador 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.
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 script del cargador configura la persistencia creando un enlace en la carpeta de inicio y ejecutando el inyector. Esto se realiza 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 previamente. 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. Los clics que se originan en Android son probablemente 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 para ellos y luego señalaron a la víctima potencial a un enlace directo a este archivo adjunto.
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 el script del cargador 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] , y se nombran 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á «O «). Se crea a partir de los datos contenidos en el script del cargador 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 (consulte la Figura 14 se llama «Securty [ sic ] System 1.0″ y pretende ayudarlo a «Protege seu Chrome» (traducción: «Proteja su Chrome»). Consiste en tres archivos JavaScript maliciosos que describimos a continuación.
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% ,
donde % FIRST_STRING% 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 de la URL de carga útil y se carga dinámicamente a través de la función de evaluación de JavaScript.
Además de eso, este componente también intenta comprometer el uso de Boleto , un popular sistema de pago común en Brasil. El sistema ha sido un objetivo atractivo para los atacantes durante mucho tiempo (puede leer más en este documento de 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 una 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.
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 archivo donde se almacenan los archivos de configuración y se instala el troyano bancario para cada víctima. Además, el script del cargador contiene una parte que no se usa en el momento de la escritura, pero que está lista para abusar de Windows mshta.exe para 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.
Fuente: welivesecurity.com