A fines de 2017, un grupo de investigadores del laboratorio de malware ESET Praga decidieron analizar en profundidad los infames troyanos bancarios escritos en Delphi que son conocidos por afectar a Brasil. Extendimos nuestro foco hacia otras partes de América Latina (México y Chile) poco después de notar que muchos de estos troyanos bancarios apuntaban a estos países también. Nuestro objetivo principal era descubrir si existe una forma de clasificar estos troyanos bancarios y aprender más sobre su comportamiento en general.

Hemos aprendido mucho –hemos identificado más de 10 nuevas familias de malware, estudiado las cadenas de distribución y las hemos asociado a las nuevas familias de manera acorde, además de haber analizado su comportamiento interno.

Así fue que decidimos trabajar en una serie de artículos (que publicaremos con una frecuencia bimensual aproximadamente) en los que compartiremos los resultados de nuestra investigación y el análisis de cada una de las familias que se identificaron. Al final de esta publicación iremos colocando el enlace a cada uno de los artículos correspondiente al análisis de cada una de las familias de troyanos bancarios, en la medida en que vayan siendo publicados.

¿Cuáles son las particularidades de los troyanos bancarios de América Latina?

Antes de seguir avanzando, definiremos las características de este tipo de troyano bancarios:

  • Es escrito en el lenguaje de programación Delphi
  • Contiene funcionalidades de backdoor
  • Utiliza largas cadenas de distribución
  • Puede que divida sus funcionalidades en múltiples componentes
  • Suele aprovecharse de herramientas legítimas y programas informáticos
  • Apunta a países en los que se habla español o portugués

Hemos encontrado otras características comunes durante nuestra investigación. En este sentido, la mayoría de los troyanos bancarios de América Latina que hemos analizado se conectan al servidor de C&C y se mantienen conectados a la espera de recibir cualquier comando que envíe el servidor. Una vez que reciben un comando, lo ejecutan y esperan a recibir uno nuevo. Los comandos probablemente sean enviados de forma manual por los atacantes. Puede pensarse en esta forma de operar como si fuese una sala de chat en la que todos los miembros reaccionan a lo que el administrador escribe.

La dirección del servidor C&C parece ser la información que los autores de estos malware protegen más. Hemos encontrado muchas formas diferentes de esconder la actual dirección; algo que discutiremos en esta serie de artículos. Además del servidor de C&C, una URL diferente es utilizada por el malware para enviar información sobre la identificación de la víctima. Esto ayuda al atacante a mantener un registro de las infecciones exitosas.

Los troyanos bancarios de América Latina suelen utilizar algoritmos criptográficos generalmente desconocidos y es común que diferentes familias utilicen los mismos. Hemos identificado un libro y una librería gratuita en Delphi  en la que aparentemente los autores se inspiraron.

El hecho de que este malware esté escrito en Delphi indica que los archivos ejecutables son de al menos unos pocos megabytes de tamaño porque el núcleo de Delphi está presente en cada binario. Adicionalmente, la mayoría de los troyanos bancarios en América Latina contienen un gran número de recursos, lo que provoca un gran incremento en el tamaño de los archivos. En este sentido, hemos incluso descubierto muestras con tamaños de archivos que alcanzan varios cientos de megabytes. En esos casos, el tamaño del archivo se incrementó de manera deliberada con el objetivo de evitar la detección.

Descubriendo familias de malware

Cuando analizamos tales ejecutables, no resulta difícil determinar rápidamente que se trata de un troyano bancario malicioso. Junto a las características anteriormente mencionadas, los autores tienden a copiar el trabajo realizado por otros o elaborar su malware a partir de una fuente común. Como consecuencia de ello, la mayoría de los troyanos bancarios terminan siendo similares entre sí. Esta es la razón principal por la que generalmente solo vemos detecciones genéricas.

Nuestra investigación comenzó con la identificación de fuertes características que nos permitiesen establecer familias de malware. Con el tiempo, fuimos capaces de hacer esto y de identificar más de 10 nuevas familias diferentes. Las características que hemos utilizado fueron principalmente cómo están almacenados los strings, cómo se obtiene la dirección del servidor C&C y otras similitudes de código.

Siguiendo la cadena de distribución

La manera más sencilla en la que estos troyanos bancarios son distribuidos es mediante la utilización de un único downloader (un archivo ejecutable de Windows) específico para esa familia. Este downloader algunas veces se hace pasar por el instalador de un software legítimo. Este método es simple, pero también el menos común.

Mucho más común es utilizar una cadena de distribución de múltiples etapas que típicamente emplea varias capas de downloaders escritos en lenguajes de scripting, tales como JavaScript, PowerShell o Visual Basic Script (VBS). Este tipo de cadena típicamente consiste de al menos tres etapas. El payload final es comúnmente entregado a través de un archivo zip que contiene, ya sea el troyano bancario solamente o componentes adicionales junto a él. La principal ventaja que los autores del malware obtienen a partir de este método es que resulta muy complicado para investigadores de malware llegar al final de la cadena y por lo tanto analizar el payload final. Sin embargo, también es más sencillo para una solución antivirus detener la amenaza porque solo necesita romper un eslabón de la cadena.

Estrategia para el robo de dinero

A diferencia de la mayoría de los troyanos bancarios, los de América Latina no utilizan la inyección web, sino que utilizan una forma de ingeniería social.  De forma continua detectan las ventanas activas en la computadora de la víctima y si encuentran una relacionada con una institución bancaria, lanzan su ataque.

El propósito del ataque es casi siempre persuadir al usuario para que lleve adelante una acción especial y/o urgente. Esto puede ser la actualización de la aplicación bancaria utilizada por la víctima, o la verificación de la información tanto de una tarjeta de crédito como de las credenciales de acceso a la cuenta bancaria. De esta manera, una falsa ventana emergente es utilizada para robar estos datos una vez que la víctima los ingresa (Figura 1) o se utiliza también un teclado virtual que actúa como un keylogger (Figura 2). La información sensible es entonces enviada al atacante, quien hará uso de esta información de la manera en que considere más conveniente.

Figura 1: Falsa ventana emergente que intenta robar un código de autorización.

Figura 2: Teclado virtual con un keylogger. En la descripción de la imagen se aprecia cómo se solicita a la víctima ingresar la contraseña utilizando los botones.

 

Análisis de familias de troyanos bancarios dirigidos a América Latina

A continuación podrás encontrar los enlaces hacia los artículos con el análisis técnico y del comportamiento de las distintas famlias de troyanos bancarios dirigidos a América Latina que iremos publicando de forma bimensual.