Investigadores del laboratorio de malware ESET Praga decidieron analizar en detalle los troyanos bancarios conocidos por dirigirse a Brasil. A partir de su análisis, los investigadores identificaron más de 10 nuevas familias de malware (que además de Brasil apuntan también a otros países de América Latina, como México y Chile) y analizaron su comportamiento. En este primer artículo de la serie sobre troyanos bancarios de América Latina, analizamos en detalle la primera familia de troyanos: Amavaldo.

Cabe destacar que los troyanos bancarios de América Latina presentan particularidades que los distinguen, ya que además de estar dirigidos mayoritariamente a países en los que se habla español y portugués, están escritos en Delphi, contienen funcionalidades de backdoor y abusan de programas y herramientas legítimas para infectar a sus víctimas; además de utilizar algoritmos criptográficos poco conocidos.

En el artículo “Troyanos bancarios de América Latina: análisis de nuevas familias de malware”, se explica con más detalle las particularidades de este tipo de troyanos.

Para infectar a sus víctimas utilizan un único downloader, el cual consiste en un archivo ejecutable de Windows que muchas veces simula ser el instalador de un software legítimo. Además, hacen uso de técnicas de ingeniería social para lograr que la víctima lleve adelante una acción relacionada con su banco, como puede ser, por ejemplo, la verificación de los datos de una tarjeta de crédito. En este sentido, este tipo de troyano bancario monitorea las ventanas activas en el equipo de la víctima y en caso de que detecte una ventana relacionada con una entidad bancaria, el malware entra en acción desplegando una falsa ventana emergente que suplanta la identidad de dicha entidad bancaria para, por ejemplo, robar datos privados de la víctima.

Análisis de Amavaldo

Nombramos a la familia de malware que describimos en el resto de este artículo como “Amavaldo”. Esta familia aún está en activo desarrollo –la última versión que observamos (10.7) presenta una fecha de compilación del 10 de junio de 2019.

Este es un ejemplo de un malware modular cuyo payload final en archivo ZIP contiene tres componentes:

  1. Una copia de una aplicación legítima (EXE)
  2. Un injector (DLL)
  3. Un troyano bancario cifrado (descifra en una DLL)

La Figura 1 muestra los contenidos de un archivo ZIP de ejemplo que contiene el payload final de Amavaldo.

 

Figura 1: Componentes de Amavaldo extraidos en una carpeta. Los componentes son: ctfmon.exe (aplicación legítima), MsCtfMonitor (troyano bancario cifrado), MsCtfMonitor.dll (injector)

 

El downloader guarda todos los contenidos del archivo ZIP en el disco duro en la misma carpeta. El injector tiene un nombre que fue elegido para coincidir con el de la DLL utilizada por la aplicación legítima empaquetada. Antes de que el downloader termine de ejecutarse, ejecuta la aplicación legítima. Entonces:

  • El injector es ejecutado vía DLL Side-Loading
  • El injector se auto inyecta en wmplayer.exe o iexplore.exe
  • El injector busca el troyano bancario cifrado (un archivo sin extensión cuyo nombre coincide con el del injector DLL)
  • Si tal archivo es encontrado, el injector descifra y ejecuta el troyano bancario

Características

Además de la estructura modular, la característica de identificación más fuerte es el esquema de cifrado personalizado utilizado para la ofuscación de strings (Figura 2). Como se puede apreciar, aparte de la llave (verde) y datos cifrados (azul), el código también está rellenado con strings basura (rojo) que nunca son utilizados. Creamos un pseudo código simplificado en la Figura 3 para destacar la lógica del algoritmo. Esta rutina de manipulación de strings es utilizada por el propio troyano bancario, el inyector e incluso el downloader que describiremos más adelante. A diferencia de muchos otros troyanos bancarios de América Latina, esta rutina no parece haber sido inspirada por el libro mencionado anteriormente.

 

Figura 2: Ofuscación de string en Amavaldo

 

Figura 3. Pseudocódigo de descifrado de string de Amavaldo

 

Adicionalmente, las últimas versiones de estas familias pueden identificarse por un mutex que parece tener siempre el mismo nombre“D7F8FEDF-D9A0-4335-A619-D3BB3EEAEDDB}”.

Amavaldo primero recopila información sobre la víctima que consiste en:

  • Identificación de la computadora y el SO
  • Qué tipo de protección bancaria tiene la víctima instalada. La información es reunida mediante la búsqueda de las siguientes rutas del sistema de archivos:
    • %ProgramFiles%\Diebold\Warsaw
    • %ProgramFiles%\GbPlugin\
    • %ProgramFiles%\scpbrad\
    • %ProgramFiles%\Trusteer
    • %ProgramFiles%\AppBrad\
    • %LocalAppData%\Aplicativo Itau

La versiones más nuevas se comunican a través de SecureBridge, una librería en Delphi que ofrece conexiones SSH/SSL.

Al igual que otros troyanos bancarios, Amavaldo soporta varios comandos de backdoor. Las capacidades de estos comandos incluyen:

  • Obtener capturas de pantalla
  • Capturar fotos de la víctima a través de la cámara web
  • Registro del texto que se introduce a través del teclado
  • Descargar y ejecutar otros programas
  • Restringir accesos a varios sitios bancarios
  • Simulación de teclado y ratón
  • Auto actualización

Amavaldo utiliza una técnica inteligente al momento de lanzar el ataque a su víctima que es similar a lo que realiza Windows UAC. Luego de detectar una ventana relacionada a un banco, realiza una captura de pantalla del escritorio y hace que se vea como el nuevo fondo de pantalla. Luego despliega una falsa ventana emergente que es elegida en base al texto de la ventana activa mientras deshabilita múltiples atajos de teclado y previene que la víctima interactúe con cualquier cosa adicional que no sea la ventana emergente.

Sólo bancos de Brasil habían sido apuntados cuando encontramos por primera vez esta familia de malware, pero a partir de abril de 2019 extendió su rango a bancos de México. Aunque los bancos de Brasil apuntados siguen presentes en el malware, de acuerdo a nuestros análisis, en la actualidad los operadores detrás de esta amenaza se están enfocando solo en México.

Distribución

Fuimos capaces de observar dos cadenas de distribución – una a principios de este año y una segunda desde Abril.

Cadena de distribución 1: dirigida a Brasil

Observamos por primera vez esta cadena apuntando a víctimas de Brasil en enero de 2019. Los autores decidieron utilizar un instalador MSI, VBS, XSL (Extensible Stylesheet Language) y PowerShell para su distribución.

Toda la cadena comienza con el instalador MSI que para la víctima instalará Adobe Acrobat Reader DC. Utiliza dos ejecutables legítimos: AICustAct.dll (para detectar cualquier conexión a Internet disponible) y VmDetect.exe (para detectar entornos virtuales).

 

Figura 4: Mensaje de error cuando el downloader corre dentro de una máquina virtual (izquierda) o sin conexión a Internet (derecha).

 

Una vez que el falso instalador es ejecutado, utiliza un archivo embebido que, además de los strings, contiene un downloader VBS empaquetado (Figura 5). Después de desempaquetarlo (Figura 6), descarga otro downloader VBS (Figura 7). Observe que el segundo downloader VBS abusa del WMIC.exe de Microsoft Windows para descargar la siguiente etapa: un script XSL (Figura 8) con un PowerShell codificado y embebido. Finalmente, el script de PowerShell (Figura 9) es responsable de descargar el payload final: un archivo zip con varios archivos, enlistados en la Tabla 1. También asegura persistencia mediante la creación de una tarea programada llamada GoogleBol.

 

Figura 5. La primera etapa. Un downloader VBS empaquetado (destacado en rojo) embebido dentro del instalador MSI.

 

Figura 6: La primera etapa desempaquetada.

 

Figura 7: La segunda etapa desempaquetada. Se abusa de WMIC.exe para ejecutar la etapa siguiente.

 

Figura 8: La tercera etapa. Un script XSL largo que contiene un script PowerShell codificado embebido (destacado en rojo)

 

Figura 9: La cuarta etapa (final). Un script PowerShell ofuscado que descarga el payload final y lo ejecuta.

 

nvsmartmaxapp.exe Legitimate application 1
NvSmartMax.dll Injector 1
NvSmartMax Payload 1
Gup.exe Legitimate application 2
libcurl.dll Injector 2
Libcurl Payload 2
gup.xml Configuration file for gup.exe

Tabla 1: Contenidos del archivo final del payload y sus descripciones

 

En la Tabla 1 se puede observar dos grupos de payloads e injectors, ambos utilizando el método de ejecución descrito anteriormente. El NvSmartMax[.dll] ha sido utilizado para ejecutar Amavaldo. El libcurl[.dll] no está relacionado directamente con Amavaldo, dado que ejecuta una herramienta que es utilizada para registrar automáticamente una gran cantidad de direcciones de correo utilizando la plataforma de correo Brasil Online (BOL). Estos inicios de sesión y contraseñas de correo son enviadas de vuelta al atacante. Creemos que serán utilizados u para una nueva campaña de spam.

Cadena de distribución 2: dirigida a México

La cadena de infección más reciente que hemos observado comienza con un instalador MSI muy similar. La diferencia es que, esta vez, contiene un ejecutable de Windows embebido que funciona como downloader. El instalador termina el proceso con un falso mensaje de error (Figura 10). Justo después, el downloader es ejecutado. La persistencia es asegurada mediante la creación de una tarea programada (al igual que en la primera cadena), aunque en esta oportunidad es nombrada Adobe Acrobat TaskB (Figura 11). Luego, descarga todos los componentes de Amavaldo (en esta oportunidad no observamos ninguna herramienta de correo) y ejecuta el troyano bancario.

 

Figura 10: El falso mensaje de error desplegado por el instalador

 

Figura 11: La tarea programada creada por el downloader

 

Creemos que las compañías han estado siendo apuntadas a través de campañas de spam mediante este método. Los archivos iniciales fueron nombrados CurriculumVitae[…].msi o FotosPost[…].msi. Creemos que las víctimas son engañadas para que hagan clic en un enlace que viene en un correo que los lleva a descargar lo que ellos creen que es un CV. Dado que debería ser un PDF, que se ejecute la instalación de Adobe Acrobat Reader DC podría parecer una acción legítima en ese contexto.

Desde que los autores decidieron utilizar el acortador de URL bit.ly, hemos podido obtener información adicional acerca de sus campañas (Figuras 12 y 13). Como se puede observar, la gran mayoría de clics en esas URLs fueron realizados desde México. El hecho de que el correo es la referencia más frecuente refuerza nuestra teoría sobre el spam como principal vector de distribución.

 

Figura 12: Estadísticas de una reciente campaña de Amavaldo dirigida a México (1).

 

Figura 13: Estadísticas de una reciente campaña de Amavaldo dirigida a México (2).

Conclusión

En este artículo, hemos introducido nuestra investigación sobre los troyanos bancarios de América Latina. Hemos descrito el comportamiento típico de este tipo de malware y cómo opera. También hemos presentado cuáles han sido las principales características que utilizamos para establecer familias de malware.

En este sentido, con Amavaldo hemos descrito a la primera familia de malware junto a sus principales características y blancos, y también analizado en detalle recientes cadenas de distribución. Amavaldo comparte muchas de las típicas características de un troyano bancario de América Latina. Divide sus funcionalidades en varios componentes, por lo que tener un solo componente no es suficiente para el análisis. Abusa de aplicaciones legítimas para ejecutarse automáticamente y para detectar entornos virtuales. Intenta robar información de bancos de Brasil y México y también contiene funcionalidades de backdoor.

Fuente: welivesecurity.com

Compartir