Ousaban es un troyano bancario latinoamericano activo exclusivamente en Brasil. ESET ha estado siguiendo los pasos de esta familia de malware desde 2018, y al igual que la mayoría de los otros troyanos bancarios de América Latina que hemos analizado como parte de esta serie, Ousaban también usa ventanas emergentes superpuestas para robar credenciales y otra información adicional de las instituciones financieras. Sin embargo, a diferencia de la mayoría de los otros troyanos bancarios latinoamericanos, los desarrolladores de Ousaban han extendido el uso de ventanas superpuestas para robar credenciales de populares servicios de correo electrónico regionales. En este artículo de nuestra serie analizamos sus principales características y muchas conexiones con otras familias de troyanos bancarios latinoamericanos.

Características

Al igual que la gran mayoría de los otros troyanos bancarios latinoamericanos que ESET está monitoreando, Ousaban está escrito en Delphi y también muestra signos de desarrollo activo y continuo.

El nombre que ESET asignó a esta familia es una combinación de dos palabras: "ousadia", que significa "audacia" en portugués, y el término en inglés "banking trojan”. La razón de tal nombre se debe a que durante mucho tiempo Ousaban se distribuyó junto con las imágenes (algunas de ellas obscenas) que se muestran en la Imagen 1, aunque en las campañas de distribución más recientes de Ousaban, este ya no es el caso.

Imagen 1. Varias imágenes distribuidas junto con el troyano bancario Ousaban

Ousaban también es conocido como Javali, nombre que le asignó Kaspersky, y puede encontrar un artículo reciente sobre este troyano aquí. Por otra parte, ESET también ha podido atribuir a Ousaban a las campañas descritas en esta publicación de 2018. Aunque algunas fuentes afirman que Ousaban está activo en Europa, ESET nunca ha observado ninguna campaña que propague este troyano bancario fuera de Brasil.

Ousaban protege sus ejecutables con los ofuscadores binarios Themida o Enigma. Además, la mayoría de los EXE son agrandados mediante el relleno de binario a aproximadamente 400 MB, probablemente para evadir la detección y el procesamiento automatizado.

Las variantes más recientes de Ousaban contienen una tabla de string para retener sus strings, y almacenan esta tabla en sus seciones .rsrc. Uno de los recursos contiene una lista strings comprimida en zlib delimitadas por caractéres de nueva línea.

Sus capacidades de backdoor son muy similares a las de un típico troyano bancario latinoamericano: simula acciones del mouse y el teclado y registra las pulsaciones del teclado (keylogging). Las últimas variantes se comunican con los servidores de C&C mediante RealThinClient, un protocolo que también utiliza Grandoreiro.

El típico troyano bancario latinoamericano ataca a los usuarios clientes de bancos mediante ventanas emergentes superpuestas diseñadas específicamente para sus objetivos y Ousaban no es la excepción. Curiosamente, sin embargo, sus objetivos incluyen varios servicios de correo electrónico para los cuales también tiene preparadas ventanas emergentes superpuestas, como se ilustra en la Imagen 2.

Imagen 2. Diseño de ventana superpuesta para el servicio de correo electrónico de UOL

Para lograr la persistencia, Ousaban crea un archivo LNK o un simple loader en VBS en la carpeta de inicio, o modifica la Run key del registro de Windows.

Distribución y ejecución

Ousaban se distribuye principalmente a través de correos electrónicos de phishing (como el de la Imagen 3). El actor de amenazas detrás de Ousaban pasa por múltiples cadenas de distribución. Estas cadenas comparten algunas características comunes, principalmente:

  • La carga lateral de DLL se utiliza para ejecutar un payload binario
  • A veces se utilizan archivos CAB en lugar de ZIP
  • Un archivo de configuración distribuido dentro de un archivo con una sola etapa es requerido para la siguiente etapa
  • Podría ser utilizado un injector exclusivo de Ousaban

Imagen 3. Reciente correo de spam que distribuye Ousaban (se proporciona una traducción aproximada en inglés a la derecha)

MSI con JavaScript

Esta cadena de distribución, ilustrada en la Imagen 4, es bastante sencilla. Se engaña a la víctima para que ejecute un archivo MSI adjunto al correo electrónico de phishing. Cuando se ejecuta, el MSI lanza un downloader en JavaScript embebido que descarga un archivo ZIP y extrae su contenido. Luego ejecuta la aplicación legítima, que carga lateralmente el troyano bancario Ousaban.

Imagen 4. Cadena de distribución simple de Ousaban

MSI de múltiples etapas

Recientemente, ESET ha observado una nueva cadena de distribución propagando Ousaban masivamente. Es mucho más compleja que la que se describió anteriormente. El proceso completo se ilustra en la Imagen 5.

Las dos primeras etapas son casi idénticas. En ambas, la parte principal de la etapa está dentro de un archivo (ZIP o CAB) y contiene:

  • Una aplicación legítima
  • Un injector cifrado
  • Un downloader cifrado
  • Un archivo de configuración cifrado
  • Archivos legítimos

Una vez que se ejecuta la aplicación legítima la misma carga lateralmente el injector. Este injector localiza, descifra y ejecuta el downloader. El downloader descifra el archivo de configuración para obtener una URL que conduce a una configuración remota. La configuración remota contiene una URL que conduce al archivo de la siguiente etapa. El downloader descarga el archivo de la siguiente etapa, extrae su contenido y ejecuta la aplicación legítima.

La etapa final es ligeramente diferente, ya que descifra y ejecuta el troyano bancario Ousaban real en lugar de un downloader. El tercer archivo de configuración conduce a una configuración remota con la dirección IP y el puerto del servidor de C&C. El archivo con la última etapa contiene un archivo más: un módulo de soporte que altera varias configuraciones de la máquina de la víctima. Finalmente, los archivos para las tres etapas incluyen archivos adicionales: un único ejecutable legítimo en el archivo de la primera etapa, 14 archivos legítimos en el archivo de la segunda etapa y 13 archivos legítimos en el archivo de la tercera etapa más un archivo embebido que contiene 102 archivos legítimos adicionales.

Imagen 5. Cadena de distribución compleja de Ousaban

Módulo de soporte

Ousaban carga este módulo para facilitar que el actor de amenazas se conecte a la máquina de la víctima. Principalmente:

  • Modifica la configuración del RDP para usar RDPWrap, una utilidad que permite múltiples conexiones RDP a las ediciones Home del sistema operativo Windows
  • Modifica la configuración del firewall para permitir todas las conexiones RDP
  • Crea una nueva cuenta con privilegios administrativos

El módulo contiene los binarios RDPWrap almacenados en su sección .rsrc. Luego cambia la configuración del RDP directamente en el registro de Windows en:

  • HKLM\SYSTEM\CurrentControlSet\Services\TermService\
  • HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\

Luego, el módulo usa netsh.exe para modificar el firewall de Windows para permitir todo el tráfico TCP y UDP dirigido al puerto 3389, el puerto estándar para RDP. Finalmente, crea una nueva cuenta Administrat0r con privilegios de administrador. Nuestra hipótesis es que el actor de la amenaza quiere tener una segunda forma de acceder a la máquina de la víctima para no estar limitado por las capacidades del troyano bancario Ousaban y poder realizar cualquier actividad maliciosa.

Criptografía

Ousaban utiliza en general tres esquemas criptográficos. Sus strings están cifradas con un algoritmo utilizado por la gran mayoría de troyanos bancarios latinoamericanos que hemos analizado (podrá encontrar una descripción detallada del mismo en este análisis de Casbaneiro). Todas las comunicaciones entre Ousaban y su servidor C&C se cifran utilizando el cifrado AES estándar con una clave hardcodeada.

El algoritmo final se utiliza en el injector específico para esta familia que mencionamos previamente. Proporcionamos una implementación en Python en la Imagen 6.

def decrypt(data, key):
	data_dec = str()
	key_len = len(key)
	for i, c in enumerate(data):
		if i % 2 != 0:
			data_dec += chr(key[i % key_len ^ c ^ ((key_len - (i & key_len)) & 0xFF)])
		else
			data_dec += chr(key[i % key_len] ^ c ^ (i & 0xFF))

	return data_dec

Imagen 6. Algoritmo utilizado por el injector de Ousaban para descifrar sus payloads

Configuración remota

Ousaban se apoya en la configuración remota para obtener las URL de la siguiente etapa y la dirección y el puerto del C&C que se utilizará. Ousaban solía almacenar su configuración remota en YouTube, similar a Casbaneiro, pero últimamente ha comenzado a usar Google Docs en su lugar.

La configuración remota está en formato JSON y los valores se cifran mediante el mismo algoritmo utilizado para las strings, pero con una clave diferente. Los campos tienen el siguiente significado:

  • host = dominio del C&C
  • link = URL de la siguiente etapa
  • porta = puerto del C&C o 0 (luego se usa el puerto HTTP 80 predeterminado)
  • vers = versión de Ousaban

En la Imagen 7 y la Imagen 8 se proporcionan ejemplos de la configuración remota.

Imagen 7. Configuración remota de Ousaban en YouTube 

Imagen 8. Configuración remota de Ousaban en Google Docs

 

Similitudes con otros troyanos bancarios de LATAM

Ya hemos mencionado algunas similitudes entre Ousaban y otros troyanos bancarios latinoamericanos analizados anteriormente como parte de esta serie (como el mismo algoritmo de descifrado de strings). A continuación, compartimos algunos vínculos adicionales con las otras familias que hemos descubierto durante nuestro análisis:

  • Algunos downloaders de Ousaban contienen el mismo código de ofuscación de strings que Amavaldo
  • Ousaban ha sido distribuido por los mismos anuncios maliciosos que Mispadu en el pasado.
  • Los archivos de JavaScript que utiliza son similares a Vadokrist, Mekotio, Casbaneiro y Guildma
  • Los archivos de PowerShell que ocasionalmente usa para la distribución (además de los métodos recientes descritos en esta publicación) son similares a Amavaldo, Casbaneiro y Mekotio

Analizamos en profundidad la interesante cooperación estrecha que existe entre estas familias de malware en nuestro white paper presentado en la conferencia Virus Bulletin 2020.

Conclusión

En esta entrega de nuestra serie sobre troyanos bancarios de América Latina analizamos Ousaban, un troyano que apunta solo a Brasil. Esta familia de malware ha estado activa desde al menos 2018 y comparte las características típicas de este tipo de amenaza: está escrito en Delphi, contiene funcionalidad de backdoor e implementa para sus ataques el uso de ventanas superpuestas.

Hemos cubierto sus principales características, métodos de distribución y ejecución y la estructura de su configuración remota. También descubrimos varias pistas que sugieren que Ousaban está vinculado a algunos otros troyanos bancarios latinoamericanos.

Por cualquier consulta, escríbanos threatintel@eset.com. Los indicadores de compromiso también se pueden encontrar en nuestro repositorio de GitHub .

Indicadores de Compromiso (IoCs)

Hashes

SHA-1 Description ESET detection name
C52BC5B0BDFC7D4C60DF60E88835E3145F7FB34F Ousaban banking trojan Win32/Spy.Ousaban.G
D04ACFAF74861DDC3B12E75658863DA65C03013F Ousaban JS downloader JS/TrojanDownloader.Banload.AAP
9A6A4BF3B6E974E367982E5395702AFF8684D500 Ousaban JS downloader JS/TrojanDownloader.Banload.AAP
3E8A0B6400F2D02B6B8CD917C279EA1388494182 Ousaban MSI downloader Win32/Spy.Ousaban.W
6946BFB8A519FED8EC8C30D9A56619F4E2525BEA Ousaban injector Win32/Spy.Ousaban.W
E5DD2355E85B90D2D648B96C90676604A5C3AE48 Ousaban support module Win32/Spy.Ousaban.AB

Aplicaciones legítimas abusadas

Example SHA-1 EXE name DLL name
BA5493B08354AEE85151B7BBD15150A1C3F03D1D Avira.SystrayStartTrigger.exe Avira.OE.NativeCore.dll
7F6C820B00FC8C628E2420C388BBB9096A547DAA AudioGrabber.exe StarBurn.dll
C5D5CF1B591C40344B20370C5EE5275356D312EC PlGen.exe bass_fx.dll
53045B8047CED049BBC7EBCB3D3299D2C465E8B9 BlazeDVD.exe SkinScrollBar.dll
A6118D354D512DC29965E368F6C78AA3A42A27AD ImageGrabber.exe StarBurn.dll
F9C71277CF05738275261D60A9E938CBA7232E0D nvsmartmaxapp.exe nvsmartmax.dll

URL de archivos de configuración recientes

https://docs.google[.]com/document/d/1o9MlOhxIJq9tMOuUHJiw2eprQ-BGCA_ERnbF54dZ25w/edit
https://docs.google[.]com/document/d/1nQqifeYFsCcI7m-L1Y1oErkp50c-y670nfk7NTKOztg/edit
https://docs.google[.]com/document/d/13A6EBLMOOdvSL3u6IfyrPWbYREXNRVdDTiKzC6ZQx7U/edit
https://docs.google[.]com/document/d/1UiuqrzI_rrtsJQHqeSkp0sexhwU_VSje8AwS-U6KBPk/edit
https://docs.google[.]com/document/d/1VKxF3yKbwQZive-ZPCA4dAU1zOnZutJxY2XZA0YHa3M/edit
https://docs.google[.]com/document/d/19bXTaiFdY5iUqUWXl92Js7i9RoZSLJqcECgpp_4Kda4/edit
https://docs.google[.]com/document/d/1DDDmJzBVcNWhuj8JMRUVb7JlrVZ5kYBugR_INSS96No/edit
https://docs.google[.]com/document/d/1UbfOcHm-T9GCPiitqDRh5TNwZRNJ8_miEpLW-2ypU-I/edit
https://docs.google[.]com/document/d/1d1903AvDBYgOo0Pt9xBBnpCHwSerOpIi4l1b6M4mbT4/edit
https://docs.google[.]com/document/d/1JLuJKoxcd0vRqut8UeBjFJXzMDQ9OiY2ItoVIRq6Gw8/edit
https://docs.google[.]com/document/d/1EOwVDlYPV3gE7PSnLZvuTgUQXvOSN9alyN5aMw7bGeI/edit
https://docs.google[.]com/document/d/18sc6rZjk529iYF2iBTsmuNXvqDqTBSH45DhSZpuLv_U/edit

Técnicas de MITRE ATT&CK

Nota: esta table fue creada utilizando la versión 8 del framework MITRE ATT&CK

Tactic ID Name Description
Resource Development T1583.001 Acquire Infrastructure: Domains Ousaban operators register domains to be used as C&C servers.
T1587.001 Develop Capabilities: Malware Ousaban is operated by the same group that develops it.
Initial Access T1566.001 Phishing: Spearphishing Attachment Ousaban’s initial downloader is most commonly distributed as a spam attachment.
Execution T1059.001 Command and Scripting Interpreter: PowerShell Ousaban uses PowerShell in some distribution chains.
T1059.003 Command and Scripting Interpreter: Windows Command Shell Ousaban uses the cmd.exe to execute the legitimate applications that side-load the main Ousaban payload.
T1059.007 Command and Scripting Interpreter: JavaScript/JScript Ousaban uses JavaScript in some distribution chains.
T1204.002 User Execution: Malicious File Ousaban relies on the victim to execute the distributed MSI file.
Persistence T1098 Account Manipulation Ousaban registers a new local administrator account on the victim’s machine.
T1547.001 Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder Ousaban achieves persistence using the Run key or startup folder.
Defense Evasion T1140 Deobfuscate/Decode Files or Information Ousaban payloads and strings are encrypted.
T1574.002 Hijack Execution Flow: DLL Side-Loading Ousaban is often executed by this technique.
T1562.001 Impair Defenses: Disable or Modify Tools Ousaban modifies the RDP settings of the victim’s machine.
T1562.004 Impair Defenses: Disable or Modify System Firewall Ousaban modifies Windows firewall settings.
T1027.001 Obfuscated Files or Information: Binary Padding Ousaban frequently uses binary padding.
T1027.002 Obfuscated Files or Information: Software Packing Ousaban binaries are protected by Themida or Enigma packers.
T1218.007 Signed Binary Proxy Execution: Msiexec Ousaban uses the MSI format for execution.
Credential Access T1056.001 Input Capture: Keylogging Ousaban can capture keystrokes.
Discovery T1010 Application Window Discovery Ousaban looks for bank- and email-related windows based on their window names and titles.
T1518.001 Software Discovery: Security Software Discovery Ousaban collects information about the security software installed on the victim’s machine.
T1082 System Information Discovery Ousaban collects basic information about the victim’s machine, such as computer name and Windows version.
T1113 Screen Capture Ousaban can take screenshots.
Command and Control T1132.002 Data Encoding: Non-Standard Encoding Ousaban uses RealThinClient that provides non-standard encryption.
T1219 Remote Access Software Ousaban installs RDPWrap on the victim’s machine.
Exfiltration T1041 Exfiltration Over C2 Channel Ousaban exfiltrates data via C&C server.