Ousaban é um trojan bancário latino-americano ativo exclusivamente no Brasil. A ESET tem seguido os passos dessa família de malware desde 2018 e, como a maioria dos outros trojans bancários da América Latina que analisamos como parte desta série, Ousaban também usa pop-ups de sobreposição para roubar credenciais e outras informações adicionais de instituições financeiras. No entanto, ao contrário da maioria dos outros trojans bancários latino-americanos, os desenvolvedores do Ousaban ampliaram o uso de pop-ups de sobreposição para roubar credenciais de serviços de e-mail regionais populares. Neste artigo, analisamos os principais recursos dessa ameaça e suas diversas conexões com outras famílias de trojans bancários da América Latina.

Características

Como a grande maioria dos outros trojans bancários latino-americanos que a ESET está monitorando, Ousaban é escrito em Delphi e também mostra sinais de desenvolvimento ativo e contínuo.

O nome dado pela ESET a essa família é uma combinação de duas palavras: “ousadia” e o termo em inglês “banking trojan”. A razão para tal nome é que durante muito tempo Ousaban foi distribuído juntamente com as imagens (algumas delas obscenas) mostradas na Imagem 1, embora isso não tenha ocorrido em campanhas de distribuição mais recentes da ameaça.

Imagem 1. Várias imagens distribuídas junto com o trojan bancário Ousaban.

Ousaban também é conhecido como Javali, nome dado pela empresa Kaspersky, e podemos encontrar um artigo publicado recentemente sobre esse trojan no site Segurança Informática. Além disso, a ESET também relacionou o Ousaban às campanhas descritas nesta publicação de 2018. Embora algumas fontes afirmem que o Ousaban está ativo na Europa, a ESET nunca observou qualquer campanha que distribua este trojan bancário fora do Brasil.

O Ousaban protege seus executáveis ​​com os ofuscadores binários Themida ou Enigma. Além disso, a maioria dos EXEs são aumentados pelo preenchimento binário para aproximadamente 400 MB, provavelmente para evitar a detecção e o processamento automatizado.

As variantes mais recentes do Ousaban contêm uma tabela de string para reter suas strings, e armazenam essa tabela em suas seções .rsrc. Um dos recursos contém uma lista de strings compactada em zlib delimitada por caracteres de nova linha.

Seus recursos de backdoor são muito semelhantes aos de um típico trojan bancário latino-americano: simula ações do mouse e do teclado e registra as teclas digitadas (keylogging). As últimas variantes se comunicam com os servidores C&C através do RealThinClient, um protocolo também utilizado pelo Grandoreiro.

O típico trojan bancário latino-americano ataca usuários de clientes de bancos por meio de pop-ups de sobreposição projetados especificamente para seus objetivos, e o Ousaban não é uma exceção. Curiosamente, a ameaça tem como alvo vários serviços de e-mail para os quais contam com pop-ups de sobreposição já preparadas, conforme podemos ver na Imagem 2.

Imagem 2. Desenho da pop-up de sobreposição para o serviço de e-mail do UOL.

Para obter persistência, Ousaban cria um arquivo LNK ou um loader em VBS simples na pasta de inicialização, ou modifica a Run key no registro do Windows.

Distribuição e execução

Ousaban é distribuído principalmente por e-mails de phishing (como o da Imagem 3). O cibercriminosos por trás do Ousaban passa por várias cadeias de distribuição. Essas cadeias compartilham algumas características comuns, principalmente:

  • O carregamento lateral de DLL é usado para executar um payload binária
  • Às vezes, arquivos CAB são usados ​​no lugar de ZIP
  • Um arquivo de configuração distribuído em um único arquivo apenas um estágio é necessário para o próximo estágio.
  • Um injetor exclusivo do Ousaban pode ser usado.

Imagem 3. E-mail de spam recentemente distribuído pelo Ousaban.

MSI com JavaScript

Esta cadeia de distribuição, ilustrada na Imagem 4, é bastante simples. A vítima é induzida a executar um arquivo MSI anexado ao e-mail de phishing. Quando executado, o MSI inicia um downloader em JavaScript incorporado que baixa um arquivo ZIP e extrai seu conteúdo. Em seguida, ele executa o aplicativo legítimo, que carrega o trojan bancário Ousaban.

Imagem 4. Cadeia de distribuição simples do Ousaban.

Recentemente, a ESET observou uma nova cadeia de distribuição propagando o Ousaban de forma massiva. É muito mais complexo do que o descrito acima. O processo completo é ilustrado na Imagem 5.

Os primeiros dois estágios são quase idênticos. Em ambos, a parte principal do estágio está dentro de um arquivo (ZIP ou CAB) e contém:

  • Um aplicativo legítimo
  • Um injetor criptografado
  • Um downloader criptografado
  • Um arquivo de configuração criptografado

Arquivos legítimos

Quando o aplicativo legítimo estiver sendo executado, ele carrega o injetor lateralmente. Este injetor localiza, descriptografa e executa o downloader. O downloader descriptografa o arquivo de configuração para obter uma URL que leva à configuração remota. A configuração remota contém uma URL que leva ao arquivo para o próximo estágio. O downloader baixa o arquivo do próximo estágio, extrai seu conteúdo e executa o aplicativo legítimo.

O estágio final é um pouco diferente, já que descriptografa e executa o verdadeiro trojan bancário Ousaban em vez de um downloader. O terceiro arquivo de configuração leva a uma configuração remota com o endereço IP e a porta do servidor C&C. O arquivo com o último estágio contém mais um arquivo: um módulo de suporte que altera várias configurações da máquina da vítima. Finalmente, os arquivos para os três estágios incluem arquivos adicionais: um único executável legítimo no arquivo do primeiro estágio, 14 arquivos legítimos no arquivo do segundo estágio e 13 arquivos legítimos no arquivo do terceiro estágio, mais um arquivo incorporado que contém 102 arquivos legítimos adicionais.

Figura 5. Cadeia de distribuição complexa do Ousaban.

Módulo de suporte

Ousaban carrega este módulo para que seja mais fácil para o cibercriminoso se conectar à máquina da vítima. A ameaça realiza as seguintes ações:

  • Modifica as configurações de RDP para usar RDPWrap, um utilitário que permite várias conexões RDP para edições Home do sistema operacional Windows.
  • Modifica as configurações do firewall para permitir todas as conexões RDP
  • Cria uma nova conta com privilégios administrativos

O módulo contém os binários RDPWrap armazenados em sua seção .rsrc. Em seguida, a ameaça altera as configurações do RDP diretamente no registro do Windows em:

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

O módulo então usa netsh.exe para modificar o firewall do Windows para permitir todo o tráfego TCP e UDP direcionado para a porta 3389, a porta padrão para RDP. Finalmente, ele cria uma nova conta Administrat0r com privilégios de administrador. Nossa hipótese é que o cibercriminoso pretende ter uma segunda maneira de acessar a máquina da vítima, sem ser limitado pelas capacidades do trojan bancário Ousaban e, dessa forma, poder realizar qualquer atividade maliciosa.

Criptografia

Ousaban geralmente usa três esquemas criptográficos. Suas strings são criptografadas com um algoritmo usado pela grande maioria dos trojans bancários latino-americanos que analisamos (você pode encontrar uma descrição detalhada disso nesta análise sobre o Casbaneiro). Todas as comunicações entre Ousaban e seu servidor C&C é criptografada usando criptografia AES padrão com uma chave hardcodeada.

O algoritmo final é usado no injetor específico para essa família que mencionamos anteriormente. Fornecemos uma implementação em Python na Imagem 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

Imagem 6. Algoritmo usado pelo injetor do Ousaban para descriptografar seus payloads.

Configuração remota

Ousaban conta com configuração remota para obter as URLs da próxima etapa e o endereço e a porta do C&C que deve ser usada. Ousaban costumava armazenar suas configurações remotas no YouTube, semelhante ao Casbaneiro, mas recentemente começou a usar o Google Docs.

A configuração remota está no formato JSON e os valores são criptografados usando o mesmo algoritmo usado para as strings, mas com uma chave diferente. Os campos têm o seguinte significado:

  • host = domínio do C&C
  • link = URL do estágio seguinte
  • porta = porta do C&C ou 0 (depois de usar a porta HTTP 80 padrão)
  • vers = versão do Ousaban

Exemplos de configurações remotas podem ser encontrados nas imagens 7 e 8.

Imagem 7. Configuração remota do Ousaban no YouTube

Imagem 8. Configuração remota do Ousaban no Google Docs.

Semelhanças com outros trojans bancários da América Latina

Já mencionamos algumas semelhanças entre o Ousaban e outros trojans bancários latino-americanos discutidos anteriormente como parte desta série (como o mesmo algoritmo de descriptografia de strings). Aqui estão alguns links adicionais para as outras famílias que descobrimos durante nossa análise:

  • Alguns downloaders do Ousaban contêm o mesmo código de ofuscação de strings que o Amavaldo.
  • O Ousaban foi distribuído pelos mesmos anúncios maliciosos que o Mispadu.
  • Os arquivos JavaScript que ele usa são semelhantes aos do Vadokrist, Mekotio, Casbaneiro e Guildma.
  • Os arquivos do PowerShell usados pela ameaça ocasionalmente para distribuição (além dos métodos recentes descritos nesta postagem) são semelhantes aos do Amavaldo, Casbaneiro e Mekotio.

Analisamos em profundidade a interessante cooperação entre essas famílias de malware em nosso whitepaper apresentado na conferência Virus Bulletin 2020.

Conclusão

Nesta edição de nossa série sobre trojans bancários da América Latina, examinamos o Ousaban, um trojan que visa apenas o Brasil. Esta família de malware está ativa desde pelo menos 2018 e compartilha as características típicas desse tipo de ameaça: é escrito em Delphi, contém recursos de backdoor e implementa o uso de pop-ups sobrepostas para seus ataques.

Abordamos seus principais recursos, métodos de distribuição e execução e a estrutura de sua configuração remota. Também descobrimos várias pistas sugerindo que o Ousaban está vinculado a alguns outros trojans bancários da América Latina.

Em caso de dúvidas, envie um e-mail para threatintel@eset.com. Os indicadores de comprometimento também podem ser encontrados em nosso repositório no GitHub.

Indicadores de Comprometimento (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

Aplicativos legítimos utilizados

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 dos recentes arquivos de configuração

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 do MITRE ATT&CK

Nota: esta tabela foi criada usando a versão 8 do framework MITER 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.