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.
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.
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.
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.
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.
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.
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. |