A ESET publicou um white paper com detalhes sobre a ligação existente entre várias famílias de trojans bancários latino-americanos. O documento também foi publicado pela Virus Bulletin.
Durante muito tempo, os trojans bancários latino-americanos foram considerados um grupo de malware. Pesquisadores da ESET descobriram que esse não é o caso e que, apesar de terem muito em comum, podemos verificar variadas famílias entre os trojans bancários na América Latina. No ano passado, iniciamos a publicação de uma série de artigos nos quais analisamos as ações de diferentes famílias de trojans bancários que estão direcionados a usuários da América Latina. Os artigos estão enfocados nos aspectos mais importantes e interessantes dessas famílias. Até o momento e como parte dessa série, desmascaramos as seguintes famílias de trojans bancários: Amavaldo, Casbaneiro, Mispadu, Guildma, Grandoreiro e Mekotio. Os próximos artigos serão sobre Krachulka, Lokorrito, Numando, Vadokrist e Zumanek.
Nesse novo white paper, analisamos essas famílias, mas desde outra perspectiva. Em vez de focar nos detalhes que cada família apresenta e destacar suas características exclusivas, nos enfocamos no que elas têm em comum. Se você tem acompanhado nossa série, deve ter notado algumas semelhanças entre várias dessas famílias de trojans bancários, como o uso do mesmo - e raro - algoritmo para criptografar strings ou semelhantes algoritmos de geração de domínio (DGA , por sua sigla em inglês) para obter os endereços dos servidores C&C.
As primeiras semelhanças que detectamos estão na implementação desses trojans bancários. A semelhança mais óbvia de todas está relacionada à implementação quase idêntica dos componentes principais dos trojans, como o envio de notificações ao operador, a verificação periódica das janelas ativas de acordo com o nome ou título, e os ataques por meio de pop-ups falsos cuidadosamente projetados com o objetivo de obter informações confidenciais das vítimas. Além disso, essas famílias de malware compartilham bibliotecas raras de terceiros, algoritmos de criptografia de strings e técnicas de ofuscação de strings e binários.
No entanto, as semelhanças não param por aí. Ao analisar as cadeias de distribuição dessas famílias de malware, percebemos que elas também compartilham a mesma lógica: geralmente procuram um marcador (um objeto, como um arquivo ou um valor de chave de registro que é usado para indicar que a máquina já foi comprometida) e baixam dados em arquivos ZIP. Além disso, observamos cadeias de distribuição idênticas terminando com a distribuição de vários trojans bancários latino-americanos. Também é importante mencionar que, desde 2019, a grande maioria dessas famílias de malware passou a usar o Windows Installer (arquivos MSI) como parte da primeira etapa da cadeia de distribuição.
Os trojans bancários latino-americanos também compartilham métodos de execução. Eles geralmente trazem suas próprias ferramentas compactadas nos arquivos ZIP mencionados anteriormente. Os dois métodos mais comuns são carregamento lateral de DLL e abuso de um interpretador AutoIt legítimo. Além disso, ao usar o primeiro dos métodos, várias famílias abusam dos mesmos aplicativos vulneráveis para esse fim (o chamado Bring Your Own Vulnerable Software).
O termo “trojan bancário latino-americano” se deve a região na qual esses trojans bancários estão mais enfocados: a América Latina. No entanto, desde o final de 2019, vemos que vários deles adicionaram Espanha e Portugal à lista de países alvo. Além disso, como se fosse outro movimento coordenado, diferentes famílias usaram modelos de e-mail de spam semelhantes em suas últimas campanhas.
Considerando o número de semelhanças, poderíamos esperar que eles também compartilhem os pop-ups falsos usados por esses trojans bancários. Mas, na verdade, parece que ocorre o contrário. Embora os pop-ups tenham uma aparência semelhante (uma vez que são projetados para enganar clientes das mesmas instituições financeiras), não detectamos o uso de pop-ups idênticos por parte de várias dessas famílias.
Como não acreditamos que seja possível que criadores de malware independentes tenham tantas ideias em comum e não acreditamos que um grupo seja responsável por manter todas essas famílias de malware, concluímos que esses são vários cibercriminosos cooperando uns com os outros. Você pode verificar informações mais detalhadas sobre as semelhanças que identificamos no white paper.
Técnicas de MITRE ATT&CK
Na tabela abaixo (em inglês), que é um agregado de técnicas baseadas na tabela padrão MITER ATT & CK, ilustramos muitas das características compartilhadas pelos trojans bancários latino-americanos. Não se trata de uma lista muito longa, mas está enfocada nas semelhanças. Confira:
- phishing é o vetor de ataque mais comum
- dependem de linguagens de scripting, principalmente VBScript
- a chave de execução do registro ou pasta inicial são os métodos de persistência mais comuns
- de alguma forma, todos eles ofuscam payloads ou dados de configuração
- favorece o carregamento lateral de DLL
- para roubar credenciais, eles tendem a usar pop-ups ou keyloggers falsos
- grande esforço para coletar capturas de tela e rastrear softwares de segurança
- preferem algoritmos de criptografia personalizados sobre os estabelecidos
- não filtram todos os dados coletados para o servidor C&C, mas também usam locais diferentes
Nota: Essa tabela foi criada usando a versão 7 do framework do MITER ATT & CK.
Tactic | ID | Name | Amavaldo | Casbaneiro | Grandoreiro | Guildma | Krachulka | Lokorrito | Mekotio | Mispadu | Numando | Ousaban | Vadokrist | Zumanek |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Initial Access | T1566.001 | Phishing: Spearphishing Attachment | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1566.002 | Phishing: Spearphishing Link | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | |
Execution | T1059.005 | Command and Scripting Interpreter: Visual Basic | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
T1059.007 | Command and Scripting Interpreter: JavaScript/JScript | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | |
T1059.003 | Command and Scripting Interpreter: Windows Command Shell | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | |
T1059.001 | Command and Scripting Interpreter: PowerShell | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | |
T1047 | Windows Management Instrumentation | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | |
T1059 | Command and Scripting Interpreter | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | |
Persistence | T1547.001 | Boot or Logon Autostart execution: Registry Run Keys / Startup Folder | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1053.005 | Scheduled Task/Job: Scheduled Task | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
Defense Evasion | T1140 | Deobfuscate/Decode Files or Information | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1574.002 | Hijack Execution Flow: DLL Side-Loading | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | |
T1497.001 | Virtualization/Sandbox Evasion: System Checks | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | |
T1218.007 | Signed Binary Proxy Execution: Msiexec | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
T1036.005 | Masquerading: Match Legitimate Name or Location | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | |
T1197 | BITS Jobs | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | |
T1112 | Modify Registry | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
T1218.011 | Signed Binary Proxy Execution: Rundll32 | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | |
T1027.001 | Obfuscated Files or Information: Binary Padding | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | |
T1220 | XSL Script Processing | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | |
Credential Access | T1056.002 | Input Capture: GUI Input Capture | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1056.001 | Input Capture: Keylogging | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
T1555.003 | Credentials from Password Stores: Credentials from Web Browsers | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | |
T1552.001 | Unsecured Credentials: Credentials In Files | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | |
Discovery | T1010 | Application Window Discovery | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1518.001 | Software Discovery: Security Software Discovery | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
T1082 | System Information Discovery | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
T1083 | File and Directory Discovery | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | |
T1057 | Process Discovery | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | |
Collection | T1113 | Screen Capture | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
T1115 | Clipboard Data | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | |
Command and Control | T1132.002 | Data Encoding: Non-Standard Encoding | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
T1571 | Non-Standard Port | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | |
T1132.001 | Data Encoding: Standard Encoding | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | |
T1568.002 | Dynamic Resolution: Domain Generation Algorithms | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | |
T1568.003 | Dynamic Resolution: DNS Calculation | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | |
Exfiltration | T1048 | Exfiltration Over Alternative Protocol | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
T1041 | Exfiltration Over C2 Channel | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Como podemos ver, os trojans bancários latino-americanos, embora tenham suas diferenças, contam com muitas características em comum.