# Zumanek
> Tipo: **banking trojan** · Familia LATAM (ESET serie) · [ESET WeLiveSecurity](https://www.welivesecurity.com)
> [!info] Primeira Familia LATAM Identificada pela ESET
> Zumanek tem uma distincao historica: foi a **primeira familia de banking trojan latino-americano** identificada e analisada pela ESET, com análise públicada em 2018. Ativamente exclusivo no Brasil até meados de 2020, quando entrou em período de declinio. Considerado possívelmente o predecessor do [[s0669-ousaban|Ousaban]].
## Visão Geral
[[zumanek|Zumanek]] e um banking trojan de origem **brasileira** identificado pela ESET como o primeiro membro documentado de uma colaboracao entre pelo menos 11 familias de trojans bancarios latino-americanos. Ativo exclusivamente no Brasil desde pelo menos 2017, entrou em declinio a partir de meados de 2020 e foi posteriormente classificado como inativo.
O trojan opera como um **RAT (Remote Access Trojan) com funcionalidades bancarias**, combinando controle remoto do computador da vitima com capacidade de roubo de credenciais bancarias e de criptomoedas. E identificado pela sua técnica distinta de ofuscacao de strings: cria uma função para cada caractere do alfabeto e as concatena na sequencia correta para reconstruir as strings em tempo de execução.
**Caracteristicas técnicas distintas:**
- Ofuscação de strings via funções de caractere individual (fingerprint único de análise)
- Foco exclusivo em Brasil - verificação de idioma `pt-BR` do sistema operacional
- Verificação da presenca de antivirus antes do download do payload
- Downloader simples: ZIP contendo executavel (`drive2`) mais DLL maliciosa
- Possível predecessor do [[s0669-ousaban|Ousaban]] - formato de configuração remota similar
- Compartilha algoritmo de criptografia customizado com 5 outras familias LATAM
**Relevância Brasil:** Operou exclusivamente no Brasil entre 2017 e 2020. Primeiro banking trojan LATAM a ser formalmente documentado pela ESET, abrindo caminho para a identificação das outras 10 familias da serie.
## Como Funciona
### Ofuscação de Strings Unica
Zumanek usa uma técnica de ofuscação de strings exclusiva que serve como fingerprint para identificação:
Para cada string necessária pelo malware, o binario contem uma função dedicada que retorna um único caractere. Para reconstruir a string "banco", o código chama sequencialmente `função_b()`, `função_a()`, `função_n()`, `função_c()`, `função_o()` e concatena os resultados. Esta técnica dificulta análise estática mas e computacionalmente ineficiente - sugerindo que evasão de análise era prioridade sobre performance.
### Fluxo de Infecção
**Estagio 1 - Downloader:**
- Engenharia social convence vitima a executar o downloader
- Downloader verifica se idioma do sistema e `pt-BR` (exclusividade Brasil)
- Verifica presenca de software antivirus - aborta se detectado
- Se limpo: baixa ZIP de URL remota contendo payload
**Estagio 2 - RAT bancario:**
- ZIP contem: executavel legitimo assinado + DLL maliciosa
- DLL carregada via DLL side-loading pelo executavel legitimo
- Payload frequentemente protegido por VMProtect ou Armadillo
- Operador recebe controle remoto e pode executar comandos
**Comandos de controle remoto identificados:**
- `PRIMERAFOTO` - captura screenshot e envia tamanho comprimido (zlib)
- `SEGUNDAFOTO` - cria diff da screenshot atual com a anterior
- `MANDASTREAM` - transmite screenshot comprimida e diff em tempo real
O operador visualiza a tela da vitima em tempo real via stream e pode monitorar todas as atividades bancarias.
## Attack Flow
```mermaid
graph TB
A["🎣 Engenharia Social<br/>Convencer vitima a executar<br/>downloader - sem email padrao"] --> B["🔍 Verificação pt-BR<br/>Confirma idioma do sistema<br/>Aborta se nao for Brasil"]
B --> C["🛡️ Verificação de Antivirus<br/>Checa presenca de AV<br/>Aborta se encontrado"]
C --> D["📦 Download ZIP Payload<br/>ZIP com EXE legitimo<br/>e DLL maliciosa Zumanek"]
D --> E["🔄 DLL Side-Loading<br/>EXE carrega DLL maliciosa<br/>VMProtect ou Armadillo"]
E --> F["👁️ Controle Remoto<br/>Operador conecta ao RAT<br/>Visualiza tela em tempo real"]
F --> G["💸 Roubo Bancario<br/>Credenciais de bancos<br/>e exchanges de criptomoeda"]
classDef social fill:#e74c3c,stroke:#c0392b,color:#fff
classDef check fill:#e67e22,stroke:#d35400,color:#fff
classDef payload fill:#f39c12,stroke:#d68910,color:#fff
classDef c2 fill:#8e44ad,stroke:#7d3c98,color:#fff
classDef exfil fill:#2c3e50,stroke:#1a252f,color:#fff
class A social
class B,C check
class D,E payload
class F c2
class G exfil
```
## Linha do Tempo
```mermaid
timeline
title Historia do Zumanek
2017 : Primeiras amostras detectadas no Brasil
: Exclusividade pt-BR confirmada
2018 : ESET publica primeira análise (versao 3.0)
: Primeiro banking trojan LATAM documentado pela ESET
: Foco em bancos e exchanges de criptomoeda
2020 : Declinio de atividade
: ESET VB2020 lista Zumanek entre 11 familias LATAM
: Meados de 2020: entra em inatividade
2021 : ESET confirma Zumanek como inativo
: Possível sucessor: Ousaban (formato C2 similar)
```
| Período | Evento |
|---------|--------|
| 2017 | Primeiras amostras do Zumanek detectadas - exclusivo no Brasil |
| Ján/2018 | ESET pública primeira análise pública - versao 3.0 documentada |
| Out/2020 | ESET VB2020 - Zumanek listado entre os 11 trojans bancarios LATAM |
| 2020 (meados) | Atividade cai significativamente - inicio do período inativo |
| Dez/2021 | ESET confirma Zumanek entre as 3 familias inativas (com Krachulka e Lokorrito) |
## TTPs Mapeados
| Tática | Técnica | Uso pelo Zumanek |
|--------|---------|------------------|
| Initial Access | [[t1566-001-spearphishing-attachment\|T1566.001]] | Engenharia social para execução do downloader |
| Execution | [[t1204-002-user-execution-malicious-file\|T1204.002]] | Vitima executa downloader voluntariamente |
| Persistence | [[t1547-001-registry-run-keys\|T1547.001]] | Run key para persistência no boot |
| Defense Evasion | [[t1574-002-dll-side-loading\|T1574.002]] | EXE legitimo carrega DLL maliciosa |
| Defense Evasion | [[t1027-002-software-packing\|T1027.002]] | Payload protegido por VMProtect ou Armadillo |
| Defense Evasion | [[t1140-deobfuscate-decode-files\|T1140]] | Strings ofuscadas via funções de caractere individual |
| Defense Evasion | [[t1497-001-system-checks\|T1497.001]] | Verificação de AV e idioma do sistema antes de agir |
| Defense Evasion | [[t1220-xsl-script-processing\|T1220]] | XSL Script Processing em variantes documentadas |
| Collection | [[t1113-screen-capture\|T1113]] | Stream de screenshots em tempo real (PRIMERAFOTO, SEGUNDAFOTO) |
| Collection | [[t1056-001-keylogging\|T1056.001]] | Keylogging de credenciais bancarias |
| C2 | [[t1219-remote-access-software\|T1219]] | RAT com controle remoto completo pela interface do operador |
| Exfiltration | [[t1041-exfiltration-over-c2-channel\|T1041]] | Dados bancarios enviados ao C2 |
## Relevância LATAM/Brasil
> [!info] Marco Historico do Cibercrime Bancario Brasileiro
> O Zumanek representa o ponto de partida da serie de pesquisas que revelou a maior colaboracao documentada entre autores de banking malware da historia. Sua análise pela ESET em 2018 desencadeou a investigação que levou a identificação de mais 10 familias LATAM. Apesar de inativo, seus métodos foram herdados por familias posteriores.
> [!tip] Possível Predecessor do Ousaban
> A ESET notou similaridades estruturais entre Zumanek e [[s0669-ousaban|Ousaban]]:
> - Formato de configuração remota usa delimitadores similares
> - Servidores C2 do Ousaban com aparencia similar a infraestrutura anterior do Zumanek
> - Possível evolução ou reutilização de infraestrutura pelo mesmo grupo ou grupo aliado
**Setores impactados:**
- [[financial|Financeiro]] - bancos de varejo brasileiros
- Exchanges de criptomoeda brasileiras (Bitcoin, etc.)
## Detecção e Defesa
> [!tip] Identificação de Amostras
> - **String Obfuscation Fingerprint:** Detectar binarios Delphi com padrao de funções que retornam caractere único e concatenacao em sequencia
> - **Language Check:** Processo que verifica `GetSystemDefaultLangID()` ou `GetLocaleInfo()` para `pt-BR` antes de qualquer acao maliciosa
> - **AV Detection:** Processo enumerando lista fixa de processos de antivirus específicos antes do download
> - **DLL Side-Loading:** Monitorar EXEs assinados carregando DLLs nao-assinadas de ZIP recentemente extraidos
> - **ZIP com drive2.exe:** Historicamente o executavel final era nomeado `drive2` - possível IOC de nomes de arquivo
**Controles recomendados:**
- Implementar [[m1038-execution-prevention|M1038]] - restricao de execução de aplicativos desconhecidos
- Monitorar VBoxTray.exe e outros apps VirtualBox para DLL side-loading
- [[m1017-user-training|M1017]] - conscientizacao sobre engenharia social para downloads
## Referências
- [1](https://tiinside.com.br/en/18/01/2018/Malware-that-steals-banking-credentials-targets-Brazil/) TI Inside - Malware that steals banking credentials targets Brazil (2018)
- [2](https://securityleaders.com.br/malware-zumanek-rouba-credenciais-bancarias-e-mira-o-brasil/) Security Leaders - Malware Zumanek rouba credenciais bancarias e mira o Brasil (2018)
- [3](https://www.picussecurity.com/blog-trojans-targeting-banks-in-latin-america) Picus Security - Trojans Targeting Banks in Latin América: Krachulka, Lokorrito, Zumanek (2021)
- [4](https://web-assets.esetstatic.com/wls/en/papers/white-papers/ESET_LATAM_financial_cybercrime.pdf) ESET - LATAM Financial Cybercrime: Competitors-in-crime sharing TTPs (2020)
- [5](https://www.welivesecurity.com/2021/12/15/dirty-dozen-latin-america-amavaldo-zumanek/) ESET WeLiveSecurity - The dirty dozen of Latin América: From Amavaldo to Zumanek (2021)