# SharkBot
> Tipo: **Android banking trojan** · ATS (Automatic Transfer System) · [Cleafy TIR](https://www.cleafy.com/cleafy-labs/sharkbot-a-new-generation-of-android-trojan-is-targeting-banks-in-europe) · [NCC Group](https://research.nccgroup.com)
> [!danger] ATS - A Nova Geracao de Fraude Mobile que Dispensa Operadores Humanos
> O SharkBot representou um salto qualitativo nos Android banking trojans: enquanto concorrentes como TeaBot/Anatsa exigem um operador humano ativo para cada transferencia fraudulenta, o SharkBot usa ATS (Automatic Transfer System) para automatizar completamente o processo. O sistema auto-preenche formularios bancarios e confirma transferencias sem interação humana - bypassando biometria, 2FA e detecção comportamental simultaneamente.
## Visão Geral
[[sharkbot|SharkBot]] e um Android banking trojan descoberto pela Cleafy TIR em outubro de 2021, denominado assim por um dos dominios C2 identificados pelos pesquisadores. Desde o primeiro relatorio, o SharkBot foi classificado como "nova geracao" de malware mobile pela sua técnica central: **ATS (Automatic Transfer System)**.
O SharkBot faz parte do ecossistema de trojans Android bancarios que inclui [[anatsa|Anatsa]] (TeaBot), [[coper|Coper/Octo]] e outros. Ao contrario do [[anatsa|Anatsa]] e Oscorp/UBEL que requerem operador humano, o SharkBot escala operações com minima intervencao.
**Progressao de versoes:**
- **SharkBot v1 (Out/2021):** Descoberta inicial - ATS, overlay attacks, keylogging; apenas sideloading
- **SharkBot v2 (Set/2022):** Droppers no Google Play (~57.000 instalacoes); DGA atualizado; código completamente refatorado; expansao para Espanha, Australia, Polonia, Alemanha, Austria
**Caracteristicas técnicas distintas:**
- **ATS (Automatic Transfer System)**: auto-preenchimento de campos bancarios + confirmacao de transferencia - sem operador humano
- **DGA (Domain Generation Algorithm)**: C2 dinâmico baseado em algoritmo para evadir bloqueio de dominios
- Módulo ATS externo (arquivo .jar) baixado pos-instalacao - nao presente no APK inicial
- Anti-emulador: verifica se dispositivo e real ou emulador antes de executar
- Icone ocultado após instalacao - sem rastro visual no dispositivo
- Anti-deletar: usa Accessibility Services para impedir desinstalacao
- Propagação via Direct Reply notifications (v2) - caracteristica de worm
**Relevância Reino Unido e Italia:** Primeiros targets confirmados foram bancos do UK e Italia, alem de 5 exchanges de criptomoeda nos EUA. SharkBot v2 expandiu para Espanha, Australia, Polonia, Alemanha e Austria.
## Como Funciona
### ATS - Automatic Transfer System
O ATS e a inovacao central do SharkBot e funciona explorando o Android Accessibility Service:
1. **Reconhecimento de tela**: SharkBot usa Accessibility para ler todos os elementos da UI do app bancario
2. **Coleta de saldo e dados**: registra saldos, métodos 2FA disponibilizados e limites de transferencia
3. **Gatilho remoto**: operador envia lista de eventos a simular (sequencia de acoes)
4. **Execução automatica**: SharkBot simula toques, preenchimento de formularios e confirmacao
5. **Resultado**: transferencia fraudulenta executada como se fosse o usuario legitimo
O ATS bypassa:
- **Biometria**: a transferencia e feita do dispositivo confiavel, a biometria já foi válidada na sessao
- **SMS 2FA**: SharkBot já intercepta o SMS e insere o código automaticamente
- **Detecção comportamental**: as acoes simulam exatamente o comportamento humano normal
- **Novo dispositivo enrollment**: nao exige registrar novo dispositivo - usa o dispositivo já confiavel da vitima
### Fluxo de Instalacao e Ativacao
**Via sideloading (v1):**
- APK distribuido via engenharia social - media player, app de TV ao vivo, recuperacao de dados
- Solicita Accessibility Service com pop-up falso ("Allow Media Player")
- Nenhum icone exibido após instalacao
- Módulo ATS (.jar) baixado do C2 pos-instalacao
**Via Google Play (v2):**
- Droppers aparentemente legitimos (antivirus apps) com 57.000 instalacoes
- Droppers apenas baixam e instalam SharkBot - nao contem código malicioso diretamente
- Propagação via Direct Reply: intercepta notificacoes de apps de mensagens e responde com link malicioso
### DGA - Domain Generation Algorithm
SharkBot usa DGA para gerar dominios de C2 dinâmicamente:
- Algoritmo gera lista de dominios potenciais de C2 baseado em data/hora
- Comúnicação cifrada e codificada em Base64
- Impede bloqueio por simples blacklist de dominios estaticos
- SharkBot v2 atualizou o DGA para novo mecanismo documentado pela Lookout
## Attack Flow
```mermaid
graph TB
A["APK Falso<br/>Media Player, AV, TV app<br/>Sideload ou Google Play"] --> B["Solicita Accessibility<br/>Pop-up enganoso<br/>Vitima concede permissao"]
B --> C["Módulo ATS Baixado<br/>Arquivo .jar do C2<br/>Nao presente no APK inicial"]
C --> D["Coleta Passiva<br/>Saldos, 2FA, dados bancarios<br/>Tudo via Accessibility"]
D --> E["SMS Interceptado<br/>OTPs capturados antes da vitima<br/>DGA conecta ao C2"]
E --> F["Gatilho ATS<br/>Operador envia sequencia<br/>de eventos a simular"]
F --> G["Transferencia Automatica<br/>Auto-preenchimento + confirmacao<br/>Sem interação humana"]
classDef apk fill:#e74c3c,stroke:#c0392b,color:#fff
classDef access fill:#e67e22,stroke:#d35400,color:#fff
classDef module fill:#f39c12,stroke:#d68910,color:#fff
classDef collect fill:#3498db,stroke:#2980b9,color:#fff
classDef sms fill:#8e44ad,stroke:#7d3c98,color:#fff
classDef ats fill:#c0392b,stroke:#922b21,color:#fff
classDef exfil fill:#2c3e50,stroke:#1a252f,color:#fff
class A apk
class B access
class C module
class D,E collect
class F sms
class G ats
```
## Linha do Tempo
```mermaid
timeline
title Historia do SharkBot
2021 Out : Cleafy TIR descobre SharkBot
: UK e Italia como alvos primarios
: 5 exchanges cripto nos EUA
2021 Nov : Relatorio publico Cleafy publicado
: ATS documentado pela primeira vez
: Apenas sideloading confirmado
2022 Mar : SharkBot encontrado no Google Play
: Droppers como apps antivirus
: 57.000 instalacoes combinadas
: NCC Group documenta Direct Reply worm
2022 Set : SharkBot V2 documentado pela Lookout
: DGA atualizado + código refatorado
: Expansao para Espanha, Polonia, Australia
: Austria e Alemanha adicionados
```
| Período | Evento |
|---------|--------|
| Out/2021 | Cleafy TIR descobre SharkBot - UK, Italia, EUA como alvos |
| Nov/2021 | Relatorio público: "SharkBot, a new generation of Android Trojans" |
| Mar/2022 | Droppers no Google Play (antivirus falso) - 57.000 instalacoes |
| Mar/2022 | NCC Group documenta propagação worm via Direct Reply notifications |
| Set/2022 | Lookout documenta SharkBot V2 com DGA atualizado e código refatorado |
## TTPs Mapeados (MITRE ATT&CK Mobile)
| Tática | Técnica | Uso pelo SharkBot |
|--------|---------|------------------|
| Initial Access | [[t1476-deliver-malicious-app\|T1476]] | APK distribuido via sideloading ou droppers no Google Play |
| Initial Access | [[t1444-masquerade-as-legitimate-application\|T1444]] | Impersonifica media players, apps de TV, antivirus, apps bancarios |
| Defense Evasion | [[t1406-obfuscated-files\|T1406]] | Strings ofuscadas; módulo ATS externo (.jar) baixado pos-instalacao |
| Collection | [[t1513-screen-capture\|T1513]] | Accessibility lê conteudo de tela de todos os apps bancarios |
| Collection | [[t1412-capture-sms\|T1412]] | Intercepta e oculta SMS bancarios (OTPs) antes da notificação ao usuario |
| Credential Access | [[t1417-input-capture\|T1417]] | Keylogging de credenciais, PINs e padroes de acesso |
| Command and Control | [[t1436-commonly-used-ports\|T1436]] | C2 cifrado + Base64; DGA para geracao dinâmica de dominios |
| Impact | [[t1516-input-injection\|T1516]] | ATS simula sequencia de eventos para completar transferencias bancarias fraudulentas |
## Relevância LATAM/Brasil
> [!warning] ATS como Evolução do Ecossistema Android Bancario Global
> Embora o SharkBot nao sejá de origem brasileira ou focado em LATAM como alvo primario, sua relevância para analistas brasileiros e dupla: (1) a técnica ATS que ele popularizou foi rapidamente adotada por outros trojans Android com foco LATAM; (2) o SharkBot demonstra que o ecossistema global de Android banking trojans esta convergindo para automacao total de fraudes, eliminando a dependência de operadores humanos que limitava a escala de ataques.
> [!info] Diferencial ATS vs Operador Humano
> A maioria dos Android banking trojans (TeaBot/Anatsa, Coper/Octo) ainda depende de um operador humano que se conecta ao dispositivo comprometido para executar cada transferencia fraudulenta. O SharkBot elimina esta dependência: com ATS, uma campanha pode processar centenas de transferencias simultaneamente sem capacidade humana adicional. Esta e a principal razao pela qual o ATS e classificado como "nova geracao" pela industria.
**Setores impactados:**
- [[financial|Financeiro]] - bancos no Reino Unido, Italia, Espanha, Alemanha, Australia, Polonia, Austria
- Exchanges de criptomoeda nos EUA
## Detecção e Defesa
> [!tip] Estrategias de Detecção
> - **Accessibility + Input Injection:** App com Accessibility Service que acessa campos de formulario e simula eventos de entrada em apps bancarios - padrao ATS
> - **DGA Detection:** Monitorar solicitacoes DNS para dominios com padroes aleatorios gerados algoritmicamente (alta entropia de caracteres)
> - **Hidden Icon + Anti-Delete:** App que oculta icone após instalacao e bloqueia desinstalacao via Accessibility - flag critico
> - **JAR Download Post-Install:** App que baixa arquivo .jar de C2 após instalacao - módulo ATS dinâmico
> - **Direct Reply Abuse (v2):** App respondendo automaticamente a notificacoes de outros apps com links externos
**Controles recomendados:**
- Ativar Google Play Protect e manter atualizado
- Politica MDM proibindo instalacao de APKs externos em dispositivos corporativos
- Monitorar permissoes de Accessibility Service em todos os dispositivos
- Implementar Mobile Threat Defense (MTD) com detecção de ATS
- [[m1017-user-training|M1017]] - educação sobre fake antivirus apps e sideloading
## Referências
- [1](https://www.cleafy.com/cleafy-labs/sharkbot-a-new-generation-of-android-trojan-is-targeting-banks-in-europe) Cleafy TIR - SharkBot: a new generation of Android Trojans (2021)
- [2](https://thehackernews.com/2022/03/sharkbot-banking-malware-spreading-via.html) The Hacker News - SharkBot Banking Malware Spreading via Google Play (2022)
- [3](https://www.lookout.com/threat-intelligence/article/sharkbot-v2) Lookout - SharkBot V2 Threat Intelligence (2022)
- [4](https://www.malwarebytes.com/blog/news/2021/11/sharkbot-android-banking-trojan-cleans-users-out) Malwarebytes - SharkBot Android banking Trojan analysis (2021)
- [5](https://securityaffairs.com/124650/mobile-2/sharkbot-android-trojan.html) Security Affairs - SharkBot, a new Android Trojan targets banks in Europe (2021)