# BamboLoader
> [!high] Loader C++ altamente ofuscado do APT41 para entrega do GearDoor
> O BamboLoader é um **loader de shellcode** desenvolvido em C++ pelo grupo **APT41**, identificado na campanha Silver Dragon em 2024. Caracteriza-se por ofuscação extrema usando tripla camada de criptografia (RC4 + LZNT1 + XOR), DLL sideloading via aplicativo de jogos legítimo (`GameHook.exe`) e injeção em processo `taskhost.exe` para entregar o [[geardoor-backdoor]].
## Visão Geral
O BamboLoader é um componente de primeiro estágio da cadeia de infecção do [[g0096-apt41]] na campanha Silver Dragon, documentada em 2024. Ao contrário de muitos loaders simples, o BamboLoader demonstra engenharia avançada de evasão, refletindo o investimento do APT41 em ferramentas que resistam à análise por soluções modernas de segurança.
O nome "Bamboo" (bambu) evoca a imagem de algo aparentemente inofensivo e comum - um artefato que se mistura ao ambiente. De fato, o BamboLoader aproveita um arquivo DLL de aparência legítima e usa um executável de software de jogos (`GameHook.exe`) como veículo de carregamento, tornando difícil para analistas iniciantes identificar o comportamento malicioso sem análise dinâmica profunda.
A tripla camada de criptografia aplicada ao payload (RC4 para obfuscação inicial, seguido de descompressão LZNT1 e finalmente XOR com chave derivada do sistema) garante que a análise estática do binário revele pouquíssimas informações sobre o payload real. Essa abordagem de "onion encryption" (camadas como cebola) é uma característica que o APT41 tem aplicado consistentemente em ferramentas recentes.
No contexto LATAM e Brasil, o APT41 tem histórico documentado de comprometimentos em empresas de tecnologia, telecomúnicações e setor farmacêutico na região. O BamboLoader, como componente de acesso inicial, seria o primeiro malware a chegar em sistemas comprometidos, preparando o terreno para o GearDoor e operações de espionagem de longo prazo.
## Análise Técnica
### Mecanismo de Carregamento
```mermaid
graph TB
A["📁 GameHook.exe<br/>Software de jogos legítimo"] --> B["🔄 DLL Sideloading<br/>graphics-hook-filter64.dll malicioso"]
B --> C["🔓 Decriptografia RC4<br/>Primeira camada removida"]
C --> D["📦 Descompressão LZNT1<br/>Segunda camada - compressão"]
D --> E["🔑 Descriptografia XOR<br/>Terceira camada - chave do sistema"]
E --> F["💉 Injeção em taskhost.exe<br/>Process injection via WriteProcessMemory"]
F --> G["🚪 GearDoor Ativo<br/>Backdoor persistente instalado"]
```
### Tripla Camada de Ofuscação
| Camada | Algoritmo | Propósito |
|--------|-----------|-----------|
| 1 | RC4 | Ofuscação inicial - esconde strings e imports |
| 2 | LZNT1 | Compressão - reduz tamanho e adiciona entropia |
| 3 | XOR | Chave derivada do sistema - vincula ao host |
A chave XOR derivada do sistema é uma técnica anti-análise: o payload não pode ser deobfuscado em uma máquina diferente do host comprometido original, dificultando análise em sandbox isolada.
### Técnica de DLL Sideloading
```mermaid
graph TB
subgraph "DLL Sideloading - BamboLoader"
A["✅ GameHook.exe<br/>Executável legítimo assinado"] --> B["📂 DLL Search Order<br/>Windows busca DLL no diretório local primeiro"]
C["☠️ graphics-hook-filter64.dll<br/>DLL maliciosa no mesmo diretório"] --> B
B --> D["🦠 DLL Maliciosa Carregada<br/>Com a reputação do executável legítimo"]
end
```
### Persistência como Serviço Windows
O BamboLoader registra o payload como serviço Windows usando nomes similares a serviços legítimos do sistema operacional, garantindo sobrevivência a reinicializações e dificultando identificação manual.
## TTPs MITRE ATT&CK
| Técnica | ID | Descrição |
|---------|-----|-----------|
| Process Injection | [[t1055-process-injection\|T1055]] | Injeção em taskhost.exe |
| DLL Side-Loading | [[t1574-002-dll-side-loading\|T1574.002]] | GameHook.exe + DLL maliciosa |
| Obfuscated Files or Information | [[t1027-obfuscated-files-or-information\|T1027]] | RC4 + LZNT1 + XOR |
| Masquerading | [[t1036-masquerading\|T1036]] | Nome de serviço similar ao legítimo |
| Windows Service | [[t1543-003-windows-service\|T1543.003]] | Persistência via serviço |
## Detecção e Defesa
### Indicadores de Comprometimento
> [!ioc]- IOCs - BamboLoader (TLP:GREEN)
> **Artefatos de DLL:**
> - `graphics-hook-filter64.dll` em diretórios não relacionados a jogos
> - DLLs com nome similar a componentes de jogos em diretórios de sistema
>
> **Comportamento de processo:**
> - `GameHook.exe` iniciando fora de diretórios de instalação de jogos
> - `taskhost.exe` com memória injetada e conexões de rede incomuns
> - Serviços Windows com nomes similares a serviços legítimos mas com caminhos incomuns
>
> **Análise de entropia:**
> - Seções PE com entropia > 7.0 (indicativo de criptografia/compressão)
>
> **Fontes:** [APT41 Silver Dragon Analysis](https://www.mandiant.com) · [MITRE APT41](https://attack.mitre.org/groups/G0096/)
### Mitigações
1. **Application whitelisting**: Bloquear execução de GameHook.exe fora de diretórios de jogos aprovados
2. **DLL loading monitoring**: EDR com regras para DLL sideloading de executáveis legítimos
3. **Process injection detection**: Alertas para WriteProcessMemory em processos de sistema como taskhost.exe
4. **Entropy monitoring**: Ferramentas que detectem arquivos PE com alta entropia em locais suspeitos
## Referências
- [Mandiant - APT41 Silver Dragon Campaign 2024](https://www.mandiant.com/resources/blog)
- [MITRE ATT&CK - APT41 (G0096)](https://attack.mitre.org/groups/G0096/)
- [DLL Sideloading - MITRE T1574.002](https://attack.mitre.org/techniques/T1574/002/)