# T1104 - Canais de Comando e Controle em Múltiplos Estágios
## Descrição
Canais de C2 em múltiplos estágios são uma estratégia usada por adversários para estruturar a comunicação com sistemas comprometidos em fases progressivas, cada uma com um nível maior de capacidade e controle. A ideia central é separar as funções de acesso inicial das funções de controle avançado, tornando o rastreamento e o bloqueio da infraestrutura maliciosa muito mais difícil para defensores.
No estágio inicial, o implante instalado na máquina comprometida realiza chamadas de retorno (*callbacks*) para um servidor de primeiro nível. Esse servidor tem capacidades limitadas: geralmente coleta informações básicas do host, verifica o ambiente, atualiza o agente e decide se o alvo tem valor suficiente para avançar. Se o alvo for considerado relevante, um segundo agente - mais completo e com mais funcionalidades - é carregado e direcionado para um servidor de C2 de segundo estágio completamente diferente.
Essa arquitetura separada serve a múltiplos propósitos operacionais. Primeiro, protege a infraestrutura principal: se o servidor de primeiro estágio for identificado e bloqueado, o operador ainda mantém acesso via canal secundário. Segundo, dificulta a correlação: as duas fases raramente compartilham IPs, domínios ou certificados. Terceiro, permite triagem eficiente - sistemas sem interesse operacional ficam presos no primeiro estágio, nunca chegando ao canal principal. O uso de [[t1008-fallback-channels|canais de fallback]] no primeiro estágio aumenta ainda mais a resiliência.
**Contexto Brasil/LATAM:** Grupos como [[g0032-lazarus-group|Lazarus Group]] e [[g0096-apt41|APT41]] com atuação documentada na América Latina utilizam arquiteturas multi-estágio para manter persistência em ambientes de alto valor, como bancos, operadoras de telecomúnicações e órgãos governamentais. O setor financeiro brasileiro é alvo frequente: a complexidade da infraestrutura multi-estágio permite que operadores mantenham acesso por semanas ou meses sem detecção, especialmente em organizações sem visibilidade de tráfego de rede em profundidade. Campanhas atribuídas ao [[g0069-mango-sandstorm|MuddyWater]] também utilizam loaders de primeiro estágio - como o [[s1086-snip3|Snip3]] - para instalar RATs secundários apenas em alvos de interesse confirmado.
## Attack Flow
```mermaid
graph TB
A[Acesso Inicial] --> B[Loader 1° Estágio]
B --> C[**C2 Multi-Estágio**]
C --> D[RAT 2° Estágio]
D --> E[Exfiltração / Movimento Lateral]
```
## Como Funciona
**1. Preparação**
O adversário configura ao menos dois servidores de C2 com infraestrutura completamente separada - endereços IP, registradores de domínio, provedores de hospedagem e certificados TLS distintos. O implante de primeiro estágio é minimalista e pode ser um [[s1160-latrodectus|Latrodectus]], [[s0534-bazar|Bazar]] ou dropper similar, compilado com callbacks para o servidor de triagem.
**2. Execução**
Após comprometer o alvo via phishing ou exploração de vulnerabilidade, o implante de primeiro estágio executa e inicia o beacon para o C2 inicial. O servidor coleta fingerprint do host (SO, domínio, privilégios, processos em execução) e determina se o alvo tem valor operacional. Caso positivo, um RAT completo - como [[s0022-uroburos|Uroburos]], [[s0069-blackcoffee|BLACKCOFFEE]] ou similar - é entregue ao host e redirecionado para o servidor de segundo estágio.
**3. Pós-execução**
O C2 de segundo estágio oferece shell reverso interativo, capacidade de pivotamento, coleta de credenciais e exfiltração de dados. O canal de primeiro estágio pode ser mantido como fallback ou abandonado. Os dois servidores nunca compartilham logs ou telemetria - se um é descoberto, o outro permanece operacional.
**Exemplo:**
```bash
# Artefato de detecção: processo filho inesperado iniciando conexão de rede para dois destinos distintos
# Primeiro estágio: beacon HTTP simples para domínio de curta vida
# Segundo estágio: beacon HTTPS para CDN ou domínio legítimo comprometido
# Indicador: process_name=loader.exe, parent=word.exe, dest_ip=<C2-1>
# Seguido por: process_name=rat.exe, parent=svchost.exe, dest_ip=<C2-2>
```
## Detecção
**Fontes de dados:** Logs de proxy/firewall (NetFlow, Zeek), EDR (processo iniciando conexões de rede), DNS (resolução de domínios de curta vida), Event ID 4688 (criação de processo com linha de comando suspeita).
```yaml
title: Multi-Stage C2 Channel - Sequential Beacon to Distinct Infrastructure
id: 7c3a1f82-4e9b-4d2a-b831-0c5f6a7e9d10
status: experimental
description: Detects a process spawning a child process that immediately initiates
network connections to a different C2 destination, indicative of multi-stage
channel handoff behavior.
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith:
- '\word.exe'
- '\excel.exe'
- '\powershell.exe'
- '\wscript.exe'
- '\cscript.exe'
CommandLine|contains:
- 'http'
- 'download'
- 'invoke'
condition: selection
falsepositives:
- Administrative activity
- Legitimaté software updates
level: medium
tags:
- attack.command_and_control
- attack.t1104
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| [[m1031-network-intrusion-prevention\|M1031 - Network Intrusion Prevention]] | Implementar inspeção profunda de pacotes (DPI) e IDS com assinaturas para padrões de beacon periódico; bloquear conexões de saída não autorizadas de processos do sistema. |
## Threat Actors que Usam
- [[g0022-apt3|APT3]]
- [[g0032-lazarus-group|Lazarus Group]]
- [[g0069-mango-sandstorm|MuddyWater]]
- [[g0096-apt41|APT41]]
## Software Associado
- [[s1141-lunarweb|LunarWeb]] (malware)
- [[s0069-blackcoffee|BLACKCOFFEE]] (malware)
- [[s0476-valak|Valak]] (malware)
- [[s0534-bazar|Bazar]] (malware)
- [[s1086-snip3|Snip3]] (malware)
- [[s1160-latrodectus|Latrodectus]] (malware)
- [[s0022-uroburos|Uroburos]] (malware)
---
*Fonte: [MITRE ATT&CK - T1104](https://attack.mitre.org/techniques/T1104)*