O C2 é o tráfego que um atacante usa para continuar controlando um dispositivo após uma invasão. Veja como ele funciona e como detectá-lo e detê-lo (sem ferramentas de ataque nem detalhes de operação).
Onde ele se encaixa no fluxo do ataque
O C2 não é a invasão em si — ele vem depois dela.
O ponto importante: o tráfego de saída em (2) é a chance de detectar e cortar. Prevenir uma invasão 100% é difícil, mas há espaço para percebê-la e detê-la na etapa do tráfego de saída.
C2 vs backdoor vs botnet
Esses termos costumam se misturar. Separados por função, ficam assim.
| Termo | O que significa | Relação com o C2 |
|---|---|---|
| C2 (C&C) | O canal de controle remoto entre o atacante e um dispositivo comprometido, e o servidor que envia os comandos | — |
| Backdoor | Uma porta de entrada deixada num dispositivo que contorna a autenticação normal | Muitas vezes se comunica com o C2 para receber comandos |
| Botnet | Um grande grupo de dispositivos sequestrados que recebem comandos do mesmo C2 ao mesmo tempo | O C2 controla muitos dispositivos a partir de um só lugar |
| RCE | Uma vulnerabilidade que permite a alguém executar código arbitrário remotamente | Uma das formas de obter a invasão que vem antes do C2 |
| Beacon | Uma mensagem curta que um dispositivo envia ao C2 em intervalos regulares | Um sinal de que o C2 continua ativo |
Por que ele se mistura ao tráfego normal
O MITRE ATT&CK, que cataloga as técnicas dos atacantes, trata o C2 como uma etapa própria (TA0011): o adversário tentando se comunicar com sistemas comprometidos para controlá-los. Uma técnica típica que ele lista é usar protocolos do dia a dia, como tráfego web e DNS, para se misturar ao tráfego existente e escapar da detecção e da filtragem.
Por isso, bloquear números de porta específicos não basta. As mitigações que o ATT&CK lista são a filtragem do tráfego de rede e a prevenção de intrusões na rede. Na prática, duas ideias funcionam:
- Limitar pelo destino: defina com uma lista de permissões quais destinos um servidor pode alcançar e bloqueie o restante do tráfego de saída
- Perceber pela forma: olhe não o conteúdo, mas o destino, o intervalo, o volume e qual programa está se comunicando
Como detectá-lo (pistas)
| Pista | O que observar |
|---|---|
| Beaconing (tráfego periódico) | Tráfego de saída regular para o mesmo destino em intervalos |
| Destinos desconhecidos | Domínios/IPs suspeitos (cruze com sabidamente maliciosos = IOCs) |
| DNS estranho | Consultas a domínios desconhecidos; DNS anormalmente intenso |
| Caminhos inesperados | Tráfego de saída por portas/protocolos inesperados |
Como se defender
Não ser invadido em primeiro lugar (o básico)
Restringir o tráfego de saída (egress)
Monitorar logs de DNS e tráfego
Cruzar e bloquear destinos sabidamente maliciosos
Exemplo real: quando o tráfego de saída foi a pista
No comprometimento do Codecov (2021), coberto neste site, um script distribuído e executado no CI foi adulterado, e segredos teriam sido enviados dos ambientes de CI dos clientes para um servidor externo durante cerca de dois meses. Como o código adulterado não era dos próprios clientes, revisar o código deles não teria detectado o problema.
A pista que pode ser verificada depois é o tráfego de saída do CI para um destino desconhecido. Se o tráfego de saída do CI estivesse limitado aos destinos necessários, com todo o resto registrado em log, haveria espaço para bloquear o envio ou percebê-lo mais cedo. Seja C2 ou roubo de dados, um ataque pós-invasão precisa se comunicar com o exterior para atingir o seu objetivo.
Como verificar no seu próprio ambiente
- Liste as conexões de saída atuais: no Windows,
Get-NetTCPConnection -State Establishedmostra cada destino e o seuOwningProcess(o ID do programa que está se comunicando), eGet-Process -Id <ID>mostra o nome do programa. No Linux,ss -tunpfaz o mesmo - Revise as regras de saída da nuvem: por exemplo, o security group padrão da AWS permite todo o tráfego de saída. Anote o que o seu servidor realmente precisa alcançar (atualizações do sistema operacional, APIs de pagamento ou de e-mail, e assim por diante) e restrinja o restante
- Confira o histórico de consultas DNS: nos logs do seu roteador ou serviço de DNS, procure consultas a domínios desconhecidos que se repetem em intervalos regulares
- Conte por destino: agregue os logs de proxy ou firewall por destino e procure pequenas quantidades de tráfego no mesmo intervalo o dia inteiro. Quando encontrar uma, verifique quem é o dono do destino para saber se é uma verificação de atualização legítima
- Compare com destinos publicados: procure nos seus logs os destinos de C2 (IOCs) publicados por autoridades ou fornecedores
A visão deste site: proteja também o tráfego de saída, e confirmar 'não há C2' faz parte da investigação
A maior lição que o conceito de C2 traz é que a defesa não se resume a prevenir a invasão. Mesmo quando a prevenção perfeita é difícil, há espaço para restringir o tráfego de saída e perceber callbacks suspeitos. Neste site mantemos "um design que não é invadido (correções, privilégio mínimo, MFA)" como o objetivo principal, enquanto também sustentamos o controle de saída e o monitoramento de tráfego como camada final. Note que, quando há suspeita de invasão, confirmar que não há C2 residente (um backdoor ou tráfego periódico clandestino) é um passo fundamental. Para concluir que "o impacto foi limitado", você não pode pular a verificação do tráfego de saída.
Fontes (primárias)
- MITRE ATT&CK, "Command and Control (TA0011)" — attack.mitre.org (definição da etapa de C2)
- MITRE ATT&CK, "Application Layer Protocol (T1071)" — attack.mitre.org (misturar-se ao tráfego existente, e mitigações como a filtragem de tráfego)
- AWS, "Default security groups for your VPCs" — docs.aws.amazon.com (regras de saída padrão)
- As fontes sobre o Codecov estão listadas no artigo do caso
Leia a seguir
- Casos: O comprometimento do Codecov (2021) · O vazamento da Capital One (2019)
- Glossário: O que é EDR · O que é um backdoor (o ponto de apoio que se comunica com o C2) · O que é RCE · O que é um IOC · O que é um IOA · O que é ransomware · O que é malware