O que Análise de Perfis C2 Malleable do CobaltStrike faz?
Visão Geral
Os perfis Malleable C2 do Cobalt Strike são scripts de linguagem específica de domínio que personalizam como o Beacon se comunica com o servidor da equipe, definindo transformações de requisição/resposta HTTP, intervalos de sleep, valores de jitter, agentes de usuário, caminhos de URI e comportamento de injeção de processo. Atores de ameaças usam perfis malleable para disfarçar o tráfego C2 como serviços legítimos (Amazon, Google, Slack). A análise desses perfis revela indicadores de rede para detecção: padrões de URI, cabeçalhos HTTP, transformações POST/GET, configurações de DNS e técnicas de injeção de processo. A biblioteca dissect.cobaltstrike pode analisar tanto arquivos de perfil quanto extrair configurações de payloads beacon, enquanto o pyMalleableC2 fornece análise baseada em AST usando gramática Lark para manipulação e validação programática de perfis.
Quando Usar
- Ao investigar incidentes de segurança que exigem análise de perfis malleable C2 do cobaltstrike
- Ao construir regras de detecção ou consultas de caça a ameaças para este domínio
- Quando analistas de SOC precisam de procedimentos estruturados para este tipo de análise
- Ao validar a cobertura de monitoramento de segurança para técnicas de ataque relacionadas
Pré-requisitos
- Python 3.9+ com
dissect.cobaltstrikee/oupyMalleableC2 - Amostras de perfis Malleable C2 (disponíveis em repositórios públicos)
- Compreensão do protocolo HTTP e do modelo de comunicação do beacon do Cobalt Strike
- Ferramentas de monitoramento de rede (Suricata/Snort) para implantação de assinaturas
- Ferramentas de análise de PCAP para validação de tráfego
Passos
- Instalar bibliotecas:
pip install dissect.cobaltstrikeoupip install pyMalleableC2 - Analisar perfil com
C2Profile.from_path("profile.profile") - Extrair configurações dos blocos HTTP GET/POST (URIs, cabeçalhos, parâmetros)
- Identificar strings de agente de usuário e alvos de spoofing
- Extrair tempo de sleep, porcentagem de jitter e configurações de beacon DNS
- Analisar configurações de injeção de processo (spawn-to, técnica de alocação)
- Gerar assinaturas Suricata/Snort a partir dos indicadores de rede extraídos
- Comparar perfil com coleções de perfis de atores de ameaças conhecidos
- Extrair URIs de staging e mecanismos de entrega de payload
- Produzir relatório de detecção com IOCs e assinaturas de rede recomendadas
Saída Esperada
Um relatório JSON contendo URIs C2 extraídos, cabeçalhos HTTP, agentes de usuário, configurações de sleep/jitter, configuração de injeção de processo, caminhos de processo gerados, configurações de DNS e regras de detecção compatíveis com Suricata geradas.