analyzing-cobalt-strike-beacon-configuration
Faz seu agente extrair e analisar configurações de programas maliciosos chamados Cobalt Strike. Ele identifica como esses programas se comunicam e quais técnicas usam. É útil para entender ameaças de segurança.
O que ela faz
Esta ferramenta analisa arquivos suspeitos para encontrar informações sobre como um programa malicioso chamado Cobalt Strike se comunica com seus controladores. Ela extrai detalhes como endereços de servidores, métodos de comunicação e configurações secretas.
Quando usar
- ✓Ao investigar um ataque de segurança e suspeitar do uso do Cobalt Strike.
- ✓Ao tentar entender como um programa malicioso se comunica.
- ✓Ao criar defesas para detectar atividades suspeitas.
Exemplo do que pedir para a IA
“Analise este arquivo para encontrar a configuração do Cobalt Strike.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta procura por dados específicos dentro do arquivo, decodifica informações que foram secretamente codificadas e apresenta os detalhes da comunicação.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-cobalt-strike-beacon-configurationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/analyzing-cobalt-strike-beacon-configuration/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Analisando a Configuração do Beacon do Cobalt Strike
Visão Geral
Cobalt Strike é uma ferramenta comercial de simulação de adversários amplamente abusada por atores de ameaças para operações pós-exploração. Os payloads do Beacon contêm dados de configuração incorporados que revelam endereços de servidores C2, protocolos de comunicação, intervalos de espera, valores de jitter, configurações de perfil C2 maleável, identificadores de marca d'água e chaves de criptografia. Extrair essa configuração de arquivos PE, shellcode ou dumps de memória é crucial para que os respondedores a incidentes mapeiem a infraestrutura do atacante e atribuam campanhas. A configuração do beacon é codificada em XOR usando um único byte (0x69 para a versão 3, 0x2e para a versão 4) e armazenada em formato Type-Length-Value (TLV) dentro da seção .data.
Quando Usar
- Ao investigar incidentes de segurança que exigem a análise da configuração do beacon do Cobalt Strike
- 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.cobaltstrike,pefile,yara-python - SentinelOne CobaltStrikeParser (
parse_beacon_config.py) - Editor hexadecimal (010 Editor, HxD) para inspeção manual
- Compreensão do formato de arquivo PE e codificação XOR
- Ferramentas de aquisição de dump de memória (Volatility3, WinDbg)
- Ferramentas de análise de rede (Wireshark) para correlação de tráfego C2
Conceitos Chave
Estrutura da Configuração do Beacon
Os beacons do Cobalt Strike armazenam sua configuração como um blob de entradas TLV (Type-Length-Value) dentro da seção .data do PE. Beacons sem estágio codificam em XOR todo o código do beacon com uma chave de 4 bytes. O próprio blob de configuração usa uma chave XOR de um único byte. Cada entrada TLV contém um identificador de tipo de 2 bytes (por exemplo, 0x0001 para BeaconType, 0x0008 para C2Server), um comprimento de 2 bytes e dados de comprimento variável.
Perfis C2 Maleáveis
A configuração do beacon codifica o perfil C2 maleável que dita as transformações de requisição/resposta HTTP, incluindo caminhos de URI, cabeçalhos, codificação de metadados (Base64, NetBIOS) e transformações de dados. A análise dessas configurações revela como o beacon disfarça seu tráfego para se misturar com o tráfego web legítimo.
Identificação de Marca d'água e Licença
Cada licença do Cobalt Strike incorpora uma marca d'água única (inteiro de 4 bytes) nos beacons gerados. A extração da marca d'água pode vincular vários beacons ao mesmo operador ou licença rachada. Bancos de dados de marcas d'água conhecidas mantidos por provedores de inteligência de ameaças mapeiam marcas d'água para atores de ameaças específicos ou chaves de licença vazadas.
Fluxo de Trabalho
Etapa 1: Extrair Configuração com CobaltStrikeParser
#!/usr/bin/env python3
"""Extrai a configuração do beacon do Cobalt Strike de um arquivo PE ou dump de memória."""
import sys
import json
# Usando o CobaltStrikeParser do SentinelOne
# pip install dissect.cobaltstrike
from dissect.cobaltstrike.beacon import BeaconConfig
def extract_beacon_config(filepath):
"""Analisa a configuração do beacon a partir do arquivo."""
configs = list(BeaconConfig.from_path(filepath))
if not configs:
print(f"[-] Nenhuma configuração de beacon encontrada em {filepath}")
return None
for i, config in enumerate(configs):
print(f"\n[+] Configuração do Beacon #{i+1}")
print(f"{'='*60}")
settings = config.as_dict()
# Campos críticos para resposta a incidentes
critical_fields = [
"SETTING_C2_REQUEST",
"SETTING_C2_RECOVER",
"SETTING_PUBKEY",
"SETTING_DOMAINS",
"SETTING_BEACONTYPE",
"SETTING_PORT",
"SETTING_SLEEPTIME",
"SETTING_JITTER",
"SETTING_MAXGET",
"SETTING_SPAWNTO_X86",
"SETTING_SPAWNTO_X64",
"SETTING_PIPENAME",
"SETTING_WATERMARK",
"SETTING_C2_VERB_GET",
"SETTING_C2_VERB_POST",
"SETTING_USERAGENT",
"SETTING_PROTOCOL",
]
for field in critical_fields:
value = settings.get(field, "N/A")
print(f" {field}: {value}")
return settings
return None
def extract_c2_indicators(config):
"""Extrai indicadores C2 acionáveis da configuração do beacon."""
indicators = {
"c2_domains": [],
"c2_ips": [],
"c2_urls": [],
"user_agent": "",
"named_pipes": [],
"spawn_processes": [],
"watermark": "",
}
if not config:
return indicators
…
Perguntas frequentes
O que é Cobalt Strike?
É uma ferramenta usada por profissionais de segurança para simular ataques, mas que também pode ser usada por criminosos para realizar atividades maliciosas.
O que são 'Malleable C2 Profiles'?
São configurações que ajudam o Cobalt Strike a disfarçar seu tráfego de internet, fazendo parecer que é um tráfego normal.
O que é 'Watermark'?
É um identificador único que pode ajudar a rastrear de onde veio um Cobalt Strike específico, como uma impressão digital.
Detalhes
Descrição original do autor
Extract and analyze Cobalt Strike beacon configuration from PE files and memory dumps to identify C2 infrastructure, malleable profiles, and operator tradecraft.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5442
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC