Pular para o conteúdo
Skillpedia
Diversos35 mil · #5442

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/analyzing-cobalt-strike-beacon-configuration/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/analyzing-cobalt-strike-beacon-configuration/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-configuration

Ou 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.md
Conteú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.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5442
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas