Communitygithub.com

construção-de-infraestrutura-de-redirecionador-c2

Construa redirecionadores C2 do tipo "dumb-pipe" e de filtro de tráfego com nginx (proxy_pass) e Apache (mod_rewrite), derivando regras de filtro de um perfil Malleable C2, com camada TLS.

O que é construção-de-infraestrutura-de-redirecionador-c2?

Este skill ensina como construir redirecionadores de Comando e Controle (C2) para engajamentos de red team autorizados. Ele cobre tanto redirecionadores "dumb-pipe" (simples encaminhamento de porta com socat ou iptables) quanto redirecionadores inteligentes com filtragem (nginx proxy_pass e Apache mod_rewrite). A principal utilidade é proteger o servidor de equipe (team server) contra descoberta e derrubada, fazendo com que os beacons dos implants se conectem a uma borda pública que filtra o tráfego: apenas requisições que correspondem exatamente ao perfil Malleable C2 (URI, User-Agent, cabeçalhos) são encaminhadas ao servidor oculto; todo o resto é desviado para um site isca benigno. O skill detalha o processo completo: preparação do ambiente (VPS, domínio, firewall), configuração de redirecionadores nginx e Apache, geração automatizada de regras a partir de perfis Cobalt Strike com a ferramenta cs2modrewrite, terminação TLS com Let's Encrypt e aplicação de controles de OPSEC (validação de cabeçalhos, filtragem geográfica, fronting CDN). É uma referência prática para operadores de segurança ofensiva que precisam de infraestrutura C2 resiliente e de baixa atribuição.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/building-c2-redirector-infrastructure

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Construção de Infraestrutura de Redirecionador C2

Uso Autorizado Apenas: Este skill destina-se exclusivamente a engajamentos autorizados de red team, exercícios de simulação de adversários e pesquisa defensiva. A infraestrutura de comando e controle é de uso duplo; implantar redirecionadores para controlar malware em sistemas nos quais você não está explicitamente autorizado a testar é ilegal. Opere apenas dentro de um escopo acordado com um documento de regras de engajamento assinado e descomissione a infraestrutura quando o engajamento terminar.

Visão Geral

Um redirecionador C2 é um host intermediário que fica entre os implants da vítima e o servidor de equipe real. Os beacons se conectam ao domínio/IP público do redirecionador; o redirecionador inspeciona cada requisição e encaminha o tráfego C2 legítimo de volta ao servidor de equipe oculto, ou desvia todo o resto (scanners, analistas da equipe azul, sandboxes) para um site isca benigno. Isso protege o servidor de equipe de descoberta, derrubada e atribuição, e permite que os operadores rotacionem a borda pública sem reconstruir o backend. A técnica mapeia para MITRE ATT&CK T1090.002 (Proxy: External Proxy) — adversários roteiam C2 através de um nó intermediário para ocultar a verdadeira origem.

Os redirecionadores vêm em dois sabores. Dumb pipes (socat, iptables NAT) encaminham cegamente uma porta e fornecem separação, mas sem filtragem. Redirecionadores inteligentes/com filtro (nginx proxy_pass, Apache mod_rewrite com [P], ou ferramentas específicas como RedWarden) analisam requisições HTTP e encaminham apenas o tráfego que corresponde ao perfil Malleable C2 do implante — URI, User-Agent, cabeçalhos — enquanto enviam todo o resto com um 302 para um site real. A lógica de filtragem é derivada diretamente do perfil de tráfego da estrutura C2, portanto os dois devem permanecer sincronizados. Ferramentas como cs2modrewrite automatizam a geração de regras Apache/nginx a partir de um perfil Malleable C2 do Cobalt Strike.

Este skill cobre a construção de redirecionadores dumb e filtrantes com nginx e Apache, derivação de regras de filtro a partir de um perfil malleable, camada TLS com Let's Encrypt e aplicação de controles de OPSEC (domínios categorizados, domain fronting/CDN fronting, validação de cabeçalhos, filtragem geo/UA) para infraestrutura resiliente e de baixa atribuição.

Quando Usar

  • Montar C2 de red team que deve sobreviver a triagem da equipe azul e solicitações de derrubada de domínio.
  • Separar um servidor de equipe oculto de qualquer host com acesso à internet durante um engajamento.
  • Filtrar tráfego de implantes para que apenas requisições que correspondam ao perfil alcancem o backend, desviando scanners.
  • Adicionar terminação TLS, categorização de domínio e fronting CDN/domínio a um listener HTTP(S).
  • Ensinar defensores como o C2 de proxy externo (T1090.002) é construído para que possam detectá-lo.

Pré-requisitos

  • Uma ou mais instâncias VPS cloud descartáveis (a borda do redirecionador) e um host de servidor de equipe separado e com firewall.
  • Um domínio registrado com DNS controlável, de preferência envelhecido/categorizado.
  • Acesso root no host do redirecionador. Instale o servidor web e as ferramentas TLS:
    # Redirecionador Debian/Ubuntu
    sudo apt update
    sudo apt install -y nginx apache2 socat certbot python3-certbot-nginx git
    # Habilite módulos de proxy do Apache se usar redirecionador mod_rewrite
    sudo a2enmod rewrite proxy proxy_http ssl headers
    
  • O perfil Malleable C2 da estrutura C2 (Cobalt Strike .profile, perfil HTTP Sliver/Havoc) definindo URIs, User-Agent e cabeçalhos.
  • cs2modrewrite para gerar regras automaticamente a partir de um perfil Cobalt Strike:
    git clone https://github.com/threatexpress/cs2modrewrite
    
  • Configure o firewall do servidor de equipe para aceitar apenas o IP do redirecionador na porta C2.

Objetivos

  • Implantar um redirecionador dumb-pipe (socat/iptables) para separação rápida de portas.
  • Implantar um redirecionador nginx reverse proxy filtrante vinculado a um perfil malleable.
  • Implantar um redirecionador Apache mod_rewrite com proxy [P] e fallback 302 para isca.
  • Gerar automaticamente regras de redirecionador a partir de um perfil Cobalt Strike com cs2modrewrite.
  • Terminar TLS com Let's Encrypt e fortalecer a borda pública.
  • Aplicar OPSEC: validação de cabeçalho/UA, filtragem geográfica, desvio para isca e rotação de infraestrutura.

Mapeamento MITRE ATT&CK

ID da TécnicaNome OficialRelevância
T1090.002Proxy: External ProxyO redirecionador é um intermediário externo que faz proxy do C2 para ocultar o servidor de equipe
T1090.004Proxy: Domain FrontingFronting CDN roteia o tráfego do beacon através de um domínio confiável de alta reputação
T1071.001Application Layer Protocol: Web ProtocolsO C2 é tunelado sobre HTTP/HTTPS moldado pelo perfil malleable
T1573.002Encrypted Channel: Asymmetric CryptographyA terminação TLS no redirecionador criptografa o canal do beacon
T1583.006Acquire Infrastructure: Web ServicesBordas VPS/CDN descartáveis são adquiridas para C2 resiliente

Fluxo de Trabalho

1. Prepare e configure o firewall do servidor de equipe

Coloque o servidor de equipe em um host privado. Restrinja sua porta C2 apenas ao IP do redirecionador.

# No servidor de equipe: apenas o redirecionador (203.0.113.10) pode acessar 443/tcp
sudo ufw default deny incoming
sudo ufw allow from 203.0.113.10 to any port 443 proto tcp
sudo ufw allow OpenSSH
sudo ufw enable

2. Redirecionador dumb-pipe (socat / iptables)

Para separação rápida sem filtragem, encaminhe a porta C2 para o servidor de equipe.

# Encaminhamento socat em foreground de 443 -> servidor de equipe
socat TCP4-LISTEN:443,fork,reuseaddr TCP4:10.0.0.2:443

# Ou iptables DNAT (persistente)
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 10.0.0.2:443
iptables -t nat -A POSTROUTING -p tcp -d 10.0.0.2 --dport 443 -j MASQUERADE

3. Redirecionador nginx reverse proxy filtrante

Encaminhe apenas requisições cuja URI corresponda ao perfil malleable; envie todo o resto com 302 para uma isca. Substitua a regex de localização e o User-Agent pelos valores do seu perfil.

# /etc/nginx/sites-available/redirector.conf
server {
    listen 443 ssl;
    server_name cdn.example.com;

    ssl_certificate     /etc/letsencrypt/live/cdn.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cdn.example.com/privkey.pem;

    # Faça proxy APENAS das URIs C2 que correspondem ao perfil para o servidor de equipe oculto
    location ~ ^/(api/v2/jobs|cm/[a-z0-9]+|push) {
        # Exija o User-Agent exato do implante
        if ($http_user_agent != "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36") {
            return 302 https://www.legitimate-decoy.com/;
        }
        proxy_pass https://10.0.0.2;
        proxy_ssl_verify off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }

    # Todo o resto -> isca benigna
    location / {
        return 302 https://www.legitimate-decoy.com/;
    }
}
sudo ln -s /etc/nginx/sites-available/redirector.conf /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

4. Redirecionador Apache mod_rewrite

A flag [P] do Apache encaminha requisições correspondentes para o servidor de equipe; não correspondências recebem um redirecionamento 302. Este é o formato que cs2modrewrite produz.

# /etc/apache2/sites-available/redirector.conf  (dentro de <VirtualHost *:443>)
RewriteEngine On
SSLProxyEngine On
# Exija o User-Agent do implante
RewriteCond %{HTTP_USER_AGENT} "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" [NC]
# Corresponda às URIs C2 válidas (GET/POST/stager) do perfil malleable
RewriteCond %{REQUEST_URI} ^/(api/v2/jobs|cm/[a-z0-9]+|push)/?$
# Faça proxy para o servidor de equipe oculto, preservando a URI
RewriteRule ^.*$ https://10.0.0.2%{REQUEST_URI} [P,L]
# Todo o resto -> site isca
RewriteRule ^.*$ https://www.legitimate-decoy.com/ [R=302,L]
sudo a2ensite redirector && sudo apache2ctl configtest && sudo systemctl reload apache2

5. Gere regras a partir de um perfil malleable

Use cs2modrewrite para construir as regras Apache ou nginx diretamente do seu perfil Cobalt Strike, de modo que o filtro corresponda exatamente ao tráfego do beacon.

cd cs2modrewrite
# Regras Apache mod_rewrite
python3 cs2modrewrite.py -i havex.profile -c https://10.0.0.2 \
  -r https://www.legitimate-decoy.com -o /etc/apache2/redirect.rules
# Configuração nginx
python3 cs2nginx.py -i havex.profile -c https://10.0.0.2 \
  -r https://www.legitimate-decoy.com -H cdn.example.com > /etc/nginx/sites-available/c2.conf

6. Termine TLS com Let's Encrypt

Emita um certificado válido para que o HTTPS do beacon não gere avisos TLS e a borda pareça legítima.

sudo certbot --nginx -d cdn.example.com --agree-tos -m [email protected] --redirect
# Verifique a renovação automática
sudo certbot renew --dry-run

7. Aplique controles de OPSEC

Adicione camadas de defesa contra análise da equipe azul: valide cabeçalhos, restrinja geograficamente ao país alvo, desvie sandboxes e rotacione bordas. Considere fronting CDN/domínio (T1090.004) quando suportado.

# Exemplo: descarte geografias não alvo no firewall com ipset/GeoIP,
# exija um cabeçalho de autenticação personalizado no perfil e rotacione o domínio/IP
# do redirecionador em um cronograma. Verifique se o redirecionador encaminha apenas tráfego correspondente:
curl -k https://cdn.example.com/                       # espere 302 para isca
curl -k -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \
  https://cdn.example.com/api/v2/jobs                  # espere resposta encaminhada

Ferramentas e Recursos

FerramentaPropósitoFonte
nginxRedirecionador reverse proxy filtrantehttps://nginx.org/
Apache mod_rewriteProxy [P] + redirecionador isca 302https://httpd.apache.org/docs/current/mod/mod_rewrite.html
cs2modrewriteGera regras Apache/nginx a partir de perfil CShttps://github.com/threatexpress/cs2modrewrite
RedWardenReverse proxy C2 filtrante consciente de Malleablehttps://github.com/mgeeky/RedWarden
rediRedirecionador CS automatizado nginx + Let's Encrypthttps://github.com/taherio/redi
socatEncaminhador TCP dumb-pipehttp://www.dest-unreach.org/socat/
Let's Encrypt / certbotCertificados TLS gratuitoshttps://certbot.eff.org/
ired.teamReferência de infraestrutura de red teamhttps://www.ired.team/offensive-security/red-team-infrastructure

Critérios de Validação

  • Servidor de equipe com firewall configurado para aceitar apenas o IP de origem do redirecionador na porta C2.
  • Redirecionador implantado (dumb pipe e/ou reverse proxy filtrante).
  • Regras de filtro derivadas do perfil Malleable C2 real (URI + User-Agent + cabeçalhos).
  • Requisições não correspondentes retornam 302 para um site isca benigno (verificado com curl).
  • Requisições de beacon correspondentes são encaminhadas ao servidor de equipe oculto (verificado com curl).
  • Certificado TLS válido emitido e renovação automática confirmada.
  • Controles de OPSEC aplicados (validação de UA/cabeçalho, geofencing, desvio para isca).
  • Categorização de domínio/fronting CDN considerados quando aplicável.
  • Plano de rotação e descomissionamento de infraestrutura documentado.
  • Toda atividade confinada ao escopo de engajamento autorizado.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

Habilidades Relacionadas