Un lienzo para infraestructura de red team y cyber ranges. Compón una topología, exporta Terraform y Ansible ejecutables, y despliégala tú mismo. Tus credenciales de la nube nunca salen de tu máquina.

Un lienzo web donde construyes infraestructura como una topología y luego exportas un directorio de trabajo completo y ejecutable de Terraform y Ansible. Lo ejecutas desde tu propia máquina. redStackPRO nunca almacena tus credenciales de nube.
[!IMPORTANT] redStackPRO está en prerelease (beta). El esquema y las funcionalidades aún están en movimiento. GCP y AWS están probados de extremo a extremo; Azure, Proxmox y ESXi están en la hoja de ruta. Espera asperezas, y fija una versión publicada si necesitas estabilidad.
¿Encontraste una aspereza o tienes comentarios? Abre un issue en Issues. Si fue un despliegue, adjunta el
logs/deploy-*.logdepurado que escribió la ejecución (registra versiones, proveedor y dónde se detuvo, con los secretos eliminados) para que pueda analizarse rápido. Tus informes dan forma a la versión.
redStackPRO pone la infraestructura de ataque y los rangos objetivo en el mismo lienzo. Los dos
modos del lienzo son Offense (infraestructura de ataque) y Defense (rangos AD defensivos); la
exportación nombra su entrega OFFENSE-BRIEFING.md o DEFENSE-BRIEFING.md según corresponda.
Split horizon C2, infraestructura de ataque: dos puertas de entrada que no comparten un destino, Apache delante de Sliver y Nginx delante de Mythic, cada redirector en su propia red emparejada, con los teamservers, el colector y los operadores detrás de un jumpbox.

Múltiples operadores, un solo stack. Un jumpbox de infraestructura de ataque puede nombrar una
lista de operators (handle más rol), y cada uno obtiene un inicio de sesión en el portal Guacamole
con la contraseña de laboratorio compartida. Establece el access_mode del jumpbox en wireguard o
openvpn (por defecto es un portal público) y cada operador también obtiene una credencial VPN
personal generada en el jumpbox al aplicar: las claves nunca salen de la máquina
ni entran en la exportación, solo lo hace el archivo de configuración del cliente. Los inicios de sesión del portal hoy
comparten la única contraseña de laboratorio, así que el aislamiento por operador proviene de la credencial VPN
propia de cada operador, no del inicio de sesión del portal; las contraseñas individuales del portal están en la
hoja de ruta. En un modo de acceso VPN el portal se cierra a internet y se mueve detrás
del túnel, mientras que SSH permanece abierto para que el administrador pueda seguir desplegando y gestionando la
máquina. Añade o elimina un compañero de equipo en un jumpbox en ejecución con
sudo rsp-operator add <handle>. Consulta la
wiki Deploying a Range.
Harbor, un rango objetivo: un pequeño bosque corporativo, un dominio raíz y un hijo sobre una relación de confianza padre-hijo, con el camino ordinario desde una estación de trabajo comprometida por phishing hasta el bosque.

GOAD, el laboratorio completo: tres dominios en dos bosques, cinco máquinas y sus confianzas, el rango de referencia que sigue la solución escrita.

[!IMPORTANT] La exportación es el límite. El lienzo genera archivos; tú los ejecutas con tus propias credenciales. redStackPRO nunca despliega nada y nunca almacena un secreto.
[!CAUTION] Solo uso autorizado. redStackPRO construye infraestructura ofensiva y rangos deliberadamente vulnerables. Úsalo solo en entornos de laboratorio que poseas o para los que estés explícitamente autorizado a probar, nunca contra sistemas para los que no tengas permiso por escrito.
Pre-release, y el esquema de topología aún está en movimiento. El pipeline en sí funciona de extremo a extremo: una topología compila a Terraform y Ansible, y la exportación se despliega.
| Proveedor | Estado |
|---|---|
| GCP, AWS | Soportados y probados de extremo a extremo, tanto para rangos objetivo como para infraestructura de ataque. |
| Azure, Proxmox, ESXi | En la hoja de ruta, aún no soportados. |
Todo el lienzo en un contenedor, la API y la aplicación web en un solo puerto:
docker compose up # builds from this repo, http://127.0.0.1:8000
O descarga la imagen publicada en lugar de construirla:
docker run -p 8000:8000 -v redstackpro-data:/data \
ghcr.io/devzero-security/redstackpro:0.9.0
El lienzo escucha en el puerto 8000 dentro del contenedor. Para servirlo en un puerto de host
diferente, cambia la mitad izquierda del mapeo (-p 8787:8000), o establece
REDSTACKPRO_PORT para compose (REDSTACKPRO_PORT=8787 docker compose up).
Compose también incluye un backend Postgres opcional para un despliegue compartido:
REDSTACKPRO_DATABASE_URL=postgresql+psycopg://redstackpro:redstackpro@db:5432/redstackpro \
docker compose --profile postgres up
La imagen es solo la capa de composición. No incluye Terraform ni Ansible y nunca almacena tus credenciales de nube: tú ejecutas la exportación que produce desde tu propia máquina, exactamente como en el flujo desde el código fuente de abajo.
Python 3.11 o superior, y Node 24 para el lienzo.
git clone <this repo> && cd redStackPRO
python -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
El lienzo son dos procesos, la API y la aplicación web:
redstackpro serve # http://127.0.0.1:8000
cd frontend && npm install && npm run dev
redstackpro serve --port 8787 mueve la API a un puerto diferente. Apunta el
servidor de desarrollo del lienzo hacia ella con REDSTACKPRO_API=http://127.0.0.1:8787.