
CTF guiado por IA - Irrumpe en un servidor real con Claude Code como tu entrenador
Un CTF donde usas IA para capturar la bandera.
¿Sin experiencia en pentesting? No hay problema. Claude Code actúa como tu entrenador personal: configura el entorno, te enseña las herramientas y te guía a través de técnicas de ataque reales paso a paso. Tú escribes cada comando tú mismo.
SNet es una máquina virtual vulnerable construida a partir de un servidor real que estuvo en producción. Esto no es un ejercicio de libro de texto: encontrarás el tipo de desorden que los administradores de sistemas reales dejan atrás: archivos de configuración, scripts olvidados, credenciales olvidadas y malas decisiones superpuestas.
Hay 10 rutas de ataque por descubrir. En cada partida tomas un camino diferente y recibes menos pistas. Para cuando las hayas encontrado todas, pensarás tanto como un atacante como un defensor.
Si puedes abrir una terminal, puedes jugar SNet.
git clone https://github.com/hrmtz/SNet.git
cd SNet
vagrant up
Todas las máquinas virtuales (entrenador IA, Kali, objetivo), red y reenvío de puertos: un solo comando.
Usuarios de WSL2: Instala la versión Linux de Vagrant dentro de WSL, no la versión Windows. Asegúrate de que estas variables de entorno estén configuradas (agrégalas a tu
~/.bashrco~/.zshrc):export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1" export PATH="$PATH:/mnt/c/Program Files/Oracle/VirtualBox"
Nota: La máquina virtual objetivo mostrará un tiempo de espera de autenticación SSH durante
vagrant up— esto es esperado. El objetivo es una máquina CTF y no permite acceso SSH de Vagrant. Mientrasvagrant statusla muestre comorunning, todo está bien.
| Máquina virtual | Comando | Notas |
|---|
Al primer inicio de sesión, Claude Code arranca automáticamente y te pide que elijas un método de autenticación:
Di "Please set up SNet" — el entrenador se encarga del resto.
Reconocimiento → Explotación → Capturar la bandera
↑ ↓
← Arréglelo como administrador de sistemas ←
(repetir × 10)
Este repositorio admite múltiples escenarios CTF. Por defecto, vagrant up inicia SNet1 (principiante).
| Escenario | Comando | Descripción |
|---|---|---|
| SNet1 | vagrant up | Entrando a una casa abierta (Principiante) |
| SNet2 | SNET=2 vagrant up | Manteniéndose oculto de los guardias (Intermedio) |
SNet2 añade un servidor de monitoreo Zabbix — debes operar bajo vigilancia activa. Consulta el README de SNet2 para más detalles.
Para iniciar un escenario específico cuando las máquinas virtuales ya están en ejecución:
SNET=2 vagrant up snet2-target snet2-zabbix # agregar VMs de SNet2
SNET=2 vagrant provision claude # configurar entrenador para SNet2
La máquina virtual Kali viene con rlwrap y tmux preinstalados para hacer que las reverse shells sean más cómodas.
Flujo de trabajo recomendado:
# 1. Iniciar una sesión tmux
tmux new-session -s attack
# 2. Usar rlwrap con nc para edición de línea e historial
rlwrap nc -lvnp 4444
# 3. Desplazarse arriba/abajo en tmux: Ctrl+B, luego [
# Salir del modo de desplazamiento: q
¿Por qué? Las reverse shells sin procesar carecen de teclas de dirección, autocompletado con tabulación y desplazamiento hacia atrás. rlwrap añade soporte readline (historial, edición), y tmux añade desplazamiento hacia atrás y gestión de ventanas.
Los nuevos escenarios se descargan automáticamente durante el aprovisionamiento. Para obtener los últimos:
vagrant provision claude
Esto obtiene las versiones más recientes de todos los escenarios disponibles sin tener que descargar toda la máquina virtual nuevamente.
Este proyecto se proporciona solo con fines educativos. Úsalo responsablemente.
| Entrenador IA | vagrant ssh claude o ssh -p 2222 snet@localhost | |
| Kali | vagrant ssh kali | |
| Objetivo | Sin SSH desde el anfitrión — atácalo desde Kali (10.0.10.20) |