Antes de empezar

Cómo hacer los labs, de 0

Esta es tu guía de arranque, sin dar nada por sabido. Casi todos nuestros laboratorios funcionan igual: descargas un pack, lo levantas con un comando, interactúas con él (por web, por terminal o entrando a un contenedor) y resuelves. Aquí tienes TODO lo que necesitas para hacerlos aunque empieces de cero. Si ya lo dominas, sáltatela.

▶ Vídeo-tutorial · empieza de cero, te acompaño · 3 min

🧰 1 · Qué vas a usar

No necesitas montar casi nada. Con esto haces el 100% de los labs:

Docker + Docker Compose para levantar los packs de lab · el Kali del navegador (en /aula, cero instalación, ya trae curl, tshark, python, nmap…) · curl para hablar con servicios web/API · un editor (nano/vim) para tocar ficheros de config.

Si usas el Kali de la academia ya tienes casi todo. Para los packs con Docker, necesitas Docker en tu equipo (o el entorno que te indiquemos).

📦 2 · Arrancar un lab (Docker Compose)

Los labs descargables son un pack con un fichero docker-compose.yml. El ciclo es siempre el mismo:

docker-compose up -d --build # monta y arranca (la 1ª vez construye; tarda un poco) docker-compose logs -f <servicio> # mira EN VIVO lo que hace un contenedor docker-compose restart <servicio> # recarga tras editar un fichero de config docker-compose down # apaga y limpia al terminar
¿El puerto 8080 ocupado? Casi todos aceptan WAF_PORT=8088 docker-compose up -d (o IA_PORT…). Lo verás en el LEEME de cada pack.

🔐 3 · Entrar a un contenedor (o por SSH)

Algunos labs te piden entrar a la máquina para auditarla desde dentro (por ejemplo, para pasar Lynis o mirar ficheros). Dos formas:

# entrar a un contenedor del propio lab: docker-compose exec <servicio> bash # o 'sh' si no hay bash # o por SSH, si el lab te da usuario/clave: ssh usuario@localhost -p <puerto> # acepta la huella la 1ª vez (yes)

Una vez dentro, es una terminal Linux normal: te mueves con cd/ls, lees con cat, y ejecutas lo que te pida el lab.

💬 4 · Hablar con un servicio web o una API (curl)

Muchos labs exponen una web o una API: le mandas una petición y te devuelve una respuesta. Con curl, desde la terminal:

curl -s "http://localhost:8080/ruta?param=valor" # petición GET (datos en la URL) curl -si "http://localhost:8080/..." # -i = incluye las cabeceras (ver el código 200/403…) curl -s -X POST -d '{"k":"v"}' http://localhost:8080/api # datos en el cuerpo (JSON)

Esto sirve tanto para usar el servicio como para probarlo (mandarle un ataque y ver si se defiende). Es la base de los labs de WAF y de IA.

🔍 5 · Ejecutar una herramienta y leer su salida

Cada track usa su herramienta (awscli en Cloud, Lynis en Compliance, nft/Suricata en Redes, tshark en OT…). El patrón de lectura es común: ejecutas, y filtras lo importante.

# ejemplos por track (cada módulo te enseña el suyo): aws --endpoint-url=http://localhost:4566 --no-sign-request s3 ls # Cloud (AWS emulado) lynis audit system # Compliance (hardening) tshark -r captura.pcap -Y "modbus" -T fields -e ip.src # OT (leer una captura) docker-compose logs waf | grep -o '"ruleId":"[0-9]*"' | sort | uniq -c # WAF (leer alertas)
Truco universal: | grep filtra, | sort | uniq -c cuenta y agrupa. Primero mira el conjunto (qué es normal), luego busca lo que se sale: esa anomalía suele ser tu hallazgo.

✅ 6 · Nunca te quedas solo

Cada lab trae, además, su propio LEEME con los comandos exactos paso a paso, y un vídeo de resolución donde lo ves hecho de principio a fin. Y tienes el Arsenal (chuleta de comandos) y la Wiki (conceptos) como apoyo. Si te falta base de terminal, empieza por Linux & Terminal (de 0 a Pro).

▶ Ir al Arsenal