Attack-defense frente a jeopardy
En los CTF que ya conoce, de tipo jeopardy, usted resuelve retos sueltos y entrega banderas. En un CTF attack-defense el juego cambia por completo: cada equipo administra una copia de los mismos servicios y, al mismo tiempo, debe atacarlos en los demás equipos y defenderlos en el suyo. Es lo más parecido que existe a un simulacro de operaciones reales, con la red controlada y las reglas claras.
Jeopardy frente a attack-defense
En un jeopardy el escenario es estático: hay retos de web, cripto o forense, usted los ataca y nadie le ataca a usted. En un attack-defense el escenario está vivo. Todos los equipos reciben la misma máquina virtual, llamada vulnbox, con un conjunto de servicios que tienen fallas idénticas. Nadie le entrega los retos resueltos: usted estudia su propia vulnbox, encuentra las fallas, las aprovecha contra los demás y las corrige en la suya.
De dónde viene el formato
Los CTF nacieron en la cultura hacker de los años noventa. La competencia que popularizó el formato attack-defense fue la de DEF CON, la conferencia de seguridad de Las Vegas, cuyo CTF adoptó el modelo de equipos que atacan y defienden a finales de esa década. En el mundo académico, la iCTF de la Universidad de California en Santa Bárbara, que arrancó alrededor del año 2003, llevó el formato a las universidades y lo convirtió en una herramienta de enseñanza. Más tarde aparecieron competencias abiertas y bien documentadas como FAUST CTF (Universidad de Erlangen-Núremberg) y ENOWARS, que hicieron el formato accesible a equipos nuevos. El módulo final del curso vuelve sobre estas plataformas con detalle.
La idea de fondo no cambió: en lugar de resolver retos que nadie disputa, cada equipo recibe sistemas reales y debe sostenerlos mientras otros intentan vulnerarlos. Es la razón por la que el attack-defense se usa tanto para entrenar equipos profesionales.
Por qué importa en ciberseguridad y en el trabajo
Este formato entrena, de golpe, las dos mitades del oficio. Quien defiende practica justo lo que hace un equipo de operaciones de seguridad: descubrir qué servicios corre, respaldarlos, vigilar el tráfico, reconocer un ataque en vivo y corregir sin dejar caer el servicio. Quien ataca practica la auditoría de código y la escritura de exploits confiables, que es el trabajo de un pentester o de un analista de vulnerabilidades. Perfiles como analista de SOC, respondedor de incidentes, pentester o ingeniero de detecciones reconocen en el attack-defense una versión comprimida y medible de su día a día. Si no domina el equilibrio entre atacar y mantener disponible, en una competencia pierde puntos; en el trabajo real, se cae un servicio o se escapa un intruso.
Dónde se practica este formato
| Dónde | Qué encontrará |
|---|---|
| Competencias abiertas por internet | FAUST CTF, ENOWARS: vulnbox por equipo, conexión por VPN |
| Competencias académicas | iCTF, ECSC: impulsadas por universidades y selecciones nacionales |
| Su propio laboratorio | Máquinas virtuales aisladas que usted controla, como las de este curso |
| Entrenamiento de equipos | Simulacros internos de empresas y equipos de respuesta |
Todas comparten una condición: ocurren en una red cerrada donde los participantes aceptaron las reglas. Ese perímetro es lo que vuelve legítimo el juego.
Las piezas del tablero
Conviene fijar el vocabulario antes de jugar:
- Servicio: una pequeña aplicación en red que corre en cada vulnbox, por ejemplo una libreta de notas o un chat. Cada servicio guarda banderas y tiene fallas.
- Flag o bandera: un texto con formato conocido, como
secwing{texto_secreto}, que el servidor del juego deposita en cada servicio cada cierto tiempo. - Tick: la unidad de tiempo del juego, típicamente uno o dos minutos. En cada tick el servidor inserta banderas nuevas y comprueba que los servicios respondan bien.
- Gameserver: el servidor de la organización que inserta banderas, verifica servicios y recibe las que usted roba.
- SLA: del inglés Service Level Agreement. Mide si su servicio está vivo y responde correctamente. Si se le cae o lo rompe, pierde puntos de disponibilidad.
El ciclo de una partida
La dinámica se repite tick tras tick durante varias horas. El gameserver deposita una bandera fresca en cada servicio de cada equipo. Usted tiene ese tick para aprovechar una falla en el servicio de un rival, leer su bandera y enviarla al gameserver antes de que caduque. A la vez, debe mantener su propio servicio en pie y parcheado para que nadie le robe las suyas y para que el verificador lo siga marcando como disponible.
Por eso el attack-defense premia el equilibrio. De nada sirve robar muchas banderas si su servicio se cae y pierde todos los puntos de disponibilidad, ni blindar tanto su servicio que deje de funcionar y el verificador lo penalice igual.
Todo ocurre en una red cerrada
Un detalle central: estas competencias se juegan en una red aislada montada por la organización, con equipos que aceptaron las reglas. Atacar los servicios del juego es legítimo porque ese es el acuerdo; atacar cualquier cosa fuera de ese perímetro no lo es. A lo largo del curso usted practicará en su propia máquina, con servicios que usted mismo escribe y que solo escuchan en 127.0.0.1.