Repositorio del CTF de ciberseguridad original de cyberzaintza, actualizado para que funcione con versiones recientes de Docker y librerías.
- Nivel 1: Stack Django + Postgres + Nginx/HTTPS y un servicio Go H2C. Punto de entrada principal en
docker-compose.yml. - Nivel 2: Bot Playwright y backend Django con JWT que interactúan con el nivel 1.
- Nivel 3: Binario ELF interactivo que habla con el backend del nivel 4.
- Nivel 4: Django + Apache que sirven ficheros y un formulario de subida de
.tar.gz. - Nivel 5: Django con endpoint oculto para pruebas de comandos.
- Bonus: Contenedor Ubuntu con knockd/SSH para reto adicional.
- Ajustes en Dockerfiles para que las imágenes Python 3.8 funcionen con versiones recientes de
pipyTwisted(pins<25) y sus dependencias en Alpine. - Instalación explícita de toolchains/headers (gcc, musl, libffi, openssl, rust/cargo) para compilar dependencias en contenedores Python.
- Limpieza y pequeñas correcciones de compatibilidad para evitar fallos de build/arranque con Docker moderno.
- Docker y Docker Compose Plugin (o
docker-compose) instalados en Linux. - Permiso para ejecutar contenedores (usuario en el grupo
dockero usarsudo). - Git para clonar el repositorio.
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# (Opcional) añadir tu usuario al grupo docker y reabrir sesión:
sudo usermod -aG docker "$USER"Si el repo oficial devuelve 404 (como en Kali), instala desde los paquetes de la distribución y respeta el orden (primero Docker Engine, luego Compose):
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker
sudo apt install -y docker-compose
# (Opcional) añadir tu usuario al grupo docker y reabrir sesión:
sudo usermod -aG docker "$USER"# 1) Clonar el repositorio
git clone https://github.com/jagumiel/CTF_BCSC.git
cd CTF_BCSC
# 2) Construir las imágenes
docker compose build # o: docker-compose build
# 3) Levantar los servicios
docker compose up # o: docker-compose up
# 4) (Opcional) Añadir al /etc/hosts si quieres resolver el dominio interno
# echo "127.0.0.1 blacksheep.hacker" | sudo tee -a /etc/hostsLos contenedores se organizan en dos redes (no-internet e internet) y crean volúmenes persistentes para base de datos y datos web. Consulta docker-compose.yml para ver puertos y dependencias entre servicios.
- Este repositorio no incluye pasos de resolución; sólo monta la infraestructura del CTF.
- Ejecuta los retos en un entorno aislado (p. ej. VMWare / VirtualBox) dado que los servicios son deliberadamente vulnerables.
- Reto original creado por Cyberzaintza (organismo de ciberseguridad del Gobierno Vasco): https://ciberseguridad.euskadi.eus/ciberreto/