Instalación de laboratorios
Esta guía describe el procedimiento general utilizado para instalar y ejecutar laboratorios de DockerLabs.
La instalación se realiza mediante Docker y permite levantar cada máquina vulnerable dentro de un entorno aislado.
Requisitos
Antes de comenzar, verificar que Docker esté instalado y funcionando:
docker --version
También se puede comprobar que el servicio esté operativo:
docker ps
Descargar el laboratorio
Los laboratorios pueden descargarse desde la página correspondiente de DockerLabs.
Por ejemplo:
https://dockerlabs.es/maquinas/
Cada laboratorio dispone de un botón o enlace de descarga que proporciona un archivo comprimido.
Guardar el archivo descargado en un directorio de trabajo, por ejemplo:
mkdir -p ~/dockerlabs
cd ~/dockerlabs
Extraer el laboratorio
Si el laboratorio se descarga como archivo ZIP, utilizar:
unzip archivo-lab.zip
Por ejemplo:
unzip acme.zip
Después de extraerlo, entrar en el directorio generado:
cd acme
La estructura exacta puede variar dependiendo del laboratorio.
Levantar el laboratorio
DockerLabs proporciona las instrucciones específicas para iniciar cada máquina.
Generalmente, dentro del directorio del laboratorio se encuentra un script o archivo indicado por la propia plataforma.
Ejecutar el comando proporcionado por DockerLabs para iniciar el laboratorio.
Una vez iniciado, la consola mostrará información relacionada con el entorno y, normalmente, la dirección IP asignada a la máquina vulnerable.
Ejemplo:
172.17.0.2
Esta dirección será el objetivo utilizado durante el laboratorio.
Importante: la IP puede cambiar entre laboratorios. Nunca asumir que todos utilizan la misma dirección.
Verificar que el laboratorio está funcionando
Una vez iniciado el entorno, comprobar los contenedores activos:
docker ps
También se puede verificar la conectividad con la IP proporcionada:
ping -c 3 <IP>
Si ICMP no está disponible, se puede pasar directamente al reconocimiento mediante Nmap:
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn <IP>
Realizar el laboratorio
A partir de este punto comienza la fase de reconocimiento y explotación.
El procedimiento recomendado es:
Reconocimiento
↓
Enumeración
↓
Identificación de vulnerabilidades
↓
Explotación
↓
Acceso inicial
↓
Enumeración local
↓
Escalada de privilegios
↓
Obtención de flags
Toda la actividad debe realizarse únicamente contra la máquina proporcionada por el laboratorio.
Finalizar el laboratorio
Cuando se haya terminado el laboratorio, DockerLabs indica utilizar:
Ctrl+C
El proceso de limpieza proporcionado por el laboratorio se encargará de detener y eliminar los recursos correspondientes.
Verificar que no quedaron recursos
Después de finalizar, se puede comprobar que no quedan contenedores activos:
docker ps
Para mostrar también los contenedores detenidos:
docker ps -a
También se pueden revisar las imágenes disponibles:
docker images
Y, si fuera necesario, los recursos relacionados con Docker:
docker system df
Estructura recomendada para los laboratorios
Para mantener organizado el portfolio:
labs/
├── instalar-labs.md
│
├── acme/
│ ├── README.md
│ └── assets/
│
├── otro-lab/
│ ├── README.md
│ └── assets/
│
└── otro-lab/
├── README.md
└── assets/
Cada laboratorio debe centrarse exclusivamente en:
- Reconocimiento.
- Enumeración.
- Acceso inicial.
- Enumeración local.
- Escalada de privilegios.
- Evidencias.
- Flags.
- Mitigaciones.
- Aprendizajes.
La instalación y limpieza del entorno se documentan únicamente en este archivo para evitar repetir el mismo procedimiento en cada reporte.