Paradise
Introducción
Sección titulada «Introducción»Este documento describe la resolución completa de la máquina Paradise, desarrollada por kaikoperez para la plataforma DockerLabs y catalogada como fácil. El análisis se estructura de forma clara y progresiva, permitiendo comprender tanto la lógica de explotación como las vulnerabilidades presentes.
El objetivo principal es documentar:
- Identificación de vectores de ataque.
- Análisis de servicios expuestos y archivos accesibles.
- Obtención de acceso inicial a través de la explotación de un fallo de inclusión de archivos y posteriormente un ataque de fuerza bruta.
- Escalada de privilegios mediante binarios con permisos elevados, hasta alcanzar el control total del sistema.
La metodología empleada se organiza en tres fases:
- Reconocimiento: análisis superficial y profundo del entorno, servicios y recursos accesibles.
- Explotación: validación de vulnerabilidades, extracción de credenciales y obtención del primer acceso.
- Escalada de privilegios: abuso de configuraciones de
sudoy binarios privilegiados para alcanzar el nivel root.
Todas las pruebas se realizaron en el entorno aislado provisto por DockerLabs.
Información General
Sección titulada «Información General»| Atributo | Valor |
|---|---|
| Nombre | Paradise |
| Autor | kaikoperez |
| Dificultad | Fácil |
| Fecha | 01/09/2024 |
| Plataforma | DockerLabs |
Paso 0 — Preparación y despliegue
Sección titulada «Paso 0 — Preparación y despliegue»Se descomprime la máquina:
unzip "Paradise.zip"Posteriormente, se inicia el contenedor:
sudo bash auto_deploy.sh "Paradise.tar"El script devuelve la IP interna, que será utilizada en cada fase de la auditoría.

Paso 1 — Reconocimiento
Sección titulada «Paso 1 — Reconocimiento»1.1 Organización del entorno de trabajo
Sección titulada «1.1 Organización del entorno de trabajo»Para facilitar la documentación de hallazgos, se crea una estructura organizada de directorios:
mkdir -p Paradise/{content,exploits,nmap,gobuster,scripts}cd Paradise1.2 Escaneo de puertos
Sección titulada «1.2 Escaneo de puertos»Se realiza un escaneo completo de puertos con Nmap:
nmap -p- --open -sS --min-rate 5000 -vvv -n 172.18.0.2 -oG allPortsextractPorts allPortsPuertos detectados:
- 22/tcp — SSH
- 80/tcp — HTTP
- 139/tcp — NetBios-ssn
- 445/tcp — Microsoft-ds

La presencia de SMB (139 y 445) abre la posibilidad de enumeración adicional mediante herramientas especializadas.
1.3 Enumeración Web (HTTP - puerto 80)
Sección titulada «1.3 Enumeración Web (HTTP - puerto 80)»Se procede a identificar directorios y archivos accesibles:
gobuster dir \ -u http://172.18.0.2/ \ -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt \ -x php,html,txt,js \ -t 200
Resultado de interés:
- /img/ — Contiene las imágenes mostradas en la galería.
- /login.php — Formulario que requiere correo y código.
- /index.html — Página principal con galería fotográfica.

- /galery.html — Galería de fotos con un comentario codificado en base64 dentro del código fuente.

- /booking.html — Formulario sencillo que solicita un correo.
La nota codificada en galery.html destaca como la pista más relevante hasta ese momento.
1.4 Enumeración SMB
Sección titulada «1.4 Enumeración SMB»Se ejecuta enum4linux para identificar recursos compartidos:

El análisis muestra únicamente los shares disponibles, sin usuarios válidos ni información útil para autenticación.
Paso 2 — Explotación (Acceso Inicial)
Sección titulada «Paso 2 — Explotación (Acceso Inicial)»El comentario encontrado en galery.html, una vez decodificado desde base64, revela la cadena:
estoesunsecretoAunque no corresponde a credenciales, se intenta validar si este texto coincide con un directorio dentro del sitio web. El directorio existe, y en su interior se encuentra el archivo:
mensajeparalucasContenido del archivo:

El mensaje advierte al usuario lucas que su contraseña es débil y vulnerable a ataques de fuerza bruta. Esta pista apunta directamente al servicio SSH, indicado previamente por el escaneo de puertos.
Ataque de fuerza bruta
Sección titulada «Ataque de fuerza bruta»Se utiliza Hydra para realizar un ataque directo al servicio SSH:
hydra -l lucas -P rockyou.txt ssh://172.17.0.2 -t 64
La contraseña es encontrada con éxito, permitiendo acceso directo al sistema:

Paso 3 — Escalada de privilegios
Sección titulada «Paso 3 — Escalada de privilegios»3.1 De lucas → andy (sudo + sed)
Sección titulada «3.1 De lucas → andy (sudo + sed)»Revisando permisos sudo:

El usuario lucas puede ejecutar sed como andy.
El binario sed permite ejecutar comandos arbitrarios cuando se combina con ciertas expresiones.
Explotación:
sudo -u andy sed -n '1e exec sh 1>&0' /etc/hostsAcceso como andy:

3.2 De andy → root (SUID)
Sección titulada «3.2 De andy → root (SUID)»Aunque sudo -l no muestra permisos especiales, se identifican binarios con SUID activo:
find / -perm -4000 2>/dev/null
Entre los resultados aparece el binario:
/usr/local/bin/privileged_execSe ejecuta y concede una shell con privilegios root:
/usr/local/bin/privileged_exec
Fallos de Seguridad Identificados
Sección titulada «Fallos de Seguridad Identificados»- Exposición de información sensible en comentarios del código fuente.
- Directorio oculto accesible sin autenticación.
- Almacenamiento de notas internas que revelan debilidades de contraseñas.
- Servicio SSH sin protección contra intentos de fuerza bruta.
- Configuración incorrecta de permisos sudo sobre
sed. - Binario SUID peligroso sin validaciones.
Recomendaciones
Sección titulada «Recomendaciones»- Evitar dejar comentarios con información operativa o sensible en producción.
- Restringir directorios ocultos mediante autenticación o reglas del servidor.
- Deshabilitar el acceso SSH a usuarios con contraseñas débiles.
- Implementar mecanismos de bloqueo ante múltiples intentos fallidos (fail2ban).
- Revisar permisos sudo y eliminar aquellos que no sean estrictamente necesarios.
- Auditar y eliminar binarios SUID no esenciales.
- Aplicar prácticas seguras de gestión de secretos y credenciales.