0. Taller de hacking ético dockerlabs.es: Talent
- Plataforma: dockerlabs.es
- Nombre de la máquina: Talent
- Estado del laboratorio: Completado
- Dificultad: Medio
- URL del taller: https://dockerlabs.es/maquinas/219/
1. Reconocimiento inicial.
comprobación de la conectividad
ping -c 2 -W 2 172.17.0.2
Envía 4 paquetes ICMP con timeout de 2 s. El TTL=64 indica host Linux; tiempos ~0,05 ms confirman que es local (contenedor Docker).
Escaneo de puertos completo
nmap -sC -sV -Pn -n -T4 -p- --open -oN scan_full.txt 172.17.0.2
-p-: escanea los 65535 puertos TCP.-sV: detección de versión de servicio.-sS: escaneo silencioso-sC: ejecuta los scripts NSE por defecto (banners, títulos HTTP, etc.).-Pn: para no ejecutar el comandoping, ya que algunas máquinas tienen deshabilitado el ping porpmotivos de seguridad.-n: Para que no haga la resolución de DNSs--open: muestra solo puertos abiertos.-T4: plantilla de velocidad "agresiva" (adecuada en local).-oN: guarda la salida en texto normal.
Vemos que solo el puerto 80 está abierto y que es un WordPress con la versión 6.9.1 (que no es la última) por lo que podríamos usar wpscan para ver plugins, usuarios y temas vulnerables.
Cabeceras HTTP y tecnología
curl -sI http://172.17.0.2/
-sI envía una petición HEAD (solo cabeceras) que nos sirve para ver Server, Link (REST API de WordPress) y Content-Type
whatweb -a 3 http://172.17.0.2/
whatweb -a 3 usa agresividad 3 para identificar CMS, plugins y versiones.
Enumeración de drectorios y archivos
gobuster dir -u http://172.17.0.2/ -w /usr/share/wordlists/dirb/common.txt -t 50
-uurldirmodo directorios-wdiccionario (ruta al mismo)-t 50número de hilos (50)
A veces da problemas así que probamos:
gobuster dir -u http://172.17.0.2/ -w /usr/share/wordlists/dirb/common.txt -t 50 -b 204,301,302,307,401,403
-b le está indicando a Gobuster que ignore cualquier URL o directorio que devuelva alguno de esos códigos HTTP.
- 204: No Content -> La petición fue con éxito, pero la respuesta no tiene contenido.
- 301: Moved Permanently -> Redirección permanente. Si la herramienta genera muchos falsos positivos por redirecciones masivas a una misma página.
- 302: Found -> (Redirección temporal) Redirección temporal. Muy común cuando te redirige al login de nuevo o a una página genérica.
- 307: Temporary Redirect -> Otra variante de redirección temporal.
- 401: Unauthorized -> Requiere autenticación (HTTP Basic Auth, etc.).
Usamos wpscan para afinar
Ta que se trata de un WordPress, veamos su obtenemos una lista de usuarios y de plugins:
wpscan --url http://172.17.0.2 -e u,p
Hemos encontrado cositas:
- Tema:
- El tema en uso es twentytwentyfive y está desactualizado
- WPScan indica que "Theme > directory listing is enabled" (el listado de directorios está activo), significa que cualquier persona puede ver y navegar por la estructura de carpetas y archivos de tu tema desde su navegador web.
- Plugins:
- Usa el plugin Pie Register versión 3.7.1.0 y está desactualizado.
- Users:
- usuario admin identificado
Esto es un taller de dificultad media, así que por aquí van a ir los tiros. Buscamos información en Google acerca de este plugin y suversión y encontramos que tiene una vulnerabilidad conocida:
The Pie Register plugin for WordPress (version ≤ 3.7.1.4) exposes an unauthenticated endpoint that allows an attacker to hijack admin sessions > simply by POSTing a specific payload.
Exploitation results in stealing the session cookies of user ID 1 (usually admin) without needing any login credentials.
Bingo!
2. Explotación de la vulnerabilidad.
[to Do]
