Luego de conectarse a la máquina y ver que efectivamente tenemos conexión con aquello, hacemos un escaneo con Nmap nmap -Pn -n --open --top-ports 10000 -T5 -sVC [IP obejetivo]
.
Está el puerto 80 abierto, así que abriremos el navegador para ver la página.
Vemos que tenemos un «buscador», lo primero que se me ocurre es ver si es vulnerable a XSS
.
Al parecer no, tanto como
no hacen aparecer la alerta, por lo tanto, no es vulnerable a XSS
.
Navegando por la página, voy a la sección relax
y podemos ver que la página se mueve con el parámetro page
así que intentaremos Path traversal
.
Introduzco un index.php
para saber si el servidor no está bloqueando o sanitizando archivos conocidos, si falla o da un error, se podría inferir que hay restricciones (como una lista blanca de archivos permitidos) o que el parámetro page no funciona como pensábamos, esto ayuda a evitar falsos negativos al probar payloads
más avanzados. Pero en este caso sí funciona.
Intentaremos /etc/passwd
, pero nos suelta un aviso.
Así que utilizamos ../../../etc/passwd
el cual nos revela el contenido.
PD: Esto también se puede realizar con herramientas para automatizar la búsqueda, pero en las pruebas que utilice ffuf
y gobuster
me dio muchos falsos-positivos, como podemos ver, utilizando un diccionario de Path traversal
, en la mayoría me daba el mensaje de que no existía, así que la mejor opción es hacerlo manual en este caso.
Ahora nos toca encontrar la bandera, podríamos buscarlo en /root/flag.txt
, pero dice que no existe.
Buscamos en la ruta de /home/
Pero este no nos devuelve nada.
Intentemos buscar la flag
en la carpeta raíz /flag.txt
.
Efectivamente, estaba aquí la flag{e4478e0eab69bd642b8238765dcb7d18}
.
Y así resolvimos la máquina Lo-Fi de TryHackMe.