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].

Image Nmap

Está el puerto 80 abierto, así que abriremos el navegador para ver la página.

Image Página

Vemos que tenemos un «buscador», lo primero que se me ocurre es ver si es vulnerable a XSS.

Image 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.

Image Path1

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.

Image index

Intentaremos /etc/passwd, pero nos suelta un aviso.

Image aviso

Así que utilizamos ../../../etc/passwd el cual nos revela el contenido.

Image passwd




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.

Image ffuf

Image falsoP

Image falso




Ahora nos toca encontrar la bandera, podríamos buscarlo en /root/flag.txt, pero dice que no existe.

Image root

Buscamos en la ruta de /home/ Pero este no nos devuelve nada.

Image description

Intentemos buscar la flag en la carpeta raíz /flag.txt.

Image flag real

Efectivamente, estaba aquí la flag{e4478e0eab69bd642b8238765dcb7d18}.


Y así resolvimos la máquina Lo-Fi de TryHackMe.