Ante todo, recuerda probar tú mismo todas las cosas y no darte por vencido fácilmente. Que hagas los ejercicios de HTB mirando un post NO es hacer el ejercicio. Es copiar al compañero. Con eso no avanzas nada.
Pregunta 1: Run a sub-domain/vhost fuzzing scan on ‘academy.htb’ for the IP shown above. What are all the vhosts you can identify?
Lo primero que deberías de hacer es meter en /etc/hosts la resolución dns del dominio con el que vamos a trabajar. En mi caso introduzco esto:
68.183.34.159 academy.htb
Ahora vamos a probar ffuf con el parámetro -H para vhost. Como salen montones de resultados erróneos, filtro por el tamaño de ellos para que los obvie con el parámetro -fs 985:
Ahí ya tendremos los 3 subdominios que nos piden. Los introducimos en la respuesta por orden alfabético y separado por espacios.
Pregunta 2: Before you run your page fuzzing scan, you should first run an extension fuzzing scan. What are the different extensions accepted by the domains?
Primero agregamos los tres subdominios al fichero de hosts como hemos hecho anteriormente con el dominio principal. La línea quedaría así (tu IP debería de ser diferente):
68.183.34.159 academy.htb archive.academy.htb faculty.academy.htb test.academy.htb
Nos preguntan qué extensiones soportan estos dominios. Este paso deberemos hacerlo entonces con los 3 subdominios. Usamos la lista de extensiones web y lo usamos con la página index, que suele ser la habitual.
Simplemente habrá que ponerlas en orden sin el punto y separadas por espacios en la respuesta.
Pregunta 3: One of the pages you will identify should say ‘You don’t have access!’. What is the full page URL?
Esta página que nos indican puede estar en una ruta de la propia web, por lo que vamos a usar la recursividad, buscando directorios con el diccionario de directory-list. Como en el caso anterior, tendremos que probar en los tres subdominios, repitiendo los mismos pasos. También tendremos que hacerlo con los 3 tipos de extensiones del ejercicio 2.
Con esto obtenemos el resultado más sospechoso:
Probamos en un explorador, y vemos que es lo que nos piden:
Ya podemos rellenar la respuesta con la ruta completa a la página, sustituyendo el puerto (en mi caso 32152), por la palabra genérica que nos piden en “Hint”, que no es otra que PORT.
Pregunta 4: In the page from the previous question, you should be able to find multiple parameters that are accepted by the page. What are they?
Tras averiguar la página donde por lo visto hay acceso con algún tipo de parámetro, vamos a averiguar qué parámetros admite la página.
Para eso usaremos de nuevo ffuf con el diccionario de nombres de parámetros de burp. Como salen un montón de resultados erróneos, filtramos por el tamaño de los que se repiten sin parar con -fs (tamaño):
Lo usamos con un explorador a ver qué sale:
Por lo visto este parámetro ya no se puede usar en la web. Vamos a probar a hacerlo con el método POST en ffuf. Para eso usamos la opción -X POST. De nuevo usaremos -fs para filtrar los resultados:
Bingo! Tenemos otro resultado. Lo probamos en el explorador:
Perfecto, ahora sí vemos que ese parámetro nuevo funciona. Rellenamos la respuesta y nos vamos a la pregunta final.
Pregunta 5: Try fuzzing the parameters you identified for working values. One of them should return a flag. What is the content of the flag?
Vale, ya sabemos los parámetros que se pueden enviar a la página. Ahora toca averiguar el usuario, así que cogemos una lista de nombres de usuario también de SecLists y hacemos un ffuf con el método POST a la web.
Con eso ya tendremos el nombre del usuario que puede acceder a la página, y simplemente tendremos que lanzar curl con el -X POST para que nos descargue el código de la página con la bandera en él:
Y listo. Ponemos esa flag en la respuesta de HTB y tendremos completas todas las preguntas del módulo.
Si estas indicaciones te han servido de ayuda, no dudes en dejar algún comentario. ¡Hasta la próxima!
joel dice
excelentisimo, muchas gracias por orientarnos, un abrazo enorme y muy agradecido