Fuzzing encontrando cosas olvidadas
Fuzzing encontrando cosas olvidadas, hace unos días en DragonJAR publicábamos un artículo sobre Dirb, para hacer fuzzing sobre servidores web, en el artículo explicábamos que con el fuzzing llegábamos a descubrir directorios ocultos entre otros cosas.
Fuzzing encontrando cosas olvidadas con Wfuzz
Vamos a ver un ejemplo práctico, pero hoy no usaremos Dirb, pasaremos a usar Wfuzz.
Página de acceso
Tenemos la típica página de acceso a un recurso interno de una corporación.
La página de acceso es algo así como:
https://paginadeacceso.acceso.dragonjar.org
Cuando los clientes o proveedores externos entran a esa páginas son redireccionados hacia otra página donde han de introducir su usuario y password para acceder al recurso interno.
La URL a donde redireccionaba era algo así como:
https://acceso.dragonjar.org/acceso_1/index.php
El usuario era redirigido con un código 302.
Lo primero que haremos con curl, es ver como se comporta, así que lo hacemos.
darkmac:~ marc$ curl -I https://paginadeacceso.acceso.dragonjar.org
HTTP/1.1 302 Found
Location: https://acceso.dragonjar.org/acceso_1/index.php
Vi que siempre hacía el mismo 302 a el mismo sitio, así que lo más sencillo es lanzar un fuzzer para ver si hay más páginas.
¿Donde colocar el Fuzzer?
El fuzzer lo podemos colocar en múltiples sitios, pero en este caso en concreto, lo colocaremos donde tenemos marcado el texto con negrita.
https://acceso.dragonjar.org/acceso_1/index.php
Vamos a generar un diccionario para que el fuzzer pruebe distintas posibilidades.
Para generar el diccionario podemos tirar de bash, algo tan sencillo como:
for (( i=0; i<1000; i++ ))
do
echo $i
done
Una vez generada la lista que vamos a probar la lanzamos con Wfuzz, algo así como:
python wfuzz.py -c -z file,lista.txt --hc 404 -o html https://acceso.dragonjar.org/acceso_FUZZ/index.php 2> report.html
Ya hemos lanzado el fuzzer, una vez acabe guardará los resultados en un report que tendrá el siguiente aspecto:
A la izquierda tendremos el código de respuesta, como veis hemos encontrado varios códigos 200, por lo que hay más de una página de acceso.