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. Vamos a ver un ejemplo práctico, pero hoy no usaremos Dirb, pasaremos a usar Wfuzz. Página de acceso. Tenemos la típica pagina 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? Pues 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 oq ue hay mas de una página de acceso. Estarán...

Leer Más

Dirb, fuzz en servidores webs

Una de las técnicas que se usan para descrubrir directorios con información sensible es hacer ataques del tipo fuzzing. El objetivo de estos ataques es el de tratar de descubrir directorios que el administrador se ha dejado descuidados o simplemente para tratar de hacerse una idea de la estructura web del servidor web. En el artículo de hoy hablamos de dirá. Esta aplicación es de sobras conocido pues tiene ya bastantes añitos. Pero no he encontrado ninguna que pueda decir que haga su trabajo mejor ;). A dirb se le pasa como parámetro la web a escanear y el diccionario con el que haremos fuzzing. Ejecutamos dirb desde la linea de comandos. —————– DIRB v2.04 By The Dark Raver —————– ./dirb <url_base> [<wordlist_file(s)>] [options] ========================= NOTES ========================= <url_base> : Base URL to scan. (Use -resume for session resuming) <wordlist_file(s)> : List of wordfiles. (wordfile1,wordfile2,wordfile3…) ======================== HOTKEYS ======================== ‘n’ -> Go to next directory. ‘q’ -> Stop scan. (Saving state for resume) ======================== OPTIONS ======================== -a <agent_string> : Specify your custom USER_AGENT. -c <cookie_string> : Set a cookie for the HTTP request. -f : Fine tunning of NOT_FOUND (404) detection. -H <header_string> : Add a custom header to the HTTP request. -i : Use case-insensitive search. -l : Print “Location” header when found. -N <nf_code>: Ignore responses with this HTTP code. -o <output_file> : Save output to disk. -p <proxy[:port]> : Use this proxy. (Default port is 1080) -P <proxy_username:proxy_password> : Proxy Authentication. -r : Don’t search recursively. -R : Interactive recursion. (Asks for each directory) -S : Silent Mode. Don’t show tested words. (For dumb terminals) -t : Don’t force an ending ‘/’ on URLs. -u <username:password> : HTTP Authentication. -v : Show also NOT_FOUND pages. -w : Don’t stop on WARNING messages. -X <extensions> / -x <exts_file> : Append each word with this extensions. -z <milisecs> : Add a miliseconds delay to not cause excessive Flood. ======================== EXAMPLES ======================= ./dirb http://url/directory/ (Simple Test) ./dirb http://url/ -X .html (Test files with ‘.html’ extension) ./dirb http://url/ wordlists/vulns/apache.txt (Test with apache.txt wordlist) ./dirb https://secure_url/ (Simple Test with SSL) Es sencillo ¿verdad? Lanzamos sobre un servidor web y vamos viendo los resultados. darkmac:vulns marc$ dirb http://www.ub.edu ../general/big.txt —————– DIRB v2.04 By The Dark Raver —————– START_TIME: Mon May 20 00:23:14 2013 URL_BASE: http://www.ub.edu/ WORDLIST_FILES: ../general/big.txt —————– GENERATED WORDS: 3024 —- Scanning URL: http://www.ub.edu/ —- + http://www.ub.edu/agenda/ ==> DIRECTORY + http://www.ub.edu/ajuda/ ==> DIRECTORY + http://www.ub.edu/asd/ ==> DIRECTORY + http://www.ub.edu/business/ ==> DIRECTORY + http://www.ub.edu/carpeta/ ==> DIRECTORY + http://www.ub.edu/cataleg/ ==> DIRECTORY + http://www.ub.edu/cerca/ ==> DIRECTORY + http://www.ub.edu/cgi-bin/ (FOUND: 403 [Forbidden] – Size: 7007) + http://www.ub.edu/chat (FOUND: 403 [Forbidden] – Size: 325) + http://www.ub.edu/config/ ==> DIRECTORY...

Leer Más

Siguenos!

O Puedes Subscribete

ANTES DE

SALIRTE ...

NO TE

ARREPENTIRÁS

!Gracias¡

NO OLVIDES NUESTRAS REDES SOCIALES