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
Dirb irá haciendo match con el diccionario que le pasemos. Si encuentra el directorio le pasará el diccionario también a ese directorio.
En proximos posts le daremos mas usos y conocemos otras herramientas.
Encontramos dirb aquí: