Cuando nos enfrentamos por primera vez a una aplicación web, ya sea en una máquina de laboratorio o en un entorno real, es imprescindible lanzar un escaneo o fuzzing de directorios para encontrar posibles rutas que nos descubran productos presentes y/o fallos de configuración como ficheros accesibles de respaldo, listado de directorios, paneles de administración, etc.
Para ello, tenemos varias herramientas como DirBuster, Dirb, WFuzz, dirsearch, Cansina, Gobuster... y muchas veces su uso casi depende de los gustos de cada uno. Pero sin duda, lo verdaderamente importante para el descubrimiento de rutas en una aplicación web es el uso de un buen diccionario, tanto para los nombres de directorios como para los nombres de archivo con su extensión correspondiente.
Si hacéis CTFs ya sabéis que lo normal es usar common.txt de dirb, o el big.txt de wfuzz, o si detectamos previamente el producto lanzar un diccionario más dirigido. En esta entrada recopilamos los diccionarios presentes en Kali Linux junto con el número de palabras de cada uno (find . -type f -exec wc -l {} + | sort -rn), además de los de SecList y fuzzdb, bajo mi punto de vista imprescindibles:
root@kali:/usr/share/wordlists/wfuzz/general# find . -type f -exec wc -l {} + | sort -rn
51800 total
45463 ./megabeast.txt
3036 ./big.txt
1660 ./medium.txt
950 ./common.txt
257 ./spanish.txt
143 ./catala.txt
136 ./admin-panels.txt
49 ./mutations_common.txt
35 ./euskera.txt
32 ./http_methods.txt
28 ./extensions_common.txt
11 ./test.txt
root@kali:/usr/share/wordlists/dirb# find . -type f -exec wc -l {} + | sort -rn
133549 total
65536 ./stress/unicode.txt
20469 ./big.txt
17576 ./stress/test_ext.txt
8607 ./others/names.txt
4614 ./common.txt
3494 ./vulns/cgis.txt
2711 ./vulns/fatwire_pagenames.txt
1708 ./vulns/sharepoint.txt
1111 ./vulns/sap.txt
1075 ./vulns/oracle.txt
1049 ./others/best1050.txt
959 ./small.txt
579 ./vulns/hyperion.txt
560 ./vulns/websphere.txt
449 ./spanish.txt
361 ./vulns/weblogic.txt
291 ./vulns/domino.txt
256 ./stress/uri_hex.txt
256 ./stress/doble_uri_hex.txt
238 ./vulns/hpsmh.txt
197 ./euskera.txt
161 ./catala.txt
129 ./vulns/jersey.txt
121 ./vulns/ror.txt
110 ./others/best110.txt
101 ./vulns/fatwire.txt
...
Para ello, tenemos varias herramientas como DirBuster, Dirb, WFuzz, dirsearch, Cansina, Gobuster... y muchas veces su uso casi depende de los gustos de cada uno. Pero sin duda, lo verdaderamente importante para el descubrimiento de rutas en una aplicación web es el uso de un buen diccionario, tanto para los nombres de directorios como para los nombres de archivo con su extensión correspondiente.
Si hacéis CTFs ya sabéis que lo normal es usar common.txt de dirb, o el big.txt de wfuzz, o si detectamos previamente el producto lanzar un diccionario más dirigido. En esta entrada recopilamos los diccionarios presentes en Kali Linux junto con el número de palabras de cada uno (find . -type f -exec wc -l {} + | sort -rn), además de los de SecList y fuzzdb, bajo mi punto de vista imprescindibles:
root@kali:/usr/share/wordlists/wfuzz/general# find . -type f -exec wc -l {} + | sort -rn
51800 total
45463 ./megabeast.txt
3036 ./big.txt
1660 ./medium.txt
950 ./common.txt
257 ./spanish.txt
143 ./catala.txt
136 ./admin-panels.txt
49 ./mutations_common.txt
35 ./euskera.txt
32 ./http_methods.txt
28 ./extensions_common.txt
11 ./test.txt
root@kali:/usr/share/wordlists/dirb# find . -type f -exec wc -l {} + | sort -rn
133549 total
65536 ./stress/unicode.txt
20469 ./big.txt
17576 ./stress/test_ext.txt
8607 ./others/names.txt
4614 ./common.txt
3494 ./vulns/cgis.txt
2711 ./vulns/fatwire_pagenames.txt
1708 ./vulns/sharepoint.txt
1111 ./vulns/sap.txt
1075 ./vulns/oracle.txt
1049 ./others/best1050.txt
959 ./small.txt
579 ./vulns/hyperion.txt
560 ./vulns/websphere.txt
449 ./spanish.txt
361 ./vulns/weblogic.txt
291 ./vulns/domino.txt
256 ./stress/uri_hex.txt
256 ./stress/doble_uri_hex.txt
238 ./vulns/hpsmh.txt
197 ./euskera.txt
161 ./catala.txt
129 ./vulns/jersey.txt
121 ./vulns/ror.txt
110 ./others/best110.txt
101 ./vulns/fatwire.txt
...