Dirhunt es un rastreador web optimizado para buscar y analizar directorios. Esta herramienta puede encontrar cosas interesantes si el servidor tiene habilitado el modo “index of
“. Dirhunt también es útil si el listado de directorios no está habilitado. Detecta directorios con falsos errores 404, directorios donde se ha creado un archivo de índice vacío para ocultar cosas y mucho más.
$ dirhunt http://sitioweb.com/
Dirhunt no utiliza la fuerza bruta. Pero tampoco es sólo un crawler. Esta herramienta es más rápida que otras porque minimiza las peticiones al servidor. Por lo general, esta herramienta tarda entre 5 y 30 segundos, dependiendo del sitio web y del servidor.
Características
- Procesar uno o varios sitios a la vez.
- Procesar las páginas del Index Of y reportar los archivos interesantes.
- Detecta redireccionadores.
- Detectar el archivo de index en blanco creado en el directorio para ocultar cosas.
- Procesar algunos archivos html en busca de nuevos directorios.
- Páginas de error 404 y detectar falsos errores 404.
- Filtrar los resultados por banderas.
- Analiza los resultados al final. También procesa la fecha y el tamaño de las páginas Index.
- Obtiene nuevos directorios usando robots.txt, VirusTotal, Google, CommonCrawl (¡NOVEDAD!) y Certificado SSL (¡NOVEDAD!).
- Retraso entre peticiones.
- Opción de uno o varios proxies. También puede buscar proxies gratuitos.
- Guardar los resultados en un archivo JSON.
- Reanudar los escaneos abortados
Instalación
Si tienes Pip instalado en tu sistema, puedes usarlo para instalar la última versión estable de Dirhunt:
$ sudo pip3 install dirhunt
Python 2.7 y 3.5-3.8 son compatibles, pero se recomienda Python 3.x. Utiliza pip2 en la instalación para Python2.
Hay otros métodos de instalación disponibles. Por ejemplo, desde el código fuente:
Las fuentes de Dirhunt se pueden descargar desde el repositorio de Github.
Puedes clonar el repositorio público:
$ git clone git://github.com/Nekmo/dirhunt
O descarga el tarball:
$ curl -OL https://github.com/Nekmo/dirhunt/tarball/master
Una vez que tengas una copia del código fuente, puedes instalarlo con:
$ python setup.py install
Uso de DirHunt
Para ver la ayuda disponible ejecuta:
$ dirhunt --help
Buscar directorios
Puedes definir una o varias URLs/dominios, del mismo dominio o diferentes. Es mejor si pones URLs con rutas completas. De esta manera Dirhunt tendrá más facilidad para encontrar los directorios.
$ dirhunt <url 1>[ <url 2>]
Por ejemplo:
$ dirhunt http://dominio1/blog/publicacion.html http://dominio1/admin/login.html http://dominio2 / dominio3.com
Los resultados de varios sitios se mostrarán juntos. También puedes cargar URLs o dominios desde uno o más archivos utilizando la ruta completa (/ruta/al/archivo) o la ruta relativa (./archivo). Ejemplos:
dirhunt dominio.com ./archivo/a/dominios.txt /home/user/mas_dominios.txt
Reanudar el análisis
Presiona Ctrl
+ C
para pausar el análisis actual. Por ejemplo:
...
[200] https://site.com/path/ (Generic)
Index file found: index.php
[200] https://site.com/path/foo/ (Generic)
Index file found: index.php
◣ Started a second ago
^C
An interrupt signal has been detected. what do you want to do?
[A]bort
[c]ontinue
[r]esults
Enter a choice [A/c/r]:
Puedes continuar el análisis ahora (elige la opción c
), mostrar los resultados actuales (pulsa r
) o abortar ahora. Vuelva a ejecutar el análisis con los mismos parámetros para retomar el análisis donde lo dejaste.
An interrupt signal has been detected. what do you want to do?
[A]bort
[c]ontinue
[r]esults
Enter a choice [A/c/r]: A
Created resume file "/home/nekmo/.cache/dirhunt/ca32...". Run again using the same parameters to resume.
Hay muchas otras opciones en la documentación de uso.
dirhunt (este enlace se abre en una nueva ventana) por Nekmo (este enlace se abre en una nueva ventana)
Find web directories without bruteforce