Dirble es una herramienta de escaneo de directorio de sitios web para Windows y Linux. Está diseñado para ser rápido para correr y fácil de usar.
Descargue uno de los binarios precompilados para Linux, Windows o Mac, o compile la fuente con carga, luego ejecutarla desde un terminal. El uso de listas de palabras predeterminadas es dirble_wordList.txt en el mismo directorio que el ejecutable.
Se puede instalar en Blackarch usando sudo pacman -S dirble
También hay una imagen de Docker, que se puede ejecutar como: docker run --rm -t isona/dirble [dirble arguments]
El texto de ayuda se puede mostrar usando dirble --help , alternativamente, se puede encontrar en el wiki de GitHub: https://github.com/nccgroup/dirble/wiki/help-text
Corre en un sitio web utilizando el Dirble_wordList.txt predeterminado del directorio actual: dirble [address]
Ejecute con una lista de palabras diferente e incluyendo .Php y .html Extensiones: dirble [address] -w example_wordlist.txt -x .php,.html
Con el raspado de directorio listable habilitado: dirble [address] --scrape-listable
Proporcionar una lista de extensiones y una lista de hosts: dirble [address] -X wordlists/web.lst -U hostlist.txt
Proporcionar múltiples hosts para escanear a través de la línea de comandos: dirble [address] -u [address] -u [address]
Ejecutando con el enhebrado en el estilo predeterminado de Gobuster, deshabilitar la recursión y tener 10 hilos escaneando el directorio principal: dirble [address] --max-threads 10 --wordlist-split 10 -r
Para construir en su plataforma actual, asegúrese de que se instale la carga y luego ejecute cargo build --release . Alternativamente, Running make construirá el binario en modo de lanzamiento (ejecutando internamente cargo build --release ).
Para compilar cruzados para objetivos de Linux y Windows de 32 y 64 bits, hay un manual de Makefile. make release se construirá para los cuatro objetivos usando cross . Esto depende de que Cross y Docker estén instalados ( cargo install cross ).
El siguiente gráfico se generó ejecutando cada herramienta con hiperfina contra un servidor de prueba con latencia de 5 ms y pérdida de paquetes del 1%. (Gobuster se omitió debido a la falta de recursión).

Dirble detecta archivos basados en el código de respuesta enviado por el servidor. El comportamiento puede clasificarse libremente por tipo de código de respuesta.
200 : El camino existe y es válido301, 302 : redirección; Informe el código, el tamaño y el encabezado de ubicación404 : no encontrado; Por defecto, estas respuestas no se informan+ [url] (CODE:[code]|SIZE:[size]) Una ruta se clasifica como un directorio si una solicitud a [url] ( sin barra de corte) devuelve una redirección 301 o 302 a [url]/ ( con una barra de fin de semana). Esto se informa con un prefijo D y si la recursión está habilitada se agregará a la cola de escaneo. Este método no depende del objetivo de redirección existente o accesible, por lo que se realizará una solicitud por separado para determinar el código de respuesta y el tamaño del directorio.
Los directorios listables se detectan inspeccionando el contenido de url/ : si devuelve un código de respuesta de 200 y el cuerpo contiene "directorio principal", "hasta" o "Listado de directorio para" (casos insensibles), entonces es probable que sea un directorio listable. Si está habilitada --scrape-listable se habilitan, las URL se analizan fuera del listado (ignorando los enlaces de clasificación o los enlaces fuera del alcance) y se agregan a la cola de escaneo si tienen una barra de corte. Los directorios listables tienen un prefijo L en la salida.
El comportamiento de enhebramiento de los sucios se basa en los conceptos de listas de palabras y trabajos . Un trabajo es cualquier tarea que se pueda ejecutar independientemente de otras tareas, por ejemplo, solicitando una serie de URL. Una lista de palabras es una lista de palabras con una transformación definida, por ejemplo, la lista {admin, config, shop} junto con la transformación append ".php" forma una sola instancia de lista de palabras.
Para mejorar aún más el rendimiento, presentamos el concepto de división de la lista de palabras . Este es el proceso por el cual una sola instancia de lista de palabras ( es decir, palabras con una transformación) se divide en múltiples trabajos, cada uno responsable de una parte de la lista. El número de porciones entrelazadas en las que se divide cada lista de palabras está definida por la opción --wordlist-split (predeterminado 3).
Cada vez que se detecta un directorio (y se habilita la recursión) se crean nuevos trabajos para cada lista de palabras divididas (con transformación) y se agregan a una cola de trabajo central.
El número máximo de tareas concurrentes se define mediante el parámetro --max-threads , y Dirble iniciará trabajos a medida que se agregan a la cola, hasta este límite. Cada vez que se completa un trabajo ( es decir, una lista de palabras dividida) Dirble tomará el próximo trabajo de la cola y lo comenzará.
Publicado bajo GPL v3.0, consulte la licencia para obtener más información