Dirb – Herramienta para descubrimiento de contenido web
Dirb es un escáner de contenidos web que utiliza el mecanismo de fuerza bruta para descubrir directorios y archivos ocultos en servidores web.
El objetivo principal de DIRB es ayudar en la auditoría profesional de aplicaciones web, especialmente en pruebas relacionadas con la seguridad
página oficial:
página oficial: https://dirb.sourceforge.net/
¡Dirb no es un escáner de vulnerabilidades!
![](https://nucleolinux.org/wp-content/uploads/2024/06/image-18-1024x524.png)
COMANDOS DE DIRB
Cuando se instala dirb, este paquete proporciona 3 herramientas como ser:
- dirb
- dirb-gendict
- html2dic
Comando dirb
Este comando permite ejecutar una lista de palabras (diccionario) a un objetivo especifico
![](https://nucleolinux.org/wp-content/uploads/2024/06/image-21-1024x665.png)
Comando dirb-gendict
Este comando permite generar diccionarios utilizando, para ver las opciones, simplemente ejecute “dirb-gendict”
![](https://nucleolinux.org/wp-content/uploads/2024/06/image-20.png)
Comando html2dic
html2dic permite dumpear todas las palabras de un archivo hmtl, el siguiente ejemplo se muestra la salida de palabras filtradas de un archivo HTML
![](https://nucleolinux.org/wp-content/uploads/2024/06/image-19-1024x462.png)
CÓDIGO HTTP
Este fragmento define códigos de estado HTTP y sus correspondientes descripciones en formato de cadena.
archivo: http_codes.h
#include "global.h"
// HTTP Code
#define HTTP_CONTINUE 100
#define HTTP_SWITCHING_PROTOCOLS 101
#define HTTP_OK 200
#define HTTP_CREATED 201
#define HTTP_ACCEPTED 202
#define HTTP_NON_AUTHORITATIVE 203
#define HTTP_NO_CONTENT 204
#define HTTP_RESET_CONTENT 205
#define HTTP_PARTIAL_CONTENT 206
#define HTTP_MULTIPLE_CHOICES 300
#define HTTP_MOVED_PERMANENTLY 301
#define HTTP_MOVED_TEMPORARILY 302
#define HTTP_SEE_OTHER 303
#define HTTP_NOT_MODIFIED 304
#define HTTP_USE_PROXY 305
#define HTTP_BAD_REQUEST 400
#define HTTP_UNAUTHORIZED 401
#define HTTP_PAYMENT_REQUIRED 402
#define HTTP_FORBIDDEN 403
#define HTTP_NOT_FOUND 404
#define HTTP_METHOD_NOT_ALLOWED 405
#define HTTP_NOT_ACCEPTABLE 406
#define HTTP_PROXY_AUTHENTICATION_REQUIRED 407
#define HTTP_REQUEST_TIME_OUT 408
#define HTTP_CONFLICT 409
#define HTTP_GONE 410
#define HTTP_LENGTH_REQUIRED 411
#define HTTP_PRECONDITION_FAILED 412
#define HTTP_REQUEST_ENTITY_TOO_LARGE 413
#define HTTP_REQUEST_URI_TOO_LARGE 414
#define HTTP_UNSUPPORTED_MEDIA_TYPE 415
#define HTTP_INTERNAL_SERVER_ERROR 500
#define HTTP_NOT_IMPLEMENTED 501
#define HTTP_BAD_GATEWAY 502
#define HTTP_SERVICE_UNAVAILABLE 503
#define HTTP_GATEWAY_TIME_OUT 504
#define HTTP_VERSION_NOT_SUPPORTED 505
#define HTTP_VARIANT_ALSO_VARIES 506
// HTTP Code Strings
static struct code code2message[] = {
{ HTTP_OK, "Ok" },
{ HTTP_MOVED_PERMANENTLY, "Moved Permanently" },
{ HTTP_MOVED_TEMPORARILY, "Moved Temporarily" },
{ HTTP_BAD_REQUEST, "Bad Request"},
{ HTTP_UNAUTHORIZED, "Auth Required" },
{ HTTP_FORBIDDEN, "Forbidden" },
{ HTTP_NOT_FOUND, "Not Found" },
{ HTTP_UNSUPPORTED_MEDIA_TYPE, "Unsupported Media Type" },
{ HTTP_METHOD_NOT_ALLOWED, "Method Not Allowed" },
{ HTTP_INTERNAL_SERVER_ERROR, "Internal Server Error" },
{ HTTP_SERVICE_UNAVAILABLE, "Service Temporarily Unavailable" },
{ 0xff, "Unknown"},
};
Ejemplo de diccionario
Dirb utiliza un diccionario de palabras para complementar la URL y así descubrir contenidos web interesante es decir:
Ejemplo del diccionario “small.txt” , este diccionario cuenta con aprox. 959 palabras:
![](https://nucleolinux.org/wp-content/uploads/2024/06/image-17.png)
Algunas palabras utilizadas que utiliza para identificar las URL
$ tail small.txt
~mail
~operator
~root
~sys
~sysadm
~sysadmin
~test
~user
~webmaster
~www
tail es un comando que nos permite ver las ultimas lineas de un archivo (default: 10)
Como funciona
Dirb utiliza este mecanismo simple pero efectivo:
TARGET = http://example.com
DIC = small.txt
phpmyadmin <- esta palabra esta en el diccionario
# Combina la URL + PALABRA
http://example.com/phpmyadmin
# Valida la URL según su código HTTP
http://examplecom/phpmyadmin = 200
# Si el código es 200, entonces quiere decir que la URL es valida
Fuente
https://www.kali.org/tools/dirb/
https://salsa.debian.org/pkg-security-team/dirb
Resumen
Esta herramienta es muy útil para quienes estén aprendiendo a meterse en el área de seguridad informática o ramas a fines, conocer esta herramienta nos permite comprender como funcionan su mecánicos internos usando que son simples pero útiles, en este capitulo se aprendió varios puntos, atentos al siguiente capitulo!