← Todas las guías
ExplotaciónHerramienta + laboratorioPrincipiante22 min

DirBuster y Dirb: enumerar directorios y archivos ocultos en la web

Dirb y DirBuster prueban un diccionario contra cada ruta de un servidor para encontrar lo que nadie enlaza. Instálalos en un laboratorio propio, interpreta los códigos de estado sin caer en falsos positivos y aplica las cinco defensas que reducen la superficie expuesta.

1 · Qué es la enumeración de contenido

Un servidor web publica las rutas enlazadas desde su interfaz, pero puede exponer otras que nadie enlaza: paneles de administración, copias de seguridad olvidadas, endpoints de API sin documentar o archivos de configuración. Dirb y DirBuster automatizan la búsqueda de esas rutas probando, una a una, cada palabra de un diccionario como si fuera un directorio o un archivo, y observando cómo responde el servidor.

Ninguna de las dos «adivina» nada: repiten peticiones HTTP a gran velocidad y clasifican la respuesta por su código de estado. La utilidad depende por completo de la calidad del diccionario y de cómo interpretes esa respuesta, nunca de un exploit.

2 · Instalación en Kali y Debian

DIRB está empaquetado tanto para Kali como para Debian. DirBuster y el paquete de diccionarios SecLists se documentan aquí sobre Kali; DirBuster depende de Java y el paquete instala ese entorno automáticamente. Los comandos usan sudo porque modifican los paquetes del sistema.

Instalación · Kali Linux
sudo apt updatesudo apt install -y dirb dirbuster seclists
Instalación · Debian
sudo apt updatesudo apt install -y dirb

Comprueba la instalación antes de seguir. En Kali deben aparecer dos ejecutables y SecLists debe estar en/usr/share/seclists/; en Debian verifica solo dirb.

Verificación · Kali Linux
command -v dirbcommand -v dirbustertest -d /usr/share/seclists && echo 'SecLists disponible'

DIRB incluye diccionarios en /usr/share/wordlists/dirb/: common.txt sirve para un primer barrido y small.txt/big.txt amplían la búsqueda. SecLists añade colecciones más grandes y específicas por tecnología, pero ocupa bastante más espacio; empieza por el diccionario pequeño y aumenta el alcance solo cuando tengas una razón.

Si instalaste los paquetes únicamente para este laboratorio y quieres revertir el cambio, elimina en Kalidirb, dirbuster y seclists; en Debian conserva solo el nombredirb en el comando.

Limpieza opcional · Kali Linux
sudo apt remove dirb dirbuster seclists

3 · Dirb en la práctica

Antes del barrido solicita una ruta de control que sepas que no existe. Guarda su código y tamaño: si una ruta encontrada devuelve exactamente la misma respuesta, probablemente estás ante una página genérica y no ante contenido real.

Línea base
curl -sS -o /dev/null -w '%{http_code} %{size_download}\n' \ http://10.0.0.5/cubix-ruta-control-20260824# Salida de ejemplo: código HTTP y bytes recibidos404 153

Ahora ejecuta un barrido básico con el diccionario común:

Barrido básico
# Nunca contra un objetivo sin autorización explícitadirb http://10.0.0.5/ /usr/share/wordlists/dirb/common.txt

Una salida abreviada puede verse así; cada línea es una observación que todavía debes validar:

Ejemplo de salida · abreviado
+ http://10.0.0.5/admin/ (CODE:301|SIZE:169)+ http://10.0.0.5/backup.php (CODE:403|SIZE:153)

Dirb es recursivo por defecto: si encuentra /admin/, repite el diccionario dentro de esa ruta. Para buscar también archivos con una extensión concreta, por ejemplo contra una aplicación PHP:

Terminal
dirb http://10.0.0.5/ /usr/share/wordlists/dirb/common.txt -X .php,.bak

Guarda el informe y frena el ritmo de peticiones para no saturar el servicio de laboratorio:

Terminal
# -o guarda el informe, -z añade 200 ms entre peticionesdirb http://10.0.0.5/ /usr/share/wordlists/dirb/common.txt -o informe-dirb.txt -z 200

4 · DirBuster: heredado, útil para entender el modo headless

Kali sigue distribuyendo la versión 1.0-RC1 de DirBuster. Es una interfaz heredada útil para practicar el concepto y entender sus parámetros; OWASP ZAP mantiene hoy la capacidad equivalente en su complementoForced Browse. Para automatizaciones nuevas conviene evaluar una herramienta mantenida en lugar de acoplar scripts a esta interfaz antigua.

Para repetir el escaneo sin abrir la interfaz gráfica, usa el modo headless:

Terminal
dirbuster -H -u http://10.0.0.5/ \ -l /usr/share/wordlists/dirb/common.txt \ -t 10 -r informe-dirbuster.txt

-H arranca sin interfaz y guarda el informe al salir; -u fija el objetivo, -l el diccionario, -t el número de hilos y -r la ruta del informe. No confundas esta última opción con -r en DIRB, donde significa «no buscar recursivamente».

5 · Interpretar resultados sin caer en falsos positivos

El código de estado por sí solo no basta para confirmar un hallazgo:

200 OK

La ruta responde con contenido. Ábrela y confirma que no es la misma página genérica que devuelve el resto del sitio.

301 / 302

Redirección. Sigue el destino (Location) antes de darla por buena o descartarla.

403 Forbidden

El servidor bloqueó la petición, pero eso no confirma por sí solo una ruta real: un WAF puede devolver el mismo 403 para cualquier nombre.

404 Not Found

Ninguna herramienta es perfecta; combina con detección de wildcard antes de descartar en bloque.

Algunos servidores devuelven 200 para cualquier ruta con una página genérica de «no encontrado» en vez de un 404 real, lo que satura el informe de falsos positivos. La opción -f de DIRB ajusta la detección de respuestas NOT_FOUND. Aun así, compara manualmente código, tamaño, cabeceras, destino de redirección y cuerpo con la ruta de control: una coincidencia es evidencia para revisar, no una vulnerabilidad confirmada.

6 · Cómo defenderse

La enumeración es barata de ejecutar; la mayoría de hallazgos serios se evitan con higiene básica:

  1. No dejes nada «temporal» en producción. Copias de seguridad (.bak, .zip, .old), configuraciones de ejemplo o carpetas .git desplegadas por error son los hallazgos más dañinos y los más evitables.
  2. Desactiva el listado de directorios del servidor web (Options -Indexes en Apache, autoindex off en nginx) para que una carpeta sin índice no revele su contenido completo.
  3. Autentica cada endpoint sensible en el servidor, nunca solo por no aparecer enlazado: la seguridad por oscuridad retrasa, no impide.
  4. Limita la tasa de peticiones por IP con el WAF o el propio servidor; un barrido de diccionario deja un patrón de tráfico muy reconocible.
  5. Alerta ante picos de 404 en los logs: decenas de rutas distintas en segundos desde la misma IP es la firma de este tipo de escaneo.

Checklist antes de cerrar el laboratorio

  • Autorización explícita sobre el objetivo, o uso exclusivo de mi propio laboratorio
  • Escaneo lanzado contra una IP privada o de laboratorio, nunca un objetivo real sin permiso
  • Ritmo de peticiones ajustado para no saturar el servicio (-z en dirb, -t moderado en DirBuster)
  • Resultado revisado a mano para descartar falsos positivos por wildcard
  • Informe guardado sin credenciales ni datos reales antes de compartirlo
  • Escaneo detenido y proceso finalizado: no queda un barrido corriendo de fondo

Glosario

Enumeración de contenido

Descubrimiento sistemático de rutas y archivos que una aplicación no enlaza públicamente.

Diccionario

Lista de nombres candidatos que la herramienta combina con la URL del objetivo.

Recursividad

Proceso de repetir la enumeración dentro de cada directorio descubierto.

Respuesta wildcard

Respuesta genérica que el servidor devuelve para muchas rutas inexistentes y que puede crear falsos positivos.

Forced browsing

Prueba de acceso directo a recursos que no aparecen en la navegación normal.

Ver más guías
DirBuster y Dirb: enumerar directorios y archivos ocultos en la web | Cubix Academia