DIRB - Descoberta de Diretórios e Arquivos Web
O DIRB é um scanner de conteúdo web (Web Content Scanner) utilizado para descobrir diretórios e arquivos existentes — inclusive os ocultos — em servidores web. Criado por Ramón Pinuaga (conhecido como The Dark Raver), ele funciona lançando um ataque baseado em dicionário contra um servidor: para cada palavra de uma lista (wordlist), o DIRB monta uma URL, faz a requisição e analisa a resposta HTTP para determinar se aquele recurso existe.
Essa técnica é valiosa no reconhecimento de aplicações web porque muitos recursos importantes não estão diretamente vinculados nas páginas visíveis — como painéis administrativos (/admin), diretórios de backup (/backup), arquivos de configuração esquecidos e áreas de teste. Ao mapear esses recursos, o DIRB ajuda a revelar a estrutura real de uma aplicação e sua superfície de ataque.
Instalação
Section titled “Instalação”Debian / Ubuntu / Kali Linux
Section titled “Debian / Ubuntu / Kali Linux”Em distribuições baseadas em Debian, o DIRB está disponível diretamente nos repositórios oficiais:
sudo apt updatesudo apt install dirbInstalação a partir do código-fonte
Section titled “Instalação a partir do código-fonte”O DIRB é escrito em C e depende da biblioteca libcurl. Para compilá-lo a partir do código-fonte:
# Instalar as dependências (Debian/Ubuntu)sudo apt install libcurl4-openssl-dev build-essential
# Após baixar e extrair o código-fonte, dentro do diretório:./configuremake
# O binário será gerado no diretório atual./dirbVerificando a instalação
Section titled “Verificando a instalação”Executar o DIRB sem argumentos exibe a versão e a sintaxe de uso:
dirbAs Wordlists
Section titled “As Wordlists”O desempenho do DIRB depende diretamente da qualidade da wordlist utilizada. A ferramenta já vem com um conjunto de listas pré-configuradas, geralmente localizadas em /usr/share/dirb/wordlists/.
| Wordlist | Descrição |
|---|---|
common.txt | Lista padrão, com os diretórios e arquivos mais comuns |
small.txt | Lista reduzida, para varreduras rápidas |
big.txt | Lista extensa, para varreduras mais completas (e demoradas) |
indexes.txt | Nomes comuns de páginas de índice |
extensions_common.txt | Extensões de arquivo comuns |
mutations_common.txt | Variações e mutações comuns de nomes |
vulns/ | Diretório com listas voltadas a vulnerabilidades específicas |
others/ | Diretório com listas adicionais (usuários, senhas, etc.) |
Para visualizar todas as listas disponíveis no seu sistema:
ls -l /usr/share/dirb/wordlists/Uso Básico
Section titled “Uso Básico”A sintaxe fundamental do DIRB é:
dirb <url_base> [<wordlist>] [opções]Se nenhuma wordlist for informada, o DIRB utiliza a common.txt por padrão:
# Varredura usando a wordlist padrão (common.txt)dirb http://example.comPara especificar uma wordlist diferente:
# Varredura usando a wordlist "big.txt"dirb http://example.com /usr/share/dirb/wordlists/big.txtDurante a execução, o DIRB exibe cada diretório ou arquivo encontrado junto com o código de status HTTP e o tamanho da resposta. Diretórios encontrados são explorados recursivamente por padrão:
+ http://example.com/index.html (CODE:200|SIZE:1256)==> DIRECTORY: http://example.com/admin/+ http://example.com/robots.txt (CODE:200|SIZE:340)Trabalhando com Extensões
Section titled “Trabalhando com Extensões”Um dos recursos mais úteis do DIRB é a capacidade de anexar extensões de arquivo a cada palavra da wordlist. Isso é essencial para encontrar arquivos específicos, como scripts PHP ou páginas HTML.
A opção -X recebe as extensões diretamente na linha de comando:
# Testar cada palavra também com as extensões .php e .htmldirb http://example.com -X .php,.htmlJá a opção -x lê as extensões de um arquivo:
dirb http://example.com -x extensoes.txtOpções Úteis
Section titled “Opções Úteis”| Opção | Descrição |
|---|---|
-a <agent> | Define um User-Agent personalizado |
-c <cookie> | Envia um cookie específico nas requisições |
-H <header> | Adiciona um cabeçalho HTTP personalizado |
-i | Torna a busca insensível a maiúsculas/minúsculas |
-N <código> | Ignora respostas com o código HTTP informado |
-o <arquivo> | Salva o resultado da varredura em um arquivo |
-p <proxy> | Utiliza um proxy (host:porta) |
-r | Não realiza busca recursiva nos diretórios encontrados |
-R | Recursão interativa (pergunta antes de entrar em cada diretório) |
-S | Modo silencioso (silent) |
-u <user:senha> | Autenticação HTTP |
-v | Exibe também as páginas não encontradas (NOT FOUND) |
-w | Não interrompe a execução diante de mensagens de aviso |
-z <ms> | Adiciona um atraso (em milissegundos) entre as requisições |
Exemplos práticos
Section titled “Exemplos práticos”# Salvar o resultado em um arquivodirb http://example.com -o resultado.txt
# Desativar a recursão (varredura apenas do primeiro nível)dirb http://example.com -r
# Adicionar um atraso de 100ms entre requisições para reduzir a cargadirb http://example.com -z 100
# Usar autenticação HTTP básicadirb http://example.com -u admin:senha123
# Varredura através de um proxydirb http://example.com -p 127.0.0.1:8080
# Ignorar respostas com código 403 (Forbidden)dirb http://example.com -N 403Exemplo de Fluxo Completo
Section titled “Exemplo de Fluxo Completo”Um fluxo típico de descoberta de conteúdo combina wordlist, extensões e registro dos resultados. Suponha que você precise mapear uma aplicação PHP autorizada e documentar os achados:
# 1. Varredura completa com wordlist grande, extensões PHP e saída em arquivodirb http://example.com /usr/share/dirb/wordlists/big.txt -X .php,.txt -o mapeamento.txt
# 2. Varredura discreta, com atraso e sem recursão, para uma primeira análisedirb http://example.com -r -z 200
# 3. Investigação de um diretório específico encontradodirb http://example.com/admin/ -X .phpCom os diretórios e arquivos mapeados, você terá uma visão clara da estrutura da aplicação — incluindo áreas administrativas, arquivos de configuração e recursos que não estavam visíveis na navegação normal. Esse mapa serve de base para as etapas seguintes de uma avaliação de segurança.
Considerações Finais
Section titled “Considerações Finais”O DIRB é uma ferramenta simples, direta e eficaz para a fase de descoberta de conteúdo em avaliações de aplicações web. Apesar de ser um projeto mais antigo, continua amplamente utilizado por sua confiabilidade e facilidade de uso. A combinação de wordlists bem escolhidas com o uso adequado de extensões faz toda a diferença na qualidade dos resultados.
Vale lembrar que a descoberta de diretórios é apenas uma etapa do reconhecimento e deve ser conduzida sempre de forma ética e autorizada. Entender quais recursos estão expostos em um servidor é tão útil para identificar riscos quanto para reforçar a segurança dos sistemas que administramos — por exemplo, revelando diretórios que deveriam estar protegidos ou removidos.