Filtrar Resultados de Varredura por Códigos de Status no Gobuster

Beginner
Pratique Agora

Introdução

Na enumeração web, ferramentas como Gobuster são usadas para descobrir diretórios e arquivos ocultos em servidores web. No entanto, a saída bruta pode ser avassaladora, contendo muitas entradas que não são imediatamente relevantes. Filtrar esses resultados com base em códigos de status HTTP é uma técnica poderosa para focar em tipos específicos de respostas, como páginas bem-sucedidas (200 OK), redirecionamentos (301/302) ou recursos proibidos (403).

Este laboratório irá guiá-lo através do uso das capacidades de filtragem do Gobuster para analisar eficientemente os resultados da varredura. Você aprenderá a identificar códigos de status HTTP comuns, realizar uma varredura básica do Gobuster e, em seguida, aplicar filtros para exibir apenas os códigos de status de seu interesse. Esta habilidade é essencial para qualquer pessoa envolvida em segurança web ou testes de penetração, pois ajuda a identificar rapidamente informações acionáveis.

Compreender Códigos de Status HTTP Comuns (200, 301, 403)

Nesta etapa, você aprenderá sobre alguns dos códigos de status HTTP mais comuns que são frequentemente encontrados durante a enumeração web. Compreender esses códigos é fundamental para interpretar a saída do Gobuster e filtrar resultados de forma eficaz.

  • 200 OK: Este código de status indica que a solicitação foi bem-sucedida. O servidor processou a solicitação com sucesso e o recurso solicitado (por exemplo, uma página web, uma imagem) está sendo retornado. Em varreduras do Gobuster, um código de status 200 geralmente significa que uma página ou diretório válido e acessível foi encontrado.
  • 301 Moved Permanently: Este código de status significa que o recurso solicitado foi permanentemente movido para um novo URL. O navegador (ou Gobuster) deve redirecionar automaticamente para o novo local. Embora não seja um erro, encontrar redirecionamentos 301 pode indicar conteúdo antigo ou reorganizado.
  • 403 Forbidden: Este código de status significa que o servidor entendeu a solicitação, mas se recusa a autorizá-la. Isso geralmente acontece quando um usuário (ou Gobuster) tenta acessar um recurso que requer autenticação ou permissões específicas, mas o cliente não as possui. Encontrar 403s pode ser interessante, pois eles podem apontar para áreas sensíveis que são protegidas, mas ainda existem.

Para ter uma ideia desses códigos, você pode tentar acessar alguns caminhos em nosso servidor web fictício usando curl.

Primeiro, vamos confirmar que o servidor está em execução tentando acessar index.html:

curl -I http://localhost:8000/index.html

Você deverá ver um status HTTP/1.0 200 OK na saída.

Em seguida, tente acessar redirect.html para ver um redirecionamento 301:

curl -I http://localhost:8000/redirect.html

Você deverá observar um status HTTP/1.0 301 Moved Permanently.

Finalmente, tente acessar admin.html para ver uma resposta HTTP/1.0 403 Forbidden:

curl -I http://localhost:8000/admin.html

Este comando deve retornar um status HTTP/1.0 403 Forbidden.

Esses comandos curl ajudam você a verificar manualmente como diferentes caminhos no servidor respondem com códigos de status HTTP específicos, que é o que o Gobuster automatizará.

Executar uma Varredura para Ver Todos os Códigos de Status

Nesta etapa, você realizará uma varredura básica do Gobuster contra o servidor web fictício sem nenhum filtro de código de status. Isso permitirá que você veja a saída padrão, que inclui todos os caminhos descobertos juntamente com seus códigos de status HTTP correspondentes. Isso serve como uma linha de base antes de aplicar filtros.

A sintaxe básica para brute-forcing de diretórios com Gobuster é gobuster dir -u <URL> -w <wordlist>.

  • -u: Especifica a URL de destino. No nosso caso, é http://localhost:8000.
  • -w: Especifica o caminho para o arquivo de lista de palavras (wordlist). Usaremos o arquivo wordlist.txt criado na configuração.

Execute o seguinte comando no seu terminal:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt

Após executar o comando, observe a saída. Você deverá ver linhas semelhantes a estas, indicando os caminhos descobertos e seus códigos de status:

/index.html           (Status: 200)
/secret.html          (Status: 200)
/redirect.html        (Status: 301)
/admin.html           (Status: 403)

Observe que o Gobuster relata todos os códigos de status que encontra. Em um cenário do mundo real com uma lista de palavras grande, esta saída pode ser muito longa e conter muitas entradas irrelevantes. As próximas etapas mostrarão como refinar essa saída.

Use a Flag -s para Mostrar Apenas 200 OK e 301 Redirecionamentos

Nesta etapa, você aprenderá como usar a flag -s (status) no Gobuster para filtrar os resultados da varredura e exibir apenas códigos de status HTTP específicos. Isso é incrivelmente útil quando você está procurando por tipos particulares de respostas, como páginas bem-sucedidas ou redirecionamentos.

A flag -s permite que você especifique uma lista separada por vírgulas de códigos de status para incluir na saída. Por exemplo, para ver apenas respostas 200 (OK) e 301 (Moved Permanently), você usaria -s 200,301.

Execute o seguinte comando:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt -s 200,301

Observe a saída. Desta vez, você deverá ver apenas entradas com os códigos de status 200 e 301:

/index.html           (Status: 200)
/secret.html          (Status: 200)
/redirect.html        (Status: 301)

Observe que a entrada /admin.html, que retornou um status 403, não está mais presente na saída. Isso demonstra a eficácia com que a flag -s pode refinar seus resultados, facilitando o foco em descobertas relevantes.

Executar uma Nova Varredura para Encontrar Páginas Proibidas (403)

Nesta etapa, você realizará outra varredura filtrada, desta vez procurando especificamente por páginas "Forbidden" (Proibidas), que retornam um código de status HTTP 403. Identificar respostas 403 pode ser crucial em testes de penetração, pois frequentemente indicam interfaces administrativas protegidas, arquivos sensíveis ou diretórios que podem ser vulneráveis a configurações incorretas ou técnicas de bypass.

Para filtrar apenas os códigos de status 403, você usará a flag -s com 403 como argumento.

Execute o seguinte comando:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt -s 403

Examine a saída. Agora você deverá ver apenas a entrada para /admin.html, que retornou um status 403:

/admin.html           (Status: 403)

Esta varredura direcionada destaca rapidamente recursos aos quais o servidor explicitamente nega acesso. Embora esses recursos sejam protegidos, sua mera existência pode ser uma informação valiosa para investigações futuras. Isso demonstra a flexibilidade da flag -s em focar em tipos específicos de respostas do servidor.

Analisar a Saída Filtrada

Nesta etapa final, você analisará as implicações das saídas filtradas que gerou. Compreender o que diferentes códigos de status significam no contexto de uma varredura Gobuster é fundamental para uma enumeração web eficaz.

Quando você filtrou pelos códigos de status 200,301, identificou:

  • /index.html (200 OK): Esta é a página principal, indicando um recurso bem-sucedido e acessível.
  • /secret.html (200 OK): Esta também retornou 200, sugerindo que é uma página acessível. Em um cenário real, você investigaria seu conteúdo para ver se ele contém informações sensíveis.
  • /redirect.html (301 Moved Permanently): Isso indica um redirecionamento. Normalmente, você seguiria o redirecionamento para ver para onde ele leva, pois pode apontar para conteúdo atualizado ou para outra parte da aplicação.

Quando você filtrou pelos códigos de status 403, identificou:

  • /admin.html (403 Forbidden): Esta é uma descoberta crucial. Uma resposta 403 significa que o servidor sabe que o recurso existe, mas nega o acesso. Isso frequentemente aponta para painéis administrativos, diretórios sensíveis ou arquivos que são intencionalmente protegidos. Embora o acesso direto seja negado, este caminho é um candidato principal para investigação adicional, como:
    • Tentativas de bypass: Existem técnicas de bypass conhecidas para este servidor web ou aplicação específica?
    • Credenciais padrão: Credenciais padrão poderiam permitir o acesso?
    • Varredura de vulnerabilidades: Existem vulnerabilidades que poderiam levar a acesso não autorizado?

Ao filtrar seletivamente a saída do Gobuster, você pode rapidamente direcionar sua investigação para as pistas mais promissoras, economizando tempo e tornando seu processo de enumeração mais eficiente e direcionado. Essa habilidade é fundamental para qualquer profissional de segurança que realiza avaliações de aplicações web.

Resumo

Neste laboratório, você aprendeu a usar efetivamente a flag -s do Gobuster para filtrar resultados de varredura com base em códigos de status HTTP. Você começou entendendo códigos de status comuns como 200 (OK), 301 (Moved Permanently) e 403 (Forbidden). Em seguida, realizou uma varredura Gobuster básica para ver todas as respostas e, subsequentemente, aplicou filtros para focar em tipos específicos de resultados.

Ao filtrar pelos códigos de status 200 e 301, você identificou páginas acessíveis e redirecionamentos. Mais importante, ao filtrar pelos códigos de status 403, você localizou recursos potencialmente sensíveis ou protegidos que exigem investigação adicional. Essa abordagem direcionada simplifica significativamente o processo de enumeração web, permitindo que você identifique rapidamente inteligência acionável durante testes de penetração ou avaliações de segurança. Dominar essa técnica é uma habilidade valiosa para qualquer profissional de cibersegurança.