Skip to main content

Gobuster | SolydOne

  • Gobuster | SolydOne

1. Visão Geral

O Gobuster é uma ferramenta de brute force escrita em Go utilizada para enumeração ativa durante fases de reconhecimento (recon) em testes de invasão.

Principais capacidades:

  • Descoberta de diretórios e arquivos em aplicações web
  • Enumeração de subdomínios (DNS brute force)
  • Descoberta de Virtual Hosts
  • Enumeração de buckets S3

Características técnicas:

  • Binário estático (Go)
  • Alto desempenho (multithread)
  • Baixo consumo de memória
  • Execução simples via CLI
  • Baseado em wordlists

2. Instalação

2.1 Via Go

go install github.com/OJ/gobuster/v3@latest

Garantir que $GOPATH/bin esteja no PATH.


2.2 Kali Linux

sudo apt update
sudo apt install gobuster

2.3 Verificação

gobuster version

3. Modos Operacionais

O Gobuster trabalha com modos específicos.

ModoDescrição
dirEnumeração de diretórios e arquivos
dnsEnumeração de subdomínios
vhostDescoberta de virtual hosts
s3Enumeração de buckets AWS

Sintaxe geral:

gobuster <modo> [opções]

4. Modo DIR – Descoberta de Diretórios

Modo mais utilizado em web pentest.

4.1 Sintaxe Básica

gobuster dir -u http://alvo.com -w wordlist.txt

4.2 Parâmetros Relevantes

ParâmetroFunção
-uURL alvo
-wWordlist
-tNúmero de threads
-xExtensões (ex: php,txt)
-sStatus codes a incluir
-bStatus codes a excluir
-kIgnorar certificado SSL inválido
-oSalvar saída
--timeoutTimeout da requisição
--exclude-lengthExcluir respostas por tamanho

4.3 Exemplo Profissional

gobuster dir \
-u https://empresa.com \
-w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt \
-t 40 \
-x php,html,txt \
-b 404 \
-k \
-o resultado.txt

🔎 Estratégia aplicada:

  • 40 threads para otimização controlada
  • Exclusão de 404 para reduzir ruído
  • Extensões específicas para aplicações PHP
  • Ignorar SSL inválido em ambiente de teste

4.4 Interpretação de Status

CódigoSignificado
200Recurso acessível
301Redirecionamento
302Redirecionamento temporário
403Recurso existe, mas acesso negado
500Erro interno (possível falha explorável)

5. Wordlists

Gobuster depende integralmente da qualidade da wordlist.

Local padrão no Kali:

/usr/share/wordlists/
/usr/share/seclists/

Exemplo de wordlist relevante:

/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt

Boas práticas:

  • Começar com wordlist pequena
  • Evoluir para medium/large
  • Criar wordlists customizadas baseadas no contexto do alvo

6. Modo DNS – Enumeração de Subdomínios

Utilizado para descobrir subdomínios via brute force.

6.1 Sintaxe

gobuster dns -d alvo.com -w subdomains.txt

6.2 Exemplo Avançado

gobuster dns \
-d empresa.com \
-w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt \
-t 50 \
-i

Parâmetros adicionais:

ParâmetroFunção
-iExibir IP resolvido
-rResolver DNS customizado
-tThreads

7. Modo VHOST – Virtual Hosts

Usado quando múltiplos domínios estão configurados no mesmo IP.

gobuster vhost -u http://10.10.10.10 -w vhosts.txt

Cenário típico:

  • IP responde genericamente
  • Host header define aplicação interna
  • Possível descoberta de ambientes internos

8. Modo S3 – Buckets AWS

Permite identificar buckets públicos da AWS.

gobuster s3 -w bucket-names.txt

Uso comum:

  • Descobrir backups expostos
  • Encontrar ambientes dev/prod
  • Identificar vazamento de dados

9. Técnicas Avançadas

9.1 Mitigar Soft 404

Algumas aplicações retornam 200 para páginas inexistentes.

Identificar tamanho padrão:

curl http://alvo.com/naoexiste

Excluir por tamanho:

gobuster dir -u http://alvo.com -w wordlist.txt --exclude-length 1234

9.2 Controle contra WAF

Reduzir threads e adicionar delay:

gobuster dir -u http://alvo.com -w wordlist.txt -t 5 --delay 200ms

9.3 User-Agent Customizado

gobuster dir -u http://alvo.com -w wordlist.txt -a "Mozilla/5.0"

10. Workflow Profissional de Enumeração

  1. Recon passivo (subdomínios)
  2. Scan de portas (nmap)
  3. Identificação de tecnologia
  4. Gobuster (enumeração web)
  5. Fuzzing avançado
  6. Análise manual

11. Integração com Nmap

Após identificar serviço HTTP:

nmap -p80,443 -sV alvo.com

Executar enumeração direcionada:

gobuster dir -u http://alvo.com -w wordlist.txt

12. Erros Comuns

12.1 SSL inválido

-k

12.2 Muitas threads causando bloqueio

Reduzir:

-t 10

12.3 Resultados excessivos

Filtrar por status:

-s 200,301,302,403

13. Comparação com Ferramentas Similares

FerramentaLinguagemFoco
GobusterGoRápido e simples
FFUFGoFuzzing avançado
DirsearchPythonFlexível
WFuzzPythonFuzzing complexo

Gobuster é ideal para:

  • Descoberta rápida
  • Scripts automatizados
  • Fase inicial de enumeração