Guia de referência Gobuster
Referência completa para enumeração de diretórios e DNS
Força bruta de diretórios • Subdomínios DNS • Descoberta Vhost • Buckets S3
📑 Navegação rápida
O que é Gobuster?
Gobuster é uma ferramenta de força bruta para URIs, subdomínios DNS, nomes de hosts virtuais, buckets Amazon S3 abertos, e mais. Escrito em Go, é extremamente rápido e suporta conexões concorrentes para velocidade máxima.
Gobuster vem pré-instalado no Kali Linux. Código fonte em github.com/OJ/gobuster.
📦 Instalação
Kali Linux
sudo apt install gobuster
Go Install
go install github.com/OJ/gobuster/v3@latest
macOS (Homebrew)
brew install gobuster
🔧 Visão geral dos modos
| Modo | Finalidade |
|---|---|
| dir | Enumeração de diretórios/arquivos |
| dns | Enumeração de subdomínios DNS |
| vhost | Enumeração de hosts virtuais |
| fuzz | Fuzzing com palavra-chave FUZZ |
| s3 | Enumeração de buckets Amazon S3 |
| gcs | Enumeração Google Cloud Storage |
| tftp | Enumeração de arquivos TFTP |
📁 Modo Dir (Enumeração de diretórios)
# Scan básico de diretóriosgobuster dir -u http://<target> -w /usr/share/wordlists/dirb/common.txt# Com extensões de arquivosgobuster dir -u http://<target> -w wordlist.txt -x php,html,txt,bak# Mais threads (mais rápido)gobuster dir -u http://<target> -w wordlist.txt -t 50# Com autenticaçãogobuster dir -u http://<target> -w wordlist.txt -U admin -P password# Com cookiesgobuster dir -u http://<target> -w wordlist.txt -c "session=abc123"# Filtrar por códigos de statusgobuster dir -u http://<target> -w wordlist.txt -s "200,204,301,302,307"# Excluir códigos de statusgobuster dir -u http://<target> -w wordlist.txt -b "404,403"# Saída para arquivogobuster dir -u http://<target> -w wordlist.txt -o results.txt
Opções do modo Dir
| Opção | Descrição |
|---|---|
| -u URL | URL alvo |
| -w WORDLIST | Caminho para wordlist |
| -x EXTENSIONS | Extensões de arquivos para pesquisar |
| -t THREADS | Número de threads (padrão 10) |
| -s STATUS | Incluir códigos de status |
| -b STATUS | Excluir códigos de status |
| -c COOKIE | String de cookie |
| -H HEADER | Cabeçalho personalizado |
| -a USER-AGENT | User-Agent personalizado |
| -r | Seguir redirecionamentos |
| -k | Ignorar verificação TLS |
| -n | Não imprimir códigos de status |
| -e | Imprimir URLs completas |
| --timeout DURATION | Timeout HTTP |
🌐 Modo DNS (Enumeração de subdomínios)
# Scan básico de subdomíniosgobuster dns -d example.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt# Mostrar endereços IPgobuster dns -d example.com -w wordlist.txt -i# Resolver DNS personalizadogobuster dns -d example.com -w wordlist.txt -r 8.8.8.8# Mostrar registros CNAMEgobuster dns -d example.com -w wordlist.txt -c# Detecção wildcardgobuster dns -d example.com -w wordlist.txt --wildcard
Opções do modo DNS
| -d DOMAIN | Domínio alvo |
| -i | Mostrar endereços IP |
| -c | Mostrar registros CNAME |
| -r RESOLVER | Usar resolver DNS personalizado |
| --wildcard | Forçar detecção wildcard |
🏠 Modo Vhost (Enumeração de hosts virtuais)
# Scan vhost básicogobuster vhost -u http://<target> -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt# Adicionar domínio às entradas da wordlistgobuster vhost -u http://<target> -w wordlist.txt --append-domain# Com domínio personalizadogobuster vhost -u http://192.168.1.100 -w wordlist.txt --domain example.local
💡 Vhost vs modo DNS
O modo DNS consulta servidores DNS para subdomínios. O modo Vhost envia requisições HTTP com diferentes cabeçalhos Host para encontrar hosts virtuais no mesmo IP (útil quando subdomínios não estão no DNS).
🎯 Modo Fuzz
Use a palavra-chave FUZZ para especificar onde injetar entradas da wordlist.
# Fuzzing de parâmetro URLgobuster fuzz -u "http://<target>/api?id=FUZZ" -w numbers.txt# Fuzzing de caminhogobuster fuzz -u "http://<target>/FUZZ/admin" -w wordlist.txt# Fuzzing com cabeçalhosgobuster fuzz -u "http://<target>/api" -w wordlist.txt -H "X-Custom-Header: FUZZ"# Excluir certas respostasgobuster fuzz -u "http://<target>/FUZZ" -w wordlist.txt -b "404" --exclude-length 1234
☁️ Modo S3 (Enumeração de buckets AWS)
# Scan básico de buckets S3gobuster s3 -w bucket-names.txt# Com mais threadsgobuster s3 -w bucket-names.txt -t 50
⚙️ Opções globais
| Opção | Descrição |
|---|---|
| -t THREADS | Número de threads concorrentes |
| -o FILE | Arquivo de saída |
| -v | Saída verbosa |
| -q | Modo silencioso (sem banner) |
| --no-error | Não exibir erros |
| --delay DURATION | Atraso entre requisições |
| -p PATTERN | Arquivo com patterns de substituição |
📚 Wordlists recomendadas
| Finalidade | Caminho (SecLists) |
|---|---|
| Diretórios (Rápido) | /usr/share/wordlists/dirb/common.txt |
| Diretórios (Médio) | /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt |
| Diretórios (Grande) | /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt |
| Subdomínios | /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt |
| Endpoints API | /usr/share/seclists/Discovery/Web-Content/api/api-endpoints.txt |
| Raft (Diversos) | /usr/share/seclists/Discovery/Web-Content/raft-medium-*.txt |
🔥 Cenários de ataque comuns
# Scan rápido de diretórios com extensões comunsgobuster dir -u http://<target> -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -t 50# Descoberta abrangente de subdomíniosgobuster dns -d example.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -t 50# Encontrar arquivos de backupgobuster dir -u http://<target> -w wordlist.txt -x bak,old,backup,~,swp# Descoberta de endpoints APIgobuster dir -u http://<target>/api -w /usr/share/seclists/Discovery/Web-Content/api/api-endpoints.txt# Descoberta de hosts virtuais com IPgobuster vhost -u http://192.168.1.100 -w wordlist.txt --append-domain --domain target.local
📚 Recursos adicionais
📂 Guia de referência Gobuster completo!
Você agora tem uma referência abrangente para o brute-forcer de diretórios e subdomínios mais rápido. Da enumeração de diretórios à descoberta de hosts virtuais, esses comandos são essenciais para reconhecimento.
Pronto para descobrir conteúdo oculto!