A enumeração de websites é uma fase crucial em testes de penetração e CTFs. Ela envolve a descoberta de recursos ocultos como diretórios, subdomínios, hosts virtuais, plugins, temas e vulnerabilidades conhecidas. Este artigo explora três ferramentas fundamentais para essa tarefa: Gobuster, WPScan e Nikto.
Ferramenta: Gobuster
Gobuster é uma ferramenta de alta velocidade para brute-forcing URIs (diretórios e arquivos), subdomínios DNS e hosts virtuais. Ela opera em três modos principais.
Modo Dir (Diretórios)
Este modo é usado para descobrir caminhos de diretórios e arquivos em um servidor web. O comando básico requer a URL alvo e uma wordlist.
gobuster dir -u <url-alvo> -w /caminho/para/wordlist.txt
Parâmetros úteis incluem -x para buscar extensões de arquivo específicas (ex.: -x php,txt,html) e -t para definir o número de threads de execução (ex.: -t 64).
Modo DNS (Subdomínios)
Utilizado para enumerar subdomínios associados a um domínio. É essencial pois subdomínios podem hospedar serviços com configurações diferentes e vulnerabilidades não corrigidas.
gobuster dns -d <dominio-alvo> -w /caminho/para/subdomains-wordlist.txt
O uso do parâmetro -i exibe os endereços IP correspondentes aos subdomínios encontrados.
Modo Vhost (Hosts Virtuais)
Hosts virtuais são diefrentes websites hospedados no mesmo servidor. Eles podem conter conteúdo oculto que não está acessível através do domínio principle.
gobuster vhost -u http://<dominio-principal> -w /caminho/para/subdomains-wordlist.txt
Os hosts virtuais encontrados devem ser adicionados ao arquivo /etc/hosts da máquina atacante para que sejam resolvidos corretamente.
Ferramenta: WPScan
WPScan é um scanner de vulnerabilidades especializado em WordPress. Ele utiliza um banco de dados de vulnerabilidades conhecidas (WPVulnDB) para identificar probleams.
Atualização do Banco de Dados
É fundamental manter o banco de dados local atualizado antes de realizar escaneamentos.
wpscan --update
Enumeração de Componentes
O WPScan pode enumerar diversos elementos de uma instalação WordPress:
- Temas:
wpscan --url <url-wp> --enumerate t - Plugins:
wpscan --url <url-wp> --enumerate p - Usuários:
wpscan --url <url-wp> --enumerate u - Versões e Vulnerabilidades: Adicione
vao parâmetro--enumerate(ex.:--enumerate vp) para cruzar informações com o WPVulnDB.
Ataques de Dicionário
Com uma lista de usuários válidos, o WPScan pode executar ataques de força bruta contra credenciais de login.
wpscan --url <url-wp> --passwords /caminho/para/rockyou.txt --usernames <usuario1,usuario2>
O parâmetro --plugins-detection aggressive aumenta a agressividade da detecção, o que pode ajudar a bypassar alguns WAFs (Web Application Firewalls).
Ferramenta: Nikto
Nikto é um scanner de vulnerabilidades web de propósito geral. Ele detecta problemas como arquivos sensíveis, softwares desatualizados e configurações incorretas em servidores web como Apache, Nginx, Tomcat, etc.
Escaneamento Básico
O comando mais simples analisa a porta 80 de um alvo, procurando por vulnerabilidades comuns e informações do servidor.
nikto -h <ip-ou-dominio-alvo>
A saída pode revelar informações úteis como o software e versão do servidor web (ex.: Apache/2.4.7) e métodos HTTP perigosos habilitados (ex.: PUT, DELETE).
Escaneamento de Múltiplos Hosts e Portas
O Nikto pode escanear múltiplos hosts e portas. A integração com o Nmap permite escanear sub-redes inteiras.
# Escanear múltiplas portas
nikto -h <ip-alvo> -p 80,443,8080
# Usar saída do Nmap como entrada
nmap -p80 192.168.1.0/24 -oG - | nikto -h -
Uso de Plugins e Parâmetros Avançados
O Nikto possui plugins que expandem suas funcionalidades, como apacheusers (enumeração de usuários) e dir_traversal (detecção de traversal de diretórios). A lista completa pode ser consultada com nikto -list-plugins.
Parâmetros como -Tuning permitem focar o escaneamento em categorias específicas de vulnerabilidade, como Injection (XSS) ou File Upload.
# Focar em busca de injeções
nikto -h <alvo> -Tuning 4
Os resultados podem ser salvos em formatos como texto (.txt) ou HTML (.html) usando o parâmetro -o.