Skip to content

WhatWeb - Identificação de Tecnologias Web

O WhatWeb é uma ferramenta de reconhecimento (reconnaissance) utilizada para identificar as tecnologias empregadas por um site ou aplicação web. Escrito em Ruby por Andrew Horton e Brendan Coles, ele funciona como um “impressor digital” (fingerprinter): ao analisar as respostas HTTP de um servidor, o WhatWeb consegue reconhecer o servidor web, o sistema de gerenciamento de conteúdo (CMS), frameworks, bibliotecas JavaScript, pacotes de análise, versões de software e muito mais.

Essa etapa de identificação é fundamental em avaliações de segurança, pois conhecer as tecnologias de um alvo é o primeiro passo para entender sua superfície de ataque. O WhatWeb conta com mais de 1800 plugins, cada um capaz de reconhecer uma tecnologia diferente por meio de padrões em cabeçalhos HTTP, cookies, código HTML, arquivos específicos e mensagens de erro.

Em distribuições baseadas em Debian, o WhatWeb está disponível diretamente nos repositórios oficiais:

Terminal window
sudo apt update
sudo apt install whatweb

Nessas distribuições, o WhatWeb geralmente não está nos repositórios padrão. A forma mais confiável é instalá-lo a partir do código-fonte (veja abaixo).

O WhatWeb é distribuído no GitHub e, por ser escrito em Ruby, não requer compilação. Basta ter o interpretador Ruby instalado:

Terminal window
# Instalar o Ruby (Debian/Ubuntu)
sudo apt install ruby
# Clonar o repositório
git clone https://github.com/urbanadventurer/WhatWeb.git
# Acessar o diretório
cd WhatWeb
# Executar diretamente
./whatweb --version
Terminal window
whatweb --version

A forma mais simples de utilizar o WhatWeb é passar uma URL ou domínio como argumento:

Terminal window
whatweb example.com

A saída exibe as tecnologias identificadas de forma resumida, em uma única linha, com destaque colorido para cada componente detectado:

http://example.com [200 OK] Country[UNITED STATES][US], HTTPServer[ECS (dcb/7EA5)],
IP[93.184.216.34], Title[Example Domain]

Você também pode analisar múltiplos alvos de uma vez, separando-os por espaço:

Terminal window
whatweb example.com blog.example.com loja.example.com

O parâmetro -a (ou --aggression) controla o quão “profunda” e intensa será a varredura. Quanto maior o nível, mais requisições são feitas ao alvo — e maior a chance de ser detectado por sistemas de monitoramento.

NívelNomeDescrição
1StealthyFaz uma única requisição HTTP. É o modo mais discreto e o padrão da ferramenta.
3AggressiveRealiza requisições adicionais com base nas tecnologias detectadas no nível 1.
4HeavyEnvia todas as requisições possíveis a todas as URLs. É o modo mais intrusivo e barulhento.
Terminal window
# Varredura discreta (padrão)
whatweb -a 1 example.com
# Varredura agressiva
whatweb -a 3 example.com
# Varredura intensa
whatweb -a 4 example.com

Para obter mais detalhes sobre cada tecnologia identificada — incluindo a versão, o plugin responsável pela detecção e o motivo da correspondência — utilize a opção -v (verbose):

Terminal window
whatweb -v example.com

Nesse modo, cada plugin detectado é exibido em uma seção separada, com informações como certeza da detecção, versão e a string encontrada que gerou a correspondência.

O WhatWeb oferece diversos formatos para salvar os resultados em arquivo, o que é essencial para documentar avaliações e integrar com outras ferramentas.

OpçãoFormato de saída
--log-briefResumido, uma linha por alvo
--log-verboseDetalhado, com todas as informações de cada plugin
--log-xmlXML, ideal para processamento automatizado
--log-jsonJSON, útil para integração com scripts e aplicações
--log-sqlInstruções SQL para inserção em banco de dados
--log-errorsRegistra apenas os erros ocorridos durante a varredura
Terminal window
# Salvar resultado em formato JSON
whatweb example.com --log-json=resultado.json
# Salvar resultado resumido
whatweb example.com --log-brief=resultado.txt
# Salvar em XML
whatweb example.com --log-xml=resultado.xml

Em avaliações maiores, é comum precisar analisar dezenas ou centenas de hosts. Para isso, use a opção -i (ou --input-file), que lê os alvos de um arquivo de texto — um por linha:

Terminal window
# Criar arquivo com a lista de alvos
cat > alvos.txt << 'EOF'
example.com
blog.example.com
loja.example.com
EOF
# Executar a varredura sobre todos os alvos
whatweb -i alvos.txt

Os plugins são o coração do WhatWeb. Cada um é responsável por identificar uma tecnologia específica.

Terminal window
whatweb -l
Terminal window
whatweb --info-plugins

Você pode restringir a varredura a plugins específicos com a opção -p (ou --plugins):

Terminal window
# Usar apenas os plugins WordPress e HTTPServer
whatweb -p WordPress,HTTPServer example.com

A opção -g (ou --grep) permite pesquisar por uma string específica na resposta do alvo:

Terminal window
whatweb -g "powered by" example.com
OpçãoDescrição
-U, --user-agentDefine um User-Agent personalizado para as requisições
-H, --headerAdiciona um cabeçalho HTTP personalizado
--proxy <host:porta>Envia as requisições através de um proxy
--proxy-user <usuário:senha>Autenticação para o proxy
-t, --max-threadsNúmero máximo de threads simultâneas (padrão: 25)
--follow-redirect <opção>Controla o comportamento diante de redirecionamentos
--color <quando>Controla o uso de cores na saída (never, always, auto)
Terminal window
# Usar um User-Agent personalizado para evitar bloqueios simples
whatweb -U "Mozilla/5.0 (compatible; WhatWeb)" example.com
# Enviar a varredura através de um proxy
whatweb --proxy 127.0.0.1:8080 example.com
# Aumentar o número de threads para varreduras em massa
whatweb -i alvos.txt -t 50

Um fluxo típico de reconhecimento combina vários dos recursos vistos acima. Suponha que você precise avaliar um conjunto de sites autorizados e documentar os resultados:

Terminal window
# 1. Varredura agressiva de todos os alvos, salvando em JSON
whatweb -i alvos.txt -a 3 --log-json=relatorio.json
# 2. Análise detalhada de um alvo específico de interesse
whatweb -v -a 3 example.com
# 3. Verificação apenas do servidor web e CMS
whatweb -p HTTPServer,WordPress,Joomla,Drupal example.com

Com esses resultados, você terá um panorama das tecnologias em uso — versões de servidor, CMS, frameworks e bibliotecas — que servirá de base para as etapas seguintes de uma avaliação de segurança, como a pesquisa por vulnerabilidades conhecidas associadas a cada versão identificada.

O WhatWeb é uma ferramenta leve, rápida e extremamente útil na fase de reconhecimento de qualquer avaliação de segurança web. Sua capacidade de identificar tecnologias com precisão, combinada com os diferentes níveis de agressividade e formatos de saída, o torna indispensável tanto para profissionais de segurança quanto para administradores que desejam entender a “impressão digital” pública de seus próprios servidores.

Lembre-se sempre de que o reconhecimento é apenas uma etapa de um processo maior e deve ser conduzido de forma ética e autorizada. Conhecer as tecnologias que compõem uma aplicação é valioso não apenas para identificar riscos, mas também para reforçar a segurança dos sistemas que administramos.