Skip to content

Tudo para WordPress, desenvolvimento web — e não só

🧪 Burp Suite: scanner e crawler web para pentest

🧪 Burp Suite: scanner e crawler web para pentest

Um pentester chega a um site desconhecido e vê apenas a fachada. As vulnerabilidades reais, SQL injections, XSS, path traversal, escondem-se nas profundezas: diretórios ocultos, endpoints esquecidos, parâmetros de pedido não óbvios. A travessia manual consome horas. A travessia automatizada, sem a ferramenta certa, ou não deteta pontos de entrada críticos ou faz a aplicação colapsar com uma avalanche de pedidos.

O Burp Suite Professional resolve esta tarefa com uma combinação de "crawler + scanner". Uma só passagem e obtém um mapa da aplicação com cada página verificada para dezenas de classes de vulnerabilidades. Tudo numa única janela, sem scripts ou linha de comandos.

Este guia é uma análise passo a passo do crawler e scanner do Burp Suite: da travessia básica à afinação da auditoria. As capturas de ecrã são atuais para as versões de 2024+, a lógica não mudou desde o Burp 2.0. Vamos abordar o Crawl, o Audit e o modo combinado Crawl and Audit.

💡 Visão geral rápida:

  • Lance um scan de crawl básico: separador Dashboard, New Scan, Crawl, obtenha um mapa do site em Target.
  • Configure o crawler para a sua tarefa: exclua URLs fora do âmbito, adicione credenciais, ajuste o conjunto de pedidos.
  • Passe para a auditoria: Audit Selected Items em qualquer URL do mapa, o Burp encontra vulnerabilidades e organiza-as por gravidade.
  • Combine Crawl + Audit para testes ponta a ponta: o crawler percorre o site, o scanner verifica imediatamente cada página descoberta.
  • Complete a análise estudando o Advisory: payload, pedido/resposta, CVSS e passos de remediação.

O que é um web crawler no Burp Suite

Um web crawler (também conhecido como spider) é um mecanismo que percorre uma aplicação web: segue links, submete formulários e autentica-se em secções protegidas. O resultado é um mapa do site em árvore no separador Target, onde cada URL vem com métodos HTTP e parâmetros de pedido.

Até à versão 1.7, o Burp Suite usava o Spider, uma ferramenta separada com o seu próprio separador. A partir do Burp 2.0, a PortSwigger substituiu-o pelo Crawler, integrado diretamente no Dashboard. Todas as ações automatizadas, travessia, auditoria, registo, estão reunidas numa janela. Gestão: pausar/retomar para cada tarefa separadamente.

Essencialmente, o crawler faz o mesmo que o DirBuster ou o Dirb: enumera diretórios, regista URLs ocultos. Mas, ao contrário destes, o Burp Crawler analisa o conteúdo da página, executa JavaScript (se a análise estiver ativada) e compreende a lógica de navegação da aplicação. O DirBuster e o Dirb fazem simplesmente força bruta usando um dicionário. O Crawler constrói um grafo da aplicação.

Executar o crawler: scan básico

Abra o Burp Suite e mude para o separador Dashboard. O painel está dividido em quatro zonas:

  • Tasks, todas as travessias e scans em execução. A partir daqui pode pausar, retomar e ver detalhes de cada tarefa.
  • Event log, eventos do Burp Suite: arranque do proxy, falhas de módulos, conclusão de scan.
  • Issue activity, vulnerabilidades descobertas com filtragem por gravidade e tipo.
  • Advisories, ficha detalhada da vulnerabilidade selecionada: payload, pedido/resposta e CVSS.

Clique no botão New Scan no topo da secção Tasks.

Botão New Scan no painel do Dashboard do Burp Suite

Aparecerá uma janela pop-up New Scan com duas opções:

  • Crawl and audit, travessia + auditoria numa só execução;
  • Crawl, apenas travessia.

Para uma primeira introdução, escolha Crawl. Introduza um URL de teste, por exemplo http://testphp.vulnweb.com, e clique em OK.

Janela New Scan com seleção de modo Crawl e campo de URL

A janela fechar-se-á. No Dashboard, em Tasks, aparecerá uma nova tarefa, "Crawl testphp.vulnweb.com". O Event log confirmará o evento "Crawl started".

Tarefa de scan no Dashboard e evento de arranque no Registo de eventos

Após alguns minutos, a tarefa será concluída. Procure o resultado no separador Target, o crawler produz o mapa do site sob a forma de uma árvore de URLs.

Mapa do site no separador Target após conclusão do percurso do crawler

No painel direito, cada URL vem com métodos HTTP e uma coluna Parameters. Os parâmetros indicam pontos de entrada, potencialmente vulneráveis a injeções. Clique duas vezes no cabeçalho da coluna Parameters, os URLs com parâmetros subirão para o topo.

Coluna Parameters no separador Target para encontrar pontos de entrada

O painel esquerdo do Target é ocupado pela árvore do site, clicável e com aninhamento de URLs. Selecione qualquer diretório, o painel direito mostra imediatamente os seus métodos e parâmetros.

Árvore de URLs no painel esquerdo do separador Target com seleção de diretório

Afinar o crawler

A travessia básica é suficiente para sites simples. Mas uma aplicação real é mais complexa: algumas páginas estão fora do âmbito, secções fechadas requerem autorização e uma aplicação frágil não suporta dezenas de pedidos simultâneos.

Voltamos ao Dashboard, clicamos novamente em New Scan, mas agora não nos apressamos a clicar em OK. Configuramos.

Excluir URLs fora do âmbito

Na secção Scan details, encontre Detailed scope configuration. Vá a Excluded URL prefixes e adicione um URL que não deve ser incluído na travessia, por exemplo http://testphp.vulnweb.com/signup.php.

Campo de prefixos de URL excluídos nas definições de âmbito do scan

Criar uma configuração personalizada

Vá a Scan configuration e clique no botão New.

Botão New na secção de configuração de Scan para criar um perfil

Abre-se uma janela com parâmetros. O nome da configuração pode ficar com o valor predefinido. O parâmetro chave é Otimização do rastreio: um controlo deslizante de «Mais rápido» a «Mais profundo» determina a profundidade com que o rastreador explora a aplicação. Para um teste de produção, ajuste-o mais perto de «Mais profundo»; para um reconhecimento rápido, mais perto de «Mais rápido».

Controlo deslizante de otimização de crawler de Fastest a Deepest

Os limites de tempo e de número de páginas também são definidos aqui. Valores razoáveis para uma aplicação de dimensão média: Tempo máximo de rastreio, 50 minutos, Máximo de localizações únicas descobertas, 5000.

Definições de limite do crawler: tempo e número de páginas únicas

Credenciais para secções fechadas

Se a aplicação exigir início de sessão, marque as caixas Iniciar sessão nos portais de registo de utilizadores e Iniciar sessão com credenciais inválidas. O rastreador tentará registar-se com dados aleatórios ou introduzir credenciais sabidamente incorretas para observar o comportamento do site durante uma autenticação falhada.

Caixas de verificação de autorização do crawler para portais de registo e login

Clique em Guardar; a configuração aparece na lista pendente de configurações de análise.

Configuração de crawler guardada na lista de seleção

Agora vamos adicionar credenciais reais, que serão úteis se o rastreador encontrar um portal de administração ou uma secção fechada. Vá à secção Início de sessão na aplicação e clique em Criar.

Secção Application login para adicionar credenciais ao crawler

Introduza o utilizador e a palavra-passe e clique em OK.

Janela de introdução de credenciais para autorização do crawler

Pool de recursos e pedidos simultâneos

A secção Pool de recursos gere quantos pedidos simultâneos o rastreador envia para a aplicação e com que intervalo. Para uma aplicação frágil, reduza o número de threads e aumente o intervalo. Para uma bancada de demonstração, mantemos os valores predefinidos.

Definições do conjunto de recursos: número de threads e atraso entre pedidos

Clique em OK; o rastreador inicia com a configuração especificada. Acompanhamos o progresso no Dashboard.

Dashboard com tarefa de crawler em execução após configuração

Após a conclusão, vamos ao separador Target. A página signup.php está ausente do mapa do site; o prefixo excluído funcionou conforme pretendido.

Mapa do site após percurso com URL excluído, signup.php está ausente

Análise de vulnerabilidades: modo de auditoria

O crawler fornece um mapa da aplicação. A auditoria vai mais longe: verifica os URLs descobertos em busca de vulnerabilidades como injeções de SQL, XSS, injeção de comandos, path traversal e dezenas de outras classes. Na terminologia do Burp Suite, isto chama-se "active scanning".

Ao contrário do scanning passivo (análise das respostas sem pedidos adicionais), a auditoria ativa envia pedidos modificados com payloads e interpreta a resposta da aplicação.

Auditoria com as definições padrão

Se a aplicação já tiver sido analisada pelo crawler, pode auditar qualquer URL a partir do mapa do site. No separador Target, clique com o botão direito no URL base e selecione Scan.

Menu de contexto no URL: opção Scan para lançar auditoria

A janela New Scan abre novamente, mas agora a opção Audit selected items está ativa. Todos os URLs do mapa do site são automaticamente inseridos no campo Items to scan. Clique em OK.

Janela New Scan com opção Audit selected items e lista de URLs

Vamos ao Dashboard. O cenário mudou: as secções Tasks e Event log estão ativas e, mais importante, Issue activity e Advisories já têm dados.

Dashboard após lançamento da auditoria: Task, Issue activity e Advisories preenchidos

Em poucos minutos, o scanner enviou cerca de 17 000 pedidos e identificou vulnerabilidades agrupadas por gravidade: alta (vermelho), média (amarelo), informativa (cinzento).

Botão View details no cartão da tarefa de auditoria no Dashboard

Abrir-se-á uma janela com um resumo completo. O separador Audit items mostra os URLs verificados e o número de vulnerabilidades descobertas.

Separador Audit items com lista de URLs verificados e vulnerabilidades

O separador Issue activity mostra a mesma informação, discriminada por gravidade. Cada vulnerabilidade pode ser expandida para ver o Advisory.

Separador Issue activity com agrupamento de vulnerabilidades por gravidade

O separador Advisories mostra a ficha completa da vulnerabilidade selecionada. No topo estão o URL, a gravidade, a confiança e a pontuação CVSS. Abaixo, encontram-se a descrição, as recomendações de remediação e links para recursos externos sobre esta classe de vulnerabilidade.

Cartão de Advisory completo com CVSS, descrição e recomendações

Para ver o pedido e a resposta HTTP específicos que desencadearam a descoberta, vá ao separador HTTP request/response. É aqui que vê o payload que o Burp enviou para a aplicação e a resposta do servidor que confirma a vulnerabilidade.

Separador de pedido/resposta HTTP: payload enviado e resposta do servidor

Afinar a auditoria

A auditoria padrão abrange todas as classes de vulnerabilidades. Mas, por vezes, é necessário restringir o foco: verificar apenas injeções de SQL ou apenas XSS. Ou, inversamente, adicionar verificações personalizadas para uma API específica.

Criar um perfil de auditoria

Voltamos a abrir a janela New Scan. Na secção Scan configuration, clique em New para criar uma configuração de auditoria.

Botão New na secção de configuração de Scan para perfil de auditoria

Na janela que se abre, vá ao separador Audit optimization. Aqui encontram-se três níveis:

  • Default, cobertura padrão, equilíbrio entre velocidade e profundidade;
  • Thorough, conjunto alargado de payloads e verificação mais profunda de cada parâmetro;
  • Fast, modo ligeiro, com menos pedidos e verificações.
Separador Audit optimization: selecionar Default, Thorough ou Fast

A secção Issues reported permite selecionar classes de vulnerabilidade específicas. Por exemplo, deixe apenas SQL injection e Cross-site scripting; assim, o scanner não perderá tempo a verificar path traversal ou injeção de comandos.

Secção Issues reported: selecionar classes de vulnerabilidades para auditoria

No separador Otimização de auditoria > Personalizado, pode configurar com maior precisão a interseção de classes e a intensidade das verificações.

Configuração detalhada da interseção de classes de vulnerabilidade em Custom

Tipos de análise

No separador Otimização de auditoria, existe uma secção Tipo de análise com quatro níveis de agressividade:

  • Passivo, apenas análise de tráfego, sem pedidos adicionais. Seguro para produção, mas apenas encontra cabeçalhos e problemas de configuração.
  • Ativo ligeiro, conjunto mínimo de verificações ativas. Equilíbrio entre cobertura e risco.
  • Ativo médio, mais verificações, carga média. Para ambientes de staging.
  • Intrusivo, conjunto completo, incluindo verificações destrutivas. Apenas em ambientes isolados.
Secção de seleção de tipo de scan: Passive, Light, Medium, Intrusive

No mesmo local, a análise de JavaScript pode ser ativada opcionalmente; o crawler executa JS para descobrir conteúdo dinâmico e endpoints ocultos em aplicações SPA.

Caixa de verificação de análise de JavaScript nas definições de scan

A escolha final do tipo de análise é apresentada no topo da janela de configuração.

Seleção de tipo de scan: Passive, Light active, Medium active, Intrusive, JS analysis

Pontos de inserção

Os pontos de inserção são posições nos pedidos onde o Burp insere payloads. Por predefinição, o scanner determina-os automaticamente: parâmetros de URL, corpo do POST, cabeçalhos, cookies. No modo avançado, pode limitar ou expandir o conjunto de posições.

Configuração de pontos de inserção para payloads nos pedidos

Guardamos a configuração e esta aparece na lista suspensa.

Perfil de auditoria guardado na lista suspensa de configuração

Clique em OK. O scanner envia cerca de 2700 pedidos (contra 17 000 numa auditoria completa) e encontra uma vulnerabilidade de severidade alta.

Resultado de auditoria Light active: 2700 pedidos, 1 vulnerabilidade

Agora, quando clica com o botão direito num URL no Target, aparecem duas opções de análise em vez de uma: a predefinida e a nossa personalizada.

Duas opções de scanning no menu de contexto do URL após criação de perfil

Verificações integradas da biblioteca

A configuração manual da auditoria não é obrigatória. O Burp Suite inclui uma biblioteca de perfis prontos a usar. Ao criar uma nova configuração, clique em Selecionar da biblioteca na parte inferior da janela.

Botão Select from library na janela de criação de configuração de auditoria

Selecione qualquer perfil integrado, por exemplo, um adaptado a uma classe de vulnerabilidade ou tipo de aplicação específicos.

Biblioteca de perfis de auditoria integrados do Burp Suite

O perfil selecionado é importado de volta para a janela New Scan.

Perfil de auditoria selecionado da biblioteca na janela New Scan

Clique em OK. Após a conclusão da auditoria, o menu de contexto do URL em Target mostra três opções de análise: default, custom e library.

Três opções de scanning no menu de contexto do URL: default, custom, library

Análise e auditoria numa só execução

Até agora, executámos o crawler e a auditoria separadamente. Mas o Burp Suite suporta o modo ponta a ponta Crawl and Audit: primeiro percorre a aplicação e, de seguida, verifica imediatamente tudo o que encontrou em busca de vulnerabilidades.

No Dashboard, clique novamente em New Scan, selecione Crawl and audit, introduza o URL.

Janela New Scan com seleção de modo Crawl and audit e campo de URL

Na secção de configuração, ao clicar em Create, o Burp pergunta qual a parte a configurar: otimização do crawler ou parâmetros de auditoria. Os parâmetros internos são os mesmos que vimos em separado.

Menu de seleção: configurar crawler ou auditoria no modo Crawl and Audit

Este é o modo principal para testes de penetração em produção: uma execução cobre tanto o reconhecimento como a descoberta de vulnerabilidades. Para aplicações grandes com dezenas de milhares de páginas, é mais rápido dividir em duas etapas, primeiro o crawler e depois a auditoria. Mas para a maioria dos sites, o Crawl and Audit produz resultados numa só passagem.

Gestão de tarefas: eliminação e limpeza

As tarefas concluídas e desatualizadas devem ser eliminadas para evitar sobrecarregar o Dashboard. Clique no ícone do caixote do lixo ao lado da tarefa.

Ícone de lixo para eliminar uma tarefa no painel do Dashboard

Confirme a eliminação na janela pop-up.

Janela de confirmação de eliminação de tarefa no Burp Suite

As tarefas são eliminadas instantaneamente, juntamente com todos os dados recolhidos. Antes de eliminar, certifique-se de que os resultados da auditoria foram guardados ou exportados.

Vídeo: análise completa do Burp Suite Scanner

O crawler e o scanner são apenas uma parte do Burp Suite. Este vídeo cobre o ciclo completo de testes de penetração: desde a configuração do proxy até à auditoria ativa e exploração das vulnerabilidades descobertas.

⁉️🤔 Perguntas frequentes

Em que é que o crawler do Burp Suite difere do DirBuster e do Dirb?

O DirBuster e o Dirb funcionam a partir de um dicionário, enumerando nomes de diretórios de uma lista pré-definida. O Crawler do Burp Suite constrói um grafo da aplicação: analisa o conteúdo das páginas, extrai links, submete formulários e pode iniciar sessão. O resultado é um mapa da aplicação com relações de navegação, métodos e parâmetros. Encontra o que os dicionários não têm: URLs dinâmicos, pontos de entrada através de redirecionamentos JavaScript e endpoints ocultos atrás de formulários de login.

Que versão do Burp Suite é necessária para o crawler e a auditoria?

O crawler e a auditoria ativa estão disponíveis apenas no Burp Suite Professional ($499 por utilizador por ano para 2026, preços do Burp Suite Professional). A Community Edition inclui o proxy, o Repeater, o Intruder com limitação de taxa e o Decoder, mas não o Crawler nem o Scanner. A versão Professional oferece ambas as ferramentas, além de Intruder ilimitado, Collaborator e scripts BCheck para verificações personalizadas. A partir da versão 2025, a Professional também inclui o Burp AI, um assistente de IA para interpretar os resultados das análises. A Enterprise Edition adiciona integração CI/CD, agendamento e colaboração em equipa.

É possível analisar um site que não está visível a partir da internet?

O crawler e a auditoria funcionam através do proxy upstream do Burp Suite. Tudo o que está acessível ao navegador através do Burp Proxy está acessível ao crawler: localhost, servidores de staging atrás de VPN, portais corporativos. Não é necessária nenhuma configuração de rede adicional, o âmbito é definido através do Target scope.

Como evitar derrubar a produção com a auditoria ativa?

Escolha a opção Light active em vez de Intrusive. Desative as verificações com risco de corrupção de dados: injeção de SQL com INSERT/UPDATE/DELETE, injeção de comandos destrutiva, upload de ficheiros. Três regras: (1) Apenas Passive no primeiro passo, (2) Light active sem verificações intrusivas no segundo, (3) Intrusive apenas em staging. Pool de recursos: 1 thread, 500 ms de atraso.

Qual é a diferença entre a auditoria passiva e a auditoria ativa?

A auditoria passiva (Passive scanning) não envia novos pedidos, analisa o tráfego que já passou pelo proxy: cabeçalhos, cookies, corpos das respostas. A auditoria ativa (Active scanning) gera novos pedidos com payloads modificados. A passiva não encontrará injeção de SQL, mas identificará cabeçalhos de segurança em falta e cookies sem HttpOnly/Secure. Na prática, ambas são usadas sequencialmente: a passiva durante a navegação, a ativa visando endpoints interessantes.

Qual é a relevância do Burp Suite em 2026?

O Burp Suite continua a ser o padrão de facto para pentesting web. Em 2025, a PortSwigger adicionou um assistente de IA para análise de vulnerabilidades, em 2026, um instalador combinado Professional/Community, notas em Markdown e controlo alargado do tráfego HTTP. Os concorrentes (OWASP ZAP, Caido) estão a avançar, mas em termos de profundidade da auditoria ativa e ecossistema de extensões, o Burp continua fora de alcance.

Que modo do Burp Suite escolher para a sua tarefa

Crawler, auditoria ou ambos em simultâneo, a escolha depende da fase do pentest e do objetivo.

Se precisar de construir um mapa da aplicação antes da análise manual, execute o Crawl com a otimização Deepest. Adicione credenciais para as secções fechadas e exclua URLs fora do âmbito (páginas de logout, recuperação de palavra-passe).

Se o mapa já existe e o objetivo é encontrar vulnerabilidades, use o Audit num conjunto específico de URLs. Para a primeira passagem, Passive + Light active. Deixe o Intrusive para staging.

Para testes abrangentes "de raiz", Crawl and Audit. Uma execução, operações manuais mínimas.

E a regra principal: nunca execute o Intrusive na produção de terceiros sem consentimento por escrito. Até o Light active deixa rastos nos logs do servidor.