Comparar Dois Mapas de Site no Burp Suite

Beginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a usar um dos recursos poderosos do Burp Suite: "Comparar mapas de sites" (Compare site maps). Este recurso é essencial para testes de segurança de aplicações web, especialmente para identificar vulnerabilidades de autorização. Ao comparar a estrutura e o conteúdo do site acessíveis a usuários com diferentes níveis de privilégio, você pode identificar rapidamente endpoints ou dados que estão indevidamente expostos.

Você realizará as seguintes ações:

  1. Iniciar uma aplicação web local simples com duas funções de usuário: um usuário padrão e um administrador.
  2. Usar o navegador integrado do Burp Suite para explorar a aplicação como um usuário de baixo privilégio.
  3. Iniciar o processo de comparação do mapa de sites, salvando a visualização do usuário de baixo privilégio como o primeiro mapa.
  4. Fazer login como um usuário de alto privilégio e explorar a aplicação novamente para popular o mapa de sites com novas funções administrativas.
  5. Concluir a comparação e analisar os resultados para identificar conteúdo e endpoints acessíveis apenas ao administrador.

Nesta etapa, você iniciará o Burp Suite, configurará seu navegador e navegará pela aplicação alvo como um usuário padrão de baixo privilégio. Isso preencherá o mapa de sites do Burp com todos os endpoints e recursos acessíveis a este usuário.

Primeiro, abra o Burp Suite. Você pode encontrá-lo no menu de aplicações, geralmente em Applications -> Other -> Burp Suite Community Edition. Quando solicitado, selecione um projeto temporário e clique em Next, depois em Start Burp.

Assim que o Burp Suite estiver em execução, você precisará usar seu navegador embutido para garantir que todo o tráfego seja corretamente proxy.

  1. Vá para a aba Proxy, depois para a sub-aba Intercept.
  2. Clique no botão Open Browser. Uma nova janela do navegador Chromium será aberta.

Agora, use este navegador para interagir com a aplicação web.

  1. Na barra de endereços do novo navegador, navegue até http://127.0.0.1:5000.
  2. Você verá uma página de login. Digite user para o nome de usuário e password para a senha.
  3. Clique no botão Login.
  4. Você será redirecionado para o painel do usuário. Clique em quaisquer links se houver, mas para esta aplicação simples, apenas visualizar o painel é suficiente.

Agora, volte para a janela principal do Burp Suite e navegue até a aba Target -> Site map. Você verá a estrutura da aplicação sendo mapeada com base na sua navegação.

Em Target > Site map, Selecione o Host e 'Compare site maps'

Nesta etapa, você iniciará o processo de comparação de mapas de sites. Você já preencheu o mapa de sites com a perspectiva de um usuário de baixo privilégio. Agora, você informará ao Burp Suite que deseja usar este mapa atual como o primeiro ponto de comparação.

  1. Na janela do Burp Suite, certifique-se de estar na aba Target -> Site map.
  2. No painel esquerdo, você verá uma visualização em árvore dos sites que visitou. Encontre e selecione o host da nossa aplicação, que é http://127.0.0.1:5000.
  3. Clique com o botão direito do mouse no host http://127.0.0.1:5000. Isso abrirá um menu de contexto com várias opções.
  4. No menu de contexto, navegue até Engagement tools e, em seguida, clique em Compare site maps.

Esta ação abrirá o assistente "Compare site maps", que o guiará pela configuração da comparação.

(Descrição da imagem: Uma captura de tela mostrando o menu de contexto do clique com o botão direito no mapa de sites do Burp Suite, com o cursor destacando a opção 'Compare site maps' em 'Engagement tools'.)

No Assistente, Selecione 'Use current site map' para Map 1

Nesta etapa, você configurará o primeiro dos dois mapas de sites para comparação. O assistente que você abriu na etapa anterior permite definir a origem para ambos os mapas.

O assistente "Compare site maps" está agora aberto. Ele possui duas seções principais, uma para "Site map 1" e outra para "Site map 2". Você configurará o primeiro mapa agora e o segundo mapa mais tarde.

  1. Na área de configuração do "Site map 1", você verá várias opções de onde carregar o mapa.
  2. Selecione o botão de rádio rotulado Use current site map. Isso instrui o Burp a tirar um instantâneo do mapa de sites como ele existe neste momento (refletindo a sessão do usuário de baixo privilégio) e usá-lo como linha de base para a comparação.
  3. Não clique em OK ainda. O assistente precisa ser configurado para ambos os mapas. Por enquanto, você definiu o primeiro mapa. Você deixará este assistente aberto enquanto realiza as próximas ações.

Você agora definiu com sucesso o primeiro mapa de sites para comparação. O assistente aguardará que você defina o segundo mapa.

Faça login como um Usuário de Alto Privilégio e Re-solicite o Mapa do Site

Nesta etapa, você mudará para uma conta de usuário com privilégios elevados e navegará pela aplicação novamente. Isso adicionará endpoints novos, exclusivos para administradores, ao mapa de sites do Burp, que é exatamente o que queremos detectar na comparação.

  1. Retorne à janela do navegador Chromium incorporado ao Burp.
  2. Navegue de volta para a página de login em http://127.0.0.1:5000. Isso efetivamente desconectará você da conta de 'usuário'.
  3. Na página de login, insira admin para o nome de usuário e adminpassword para a senha.
  4. Clique no botão Login.
  5. Você será redirecionado para o painel (dashboard), que agora exibe uma mensagem de boas-vindas para o usuário 'admin' e inclui um novo link: Go to Admin Panel.
  6. Clique no link Go to Admin Panel. Isso o levará para a página /admin, que não era acessível ao usuário padrão.

Ao realizar essas ações, você fez com que o Burp Suite registrasse requisições para novos endpoints (como /admin) e visse respostas diferentes para endpoints existentes (como /dashboard). O mapa de sites ativo no Burp agora está atualizado com essas novas informações.

Selecione 'Use current site map' para Map 2 e Visualize as Diferenças

Nesta etapa final, você concluirá a configuração da comparação e analisará os resultados para encontrar as diferenças entre as sessões de baixo e alto privilégio.

  1. Retorne à janela do Burp Suite, onde o assistente "Compare site maps" ainda deve estar aberto.
  2. Agora, concentre-se na área de configuração do "Site map 2".
  3. Assim como você fez para o primeiro mapa, selecione o botão de rádio rotulado Use current site map. Desta vez, o mapa "atual" contém todas as requisições das sessões de baixo e alto privilégio.
  4. Clique no botão OK para executar a comparação.

Uma nova janela "Site map comparison" aparecerá, exibindo os resultados. Esta janela possui três painéis principais mostrando:

  • Items only in map 1: Endpoints que existiam na primeira sessão, mas não na segunda.
  • Items only in map 2: Endpoints que foram descobertos apenas na segunda sessão. É aqui que você encontrará problemas de autorização.
  • Items with different responses: Endpoints que ambos os usuários puderam acessar, mas que retornaram conteúdo diferente.

Observe a lista "Items only in map 2". Você deverá ver o endpoint /admin. Isso informa imediatamente que a página /admin só é acessível ou descoberta pelo usuário de alto privilégio.

Clique na entrada /dashboard na lista "Items with different responses". Na parte inferior, você pode ver a requisição e a resposta para cada mapa. Use o botão Diff para ver uma comparação lado a lado, que destacará o link adicional "Go to Admin Panel" disponível para o administrador.

Resumo

Neste laboratório, você utilizou com sucesso o recurso "Compare site maps" do Burp Suite para analisar os controles de acesso de uma aplicação. Você aprendeu como capturar sistematicamente o estado de uma aplicação sob a perspectiva de dois usuários diferentes e, em seguida, compará-los para identificar automaticamente as diferenças.

Especificamente, você descobriu um endpoint administrativo (/admin) que não era visível para um usuário padrão, um exemplo clássico de uma vulnerabilidade de autorização que esta técnica ajuda a descobrir. Este método é uma parte fundamental de uma avaliação completa de segurança de aplicações web, permitindo que você mapeie eficientemente a superfície de ataque e encontre potenciais falhas de segurança.