Use o Ataque Cluster Bomb no Burp Intruder

Beginner
Pratique Agora

Introdução

O Burp Intruder é uma ferramenta poderosa dentro do Burp Suite para automatizar ataques personalizados contra aplicações web. É altamente configurável e pode ser usado para realizar uma ampla gama de tarefas, desde simples tentativas de força bruta até varreduras complexas de vulnerabilidades.

Uma das principais características do Intruder são seus diferentes tipos de ataque. O tipo de ataque "Cluster Bomb" é particularmente útil quando um ataque requer o teste de múltiplas entradas distintas em combinação. Ele usa múltiplos conjuntos de payloads, um para cada posição definida, e itera através de todas as combinações possíveis de payloads. Isso é ideal para cenários como a força bruta de um formulário de login onde você tem uma lista de nomes de usuário potenciais e uma lista separada de senhas potenciais.

Neste laboratório, você aprenderá como configurar e executar um ataque Cluster Bomb usando o Burp Intruder para descobrir uma combinação válida de nome de usuário e senha em uma página de login de amostra.

Enviar um Pedido de Login para o Intruder

Nesta etapa, você iniciará o Burp Suite e um navegador web, capturará um pedido de login e o enviará para o Burp Intruder para análise posterior.

Primeiro, você precisa iniciar o Burp Suite.

  1. Clique no menu Application no canto superior esquerdo da área de trabalho.
  2. Navegue para Other -> Burp Suite Community Edition.

O Burp Suite será iniciado. Selecione "Temporary project" e clique em "Next", depois clique em "Start Burp".

Em seguida, abra o navegador web Firefox e configure-o para usar o Burp Suite como um proxy.

  1. Clique no menu Application -> Internet -> Firefox Web Browser.
  2. No Firefox, vá para Settings -> General -> Network Settings e clique em Settings....
  3. Selecione Manual proxy configuration.
  4. Defina HTTP Proxy para 127.0.0.1 e Port para 8080.
  5. Marque a caixa Also use this proxy for HTTPS.
  6. Clique em OK.

Agora, navegue até a página de login de destino. Na barra de endereços do Firefox, digite:

http://127.0.0.1:5000/login

Você deverá ver um formulário de login simples. No Burp Suite, vá para a aba Proxy, depois para a sub-aba Intercept, e certifique-se de que a interceptação esteja ativada (o botão deve dizer "Intercept is on").

De volta ao Firefox, digite test para o nome de usuário e test para a senha, e clique no botão Login. O pedido será capturado na aba Proxy -> Intercept do Burp.

Agora, envie este pedido capturado para o Intruder.

  1. Clique com o botão direito em qualquer lugar no painel do pedido.
  2. Selecione Send to Intruder no menu de contexto.
  3. Você verá a aba Intruder destacar, indicando que o pedido foi enviado.

Você pode agora desativar a interceptação clicando no botão "Intercept is on" na aba Proxy -> Intercept.

Adicionar Marcadores de Payload aos Campos de Nome de Usuário e Senha

Nesta etapa, você configurará as posições dos payloads no Burp Intruder. As posições de payload informam ao Intruder onde colocar os payloads durante o ataque. Para um ataque Cluster Bomb em um formulário de login, precisamos de duas posições: uma para o nome de usuário e outra para a senha.

Navegue até a aba Intruder no Burp Suite. Você verá quatro sub-abas: Target, Positions, Payloads e Options. Clique na aba Positions.

O pedido que você enviou do Proxy é exibido aqui. O Burp Intruder tenta automaticamente adivinhar onde os payloads devem ir e adiciona marcadores de payload (§...§). Nós removeremos estes e definiremos os nossos para um melhor controle.

  1. Clique no botão Clear § no lado direito da janela. Isso remove todos os marcadores de payload adicionados automaticamente.
  2. No editor de pedidos, encontre a linha com o parâmetro de nome de usuário: username=test.
  3. Destaque cuidadosamente apenas o valor test.
  4. Clique no botão Add §. A linha agora deve parecer username=§test§.
  5. Em seguida, encontre a linha com o parâmetro de senha: password=test.
  6. Destaque apenas o valor test.
  7. Clique no botão Add § novamente. A linha agora deve parecer password=§test§.

Você definiu agora duas posições de payload. O Burp Intruder substituirá dados nesses locais marcados durante o ataque.

Definir o Tipo de Ataque para 'Cluster Bomb'

Nesta etapa, você selecionará o tipo de ataque apropriado para o nosso objetivo. O Burp Intruder oferece quatro tipos de ataque, cada um servindo a um propósito diferente:

  • Sniper: Usa um único conjunto de payloads e atinge uma posição por vez.
  • Battering Ram: Usa um único conjunto de payloads e coloca o mesmo payload em todas as posições simultaneamente.
  • Pitchfork: Usa múltiplos conjuntos de payloads, colocando um payload de cada conjunto na posição correspondente.
  • Cluster Bomb: Usa múltiplos conjuntos de payloads e tenta todas as combinações de payloads.

Para o nosso cenário, queremos testar cada senha possível de uma lista contra cada nome de usuário possível de outra lista. O tipo de ataque Cluster Bomb é perfeito para isso.

Na aba Intruder -> Positions, localize o menu suspenso Attack type na parte superior da tela.

  1. Clique no menu suspenso.
  2. Selecione Cluster Bomb na lista.

Observe que, após selecionar Cluster Bomb, a aba Payloads agora permite configurar múltiplos conjuntos de payloads, correspondendo ao número de marcadores de payload que você definiu na etapa anterior. No nosso caso, teremos dois conjuntos de payloads para configurar.

Configurar Duas Listas de Payloads (Nomes de Usuário e Senhas)

Nesta etapa, você fornecerá as listas de nomes de usuário e senhas potenciais que o Intruder usará para o ataque.

Navegue até a aba Intruder -> Payloads.

Como você selecionou o tipo de ataque Cluster Bomb e definiu duas posições de payload, agora você pode configurar duas listas de payloads separadas.

Primeiro, configure a lista de nomes de usuário (Conjunto de Payload 1):

  1. Certifique-se de que o menu suspenso Payload set esteja definido como 1. Isso corresponde ao primeiro marcador § que você adicionou (o nome de usuário).
  2. Em Payload Options, clique no botão Add.
  3. Insira os seguintes nomes de usuário potenciais, um por linha:
    • user
    • guest
    • admin
    • root

Em seguida, configure a lista de senhas (Conjunto de Payload 2):

  1. Altere o menu suspenso Payload set de 1 para 2. Isso corresponde ao segundo marcador § (a senha).
  2. Em Payload Options, clique no botão Add.
  3. Insira as seguintes senhas potenciais, uma por linha:
    • password
    • 123456
    • qwerty
    • password123

Você configurou agora o Intruder para testar todas as combinações dessas duas listas. Ele fará um total de 4 (nomes de usuário) x 4 (senhas) = 16 solicitações.

Executar o Ataque para Testar Todas as Combinações de Payloads

Nesta etapa, você lançará o ataque e analisará os resultados para encontrar as credenciais de login corretas.

  1. No canto superior direito da aba Intruder, clique no botão Start attack.
  2. Uma nova janela intitulada "Intruder attack" será aberta, e o ataque começará imediatamente.

Esta nova janela exibe uma tabela de resultados. Você verá as requisições sendo enviadas, e a tabela será preenchida com os resultados. As colunas importantes a serem observadas são:

  • Payload 1: O nome de usuário usado para essa requisição.
  • Payload 2: A senha usada para essa requisição.
  • Status: O código de status HTTP da resposta (por exemplo, 200 para OK, 401 para Unauthorized).
  • Length: O tamanho do corpo da resposta em bytes.

Um login bem-sucedido provavelmente resultará em uma resposta diferente de uma tentativa malsucedida. Essa diferença pode ser vista no código Status ou no Length.

Percorra os resultados. Você deverá notar que uma requisição tem um Length e Status diferentes em comparação com as outras. A maioria das tentativas resultará em um status 401 Unauthorized, mas a correta será 200 OK. O Length da resposta para o login bem-sucedido também será diferente.

Para encontrar facilmente a resposta única, você pode clicar nos cabeçalhos das colunas Status ou Length para classificar os resultados.

A requisição bem-sucedida terá a combinação de payloads:

  • Payload 1: admin
  • Payload 2: password123

Você pode clicar nesta requisição bem-sucedida na tabela para visualizar a Request e Response completas nos painéis abaixo. A resposta para o login bem-sucedido conterá o texto "Login Successful!".

Parabéns, você usou com sucesso um ataque Cluster Bomb para encontrar credenciais válidas!

Resumo

Neste laboratório, você aprendeu a realizar um ataque Cluster Bomb usando o Burp Intruder.

Você começou interceptando uma requisição de login usando o proxy do Burp e enviando-a para o Intruder. Em seguida, configurou manualmente duas posições de payload distintas para os campos de nome de usuário e senha. Após selecionar o tipo de ataque Cluster Bomb, você configurou duas listas de payload separadas — uma para nomes de usuário e outra para senhas.

Finalmente, você lançou o ataque e analisou a tabela de resultados, identificando a combinação de login bem-sucedida procurando por um código de status de resposta e um comprimento anômalos. Este exercício prático demonstra o poder e a utilidade do tipo de ataque Cluster Bomb para testar mecanismos de autenticação com múltiplas entradas.