Use o Ataque Battering Ram no Burp Intruder

Beginner
Pratique Agora

Introdução

Neste laboratório, você explorará um dos tipos de ataque do Burp Suite Intruder: o Battering Ram. O Burp Intruder é uma ferramenta poderosa para automatizar ataques personalizados contra aplicações web. O tipo de ataque Battering Ram é projetado especificamente para situações em que a mesma carga útil (payload) precisa ser inserida em múltiplas posições dentro de uma requisição HTTP.

Um caso de uso comum para este ataque é testar formulários de login em busca de credenciais fracas, onde o nome de usuário e a senha podem ser idênticos (por exemplo, admin/admin). Ao longo deste laboratório, você aprenderá como capturar uma requisição de login, configurar marcadores de carga útil (payload markers), selecionar o tipo de ataque Battering Ram, configurar uma lista de cargas úteis (payload list) e, finalmente, lançar o ataque para analisar os resultados.

Ao final deste laboratório, você terá uma compreensão prática de como e quando usar o ataque Battering Ram em seu fluxo de trabalho de testes de segurança de aplicações web.

Enviar uma Requisição de Login para o Intruder

Nesta etapa, você iniciará as ferramentas necessárias e capturará uma requisição de login de amostra para enviar ao Burp Intruder para configuração do ataque.

Primeiro, abra um terminal para iniciar o Burp Suite. Geralmente, você pode encontrá-lo no menu de aplicações ou iniciá-lo a partir da linha de comando. Para este laboratório, assumiremos que ele está pronto para ser iniciado.

Em seguida, abra o navegador web Firefox fornecido no ambiente do laboratório.

Agora, vamos configurar o Burp Suite para interceptar o tráfego web.

  1. No Burp Suite, vá para a aba Proxy e, em seguida, para a sub-aba Intercept. Certifique-se de que a interceptação esteja ativada (o botão deve dizer "Intercept is on").
  2. No Firefox, configure o navegador para usar o proxy do Burp. Vá para Configurações -> Configurações de Rede e defina a configuração manual de proxy para usar 127.0.0.1 como Proxy HTTP e 8080 como Porta.
  3. Na barra de endereços do Firefox, navegue até a página de login da nossa aplicação de teste: http://127.0.0.1:5000/login.
  4. Digite test para o nome de usuário e test para a senha, e clique no botão "Login".

A requisição será capturada na aba Proxy -> Intercept do Burp Suite. A tela mostrará a requisição HTTP bruta.

Finalmente, envie esta requisição capturada para o Intruder. Clique com o botão direito em qualquer lugar na janela da requisição e selecione Send to Intruder no menu de contexto. Você também pode usar o atalho de teclado Ctrl+I.

Agora você pode ir para a aba Intruder, onde verá a requisição carregada e pronta para configuração.

Em Posições, Adicionar Marcadores de Carga Útil (Payload Markers) aos Campos de Nome de Usuário e Senha

Nesta etapa, você definirá as posições na requisição HTTP onde o Burp Intruder deve inserir suas cargas úteis (payloads). Para um ataque Battering Ram, marcaremos os campos de nome de usuário e senha.

Navegue até a aba Intruder e, em seguida, para a sub-aba Positions. Você verá a requisição que enviou da aba Proxy. O Burp Suite adiciona automaticamente marcadores de carga útil (destacados com símbolos §) ao que ele considera partes interessantes da requisição.

Para este ataque específico, queremos controlar as posições da carga útil com precisão.

  1. Primeiro, clique no botão Clear § no lado direito. Isso removerá todos os marcadores de carga útil gerados automaticamente.
  2. Agora, localize a linha no corpo da requisição que contém o nome de usuário e a senha, que deve parecer username=test&password=test.
  3. Destaque o valor test para o parâmetro username com o mouse.
  4. Clique no botão Add §. A linha agora deve parecer username=§test§&password=test.
  5. Em seguida, destaque o valor test para o parâmetro password.
  6. Clique no botão Add § novamente.

Após completar estes passos, o corpo da sua requisição terá marcadores de carga útil em torno dos valores de nome de usuário e senha, assim:

username=§test§&password=§test§

Esta configuração instrui o Intruder a inserir cargas úteis nestes dois locais específicos.

Definir o Tipo de Ataque para 'Battering Ram'

Nesta etapa, você selecionará o tipo de ataque apropriado para o nosso cenário. O Burp Intruder oferece quatro tipos de ataque diferentes, cada um servindo a um propósito único.

  • Sniper: Usa um único conjunto de cargas úteis (payload set), visando uma posição por vez.
  • Battering ram: Usa um único conjunto de cargas úteis, colocando a mesma carga útil em todas as posições marcadas simultaneamente.
  • Pitchfork: Usa múltiplos conjuntos de cargas úteis, colocando uma carga útil de cada conjunto em posições correspondentes.
  • Cluster bomb: Usa múltiplos conjuntos de cargas úteis, testando todas as combinações possíveis de cargas úteis.

Para o nosso objetivo de testar se o nome de usuário e a senha são os mesmos, o ataque Battering ram é a escolha perfeita. Ele pegará uma única lista de credenciais potenciais e tentará cada uma delas tanto para o nome de usuário quanto para a senha na mesma requisição.

Na aba Intruder -> Positions, localize o menu suspenso Attack type na parte superior da tela. Por padrão, ele está definido como "Sniper". Clique no menu suspenso e selecione Battering ram.

Uma vez selecionado, o Burp Intruder está agora configurado para usar a lógica de ataque Battering Ram.

Configurar uma Lista Simples de Cargas Úteis (Payloads) (ex: test, guest)

Nesta etapa, você fornecerá a lista de cargas úteis (payloads) que o Intruder usará para o ataque. Como estamos usando o tipo de ataque Battering Ram, precisamos configurar apenas um conjunto de cargas úteis.

  1. Navegue até a aba Intruder -> Payloads.
  2. A seção "Payload Sets" deve mostrar "Payload set: 1" e "Payload type: Simple list". Esta é a configuração padrão e está correta para nossas necessidades.
  3. Na seção "Payload Options" abaixo, há uma caixa de texto para adicionar suas cargas úteis. Você pode adicionar cargas úteis uma por uma, digitando-as e clicando no botão Add, ou pode colar uma lista diretamente na caixa.

Para este laboratório, vamos adicionar algumas credenciais padrão ou fracas comuns. Limpe quaisquer cargas úteis existentes na lista e adicione as seguintes:

  • test
  • guest
  • admin
  • password
  • user

Sua lista "Payload Options" agora deve parecer com isto:

test
guest
admin
password
user

Com esta configuração, o Intruder percorrerá esta lista. Para cada item, ele colocará esse valor tanto nos campos username quanto password que marcamos na Etapa 2.

Executar o Ataque e Analisar Como a Mesma Carga Útil é Usada em Ambas as Posições

Nesta etapa final, você lançará o ataque e analisará os resultados para entender como o ataque Battering Ram funciona.

  1. Certifique-se de que todas as suas configurações nas abas Positions e Payloads estejam corretas.
  2. No canto superior direito da janela do Intruder, clique no botão Start attack.

Uma nova janela "Intruder attack" será aberta e o ataque começará imediatamente. Você verá uma tabela de resultados que é preenchida à medida que cada requisição é enviada.

Vamos analisar os resultados:

  • Tabela de Resultados: Observe as colunas "Payload", "Status" e "Length". A coluna "Payload" mostra o valor usado da sua lista de cargas úteis para aquela requisição específica.
  • Abas Request/Response: Clique em qualquer linha na tabela de resultados (por exemplo, a linha com a carga útil guest). Na parte inferior da janela, você pode inspecionar a Request e a Response para essa tentativa.
    • Na aba Request, você verá que a carga útil guest foi inserida em ambos os parâmetros username e password: username=guest&password=guest. Isso confirma o comportamento do Battering Ram.
    • Na aba Response, você pode ver a resposta do servidor.

Procure por anomalias nos resultados. Um login bem-sucedido provavelmente terá um código de status ou um comprimento de resposta diferente. No nosso caso, a carga útil test deve resultar em um login bem-sucedido. Você pode identificá-lo procurando pela mensagem "Login successful!" no corpo da resposta ou classificando os resultados por "Length" para ver qual resposta é diferente.

Esta análise demonstra como o ataque Battering Ram testa eficientemente casos em que uma única entrada é usada em múltiplos parâmetros, um cenário comum em testes de credenciais.

Resumo

Neste laboratório, você configurou e executou com sucesso um ataque Battering Ram usando o Burp Suite Intruder.

Você aprendeu a:

  • Capturar uma requisição HTTP usando o Burp Proxy e enviá-la para o Intruder.
  • Limpar marcadores de carga útil padrão e definir precisamente posições de carga útil personalizadas.
  • Selecionar o tipo de ataque Battering Ram, compreendendo seu caso de uso específico.
  • Configurar uma lista simples de cargas úteis para o ataque.
  • Lançar o ataque e analisar os resultados para confirmar que a mesma carga útil foi usada em todas as posições especificadas para cada requisição.

O Battering Ram é uma ferramenta valiosa no arsenal de um penetration tester, especialmente para testar formulários de login e outras funções onde um único dado pode ser usado como múltiplos parâmetros. Dominar esta técnica melhorará a eficiência e a eficácia de suas avaliações de segurança de aplicações web.