Testes Web com Kali e Burp Suite

Kali LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como realizar testes de segurança em aplicações web usando o Burp Suite dentro de um container Kali Linux no ambiente de VM do LabEx. O foco é configurar o Burp Proxy para interceptar o tráfego web, analisar requisições HTTP/HTTPS, testar vulnerabilidades de Cross-Site Scripting (XSS) e gerar relatórios detalhados. Estas etapas práticas fornecerão a você habilidades fundamentais para identificar e abordar problemas de segurança em aplicações web.

Você trabalhará diretamente em um shell de container Kali Linux, que é configurado automaticamente para você quando você abre o terminal. Através de passos estruturados, você configurará ferramentas, capturará tráfego, testará vulnerabilidades e documentará suas descobertas. Este laboratório é projetado para iniciantes, guiando você por cada processo em um ambiente controlado para construir habilidades práticas de segurança cibernética.

Instalação e Execução do Burp Suite

Nesta primeira etapa, você instalará e iniciará o Burp Suite, uma ferramenta poderosa para testes de segurança em aplicações web, dentro do container Kali Linux no ambiente de VM do LabEx. O Burp Suite permite interceptar e analisar o tráfego web, o que é essencial para identificar vulnerabilidades em aplicações web.

Ao abrir o terminal na VM do LabEx, você será automaticamente conectado ao shell do container Kali Linux. Não há necessidade de iniciar manualmente o container ou entrar no shell; o ambiente já está configurado para você. Vamos começar garantindo que as ferramentas necessárias estejam instaladas e prontas para uso.

Comece atualizando a lista de pacotes para garantir que você tenha as informações mais recentes sobre o software disponível. No terminal, digite o seguinte comando e pressione Enter:

apt update

Este comando atualiza os dados do repositório de pacotes. Pode levar alguns segundos para ser concluído, e você verá uma saída indicando o progresso do processo de atualização.

Em seguida, instale o Burp Suite Community Edition, que está disponível nos repositórios do Kali Linux. Digite o seguinte comando e pressione Enter:

apt install -y burpsuite

Este comando instala o Burp Suite sem solicitar confirmação devido à flag -y. A instalação pode levar um ou dois minutos, e você verá a saída mostrando o progresso do download e da instalação.

Saída Esperada (parcial, a saída real pode variar):

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Setting up burpsuite (2023.10.3.7-0kali1) ...

Após a conclusão da instalação, inicie o Burp Suite digitando o seguinte comando e pressionando Enter:

burpsuite

Isso abrirá a interface gráfica do usuário (GUI) do Burp Suite. Pode levar alguns segundos para carregar. Quando solicitado, selecione a opção padrão "Temporary Project" e clique em "Next" ou "Start Burp" para prosseguir. Você verá a janela principal do Burp Suite aparecer.

O Burp Suite agora está em execução, e nas próximas etapas, você o configurará para interceptar o tráfego web. Mantenha a janela do Burp Suite aberta enquanto prossegue. Esta etapa garante que você tenha a ferramenta principal pronta para tarefas de teste de segurança web.

Configuração das Definições do Burp Proxy

Agora que o Burp Suite está instalado e em execução, a próxima etapa é configurar as configurações do Burp Proxy para interceptar o tráfego web. O proxy atua como um intermediário entre o seu navegador e a internet, permitindo que você capture e analise requisições e respostas HTTP/HTTPS. Esta é uma configuração crítica para testes de segurança em aplicações web.

Para iniciantes, entender o papel de um proxy é importante. Um proxy fica entre o seu navegador e o site de destino, interceptando todos os dados trocados. Isso permite que você inspecione as requisições brutas enviadas pelo seu navegador e as respostas do servidor, ajudando a identificar possíveis problemas de segurança.

Como você já está no shell do container Kali Linux (entrado automaticamente ao abrir o terminal), vamos prosseguir com a configuração das configurações do proxy diretamente na GUI do Burp Suite. Certifique-se de que o Burp Suite ainda esteja em execução a partir da etapa anterior. Se não estiver, reinicie-o digitando burpsuite no terminal e pressionando Enter.

Na janela do Burp Suite, navegue até a aba "Proxy". Esta aba contém configurações para configurar como o Burp Suite intercepta o tráfego. Na seção "Proxy Settings", certifique-se de que o proxy esteja configurado para ouvir em 127.0.0.1:8080. Esta é a configuração padrão, o que significa que o Burp Proxy capturará o tráfego em sua máquina local na porta 8080.

Se as configurações não estiverem definidas como 127.0.0.1:8080, ajuste-as manualmente inserindo esses valores e clique em "Apply" se a opção estiver disponível. Não modifique outras configurações nesta fase.

Para confirmar que o proxy está ativo, execute o seguinte comando no terminal e pressione Enter:

netstat -tuln | grep 8080

Saída Esperada (a saída real pode variar):

tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN

Esta saída mostra que o Burp Proxy está ouvindo na porta 8080. Se você não vir esta saída, certifique-se de que o Burp Suite esteja em execução e que as configurações do proxy estejam configuradas corretamente.

Você configurou com sucesso o Burp Proxy para interceptar o tráfego web. Mantenha o Burp Suite aberto com essas configurações enquanto passamos para a próxima etapa, onde você configurará um navegador para rotear o tráfego por meio deste proxy. Esta configuração é essencial para capturar e analisar interações web em tarefas subsequentes.

Configurando o Firefox para Usar o Burp Proxy

Com o Burp Proxy configurado, a próxima etapa é configurar um navegador web para rotear seu tráfego através do proxy. Isso permite que o Burp Suite capture e exiba todas as requisições e respostas HTTP/HTTPS feitas pelo navegador. Para este laboratório, você usará o Firefox, que será instalado e configurado dentro do container Kali Linux.

Como você já está no shell do container Kali Linux (entrado automaticamente ao abrir o terminal), vamos começar instalando o Firefox, caso ele ainda não esteja disponível. Digite o seguinte comando no terminal e pressione Enter para instalar o Firefox:

apt install -y firefox-esr

Este comando instala a versão Extended Support Release (ESR) do Firefox, adequada para uso no Kali Linux. A instalação pode levar alguns instantes, e você verá a saída indicando o progresso.

Saída Esperada (parcial, a saída real pode variar):

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Setting up firefox-esr (102.10.0esr-1~deb11u1) ...

Após a instalação do Firefox, inicie-o digitando o seguinte comando no terminal e pressionando Enter:

firefox &

O símbolo & executa o Firefox em segundo plano, permitindo que você continue usando o terminal. Uma janela do Firefox será aberta na interface gráfica da VM do LabEx.

Agora, configure o Firefox para usar o Burp Proxy. Siga estas instruções detalhadas na janela do navegador Firefox:

  1. Clique no ícone do menu (três linhas horizontais) no canto superior direito do Firefox.
  2. Selecione Settings (Configurações) no menu suspenso.
  3. Role para baixo até a seção Network Settings (Configurações de Rede) na aba General (Geral) e clique em Settings... (Configurações...).
  4. Na janela Connection Settings (Configurações de Conexão), escolha Manual proxy configuration (Configuração manual de proxy).
  5. Defina o campo HTTP Proxy como 127.0.0.1 e a Port (Porta) como 8080.
  6. Marque a caixa rotulada Also use this proxy for HTTPS (Usar este proxy também para HTTPS).
  7. Deixe os outros campos inalterados e clique em OK para salvar as configurações.

Esta configuração garante que todo o tráfego web do Firefox passe pelo Burp Proxy em 127.0.0.1:8080. Para verificar se tudo está funcionando, navegue para um site simples como http://example.com no Firefox digitando a URL na barra de endereço e pressionando Enter.

Volte para a janela do Burp Suite, vá para a aba Proxy e selecione a sub-aba HTTP history (Histórico HTTP). Você deve ver as requisições feitas para example.com listadas lá. Se nenhuma requisição aparecer, atualize a página no Firefox e confirme se as configurações do proxy estão corretas.

Saída Esperada no Burp Suite (visual, não terminal):

Você verá entradas na aba HTTP history mostrando requisições para example.com, com detalhes como o host, método (por exemplo, GET) e caminho da URL.

Esta etapa conclui a configuração do navegador para rotear o tráfego através do Burp Proxy. Mantenha o Firefox e o Burp Suite abertos enquanto você passa para a próxima etapa, onde usará essa configuração para capturar e analisar o tráfego web para testes de segurança.

Captura e Análise de Tráfego Web

Tendo configurado o Firefox para usar o Burp Proxy, você agora está pronto para capturar e analisar o tráfego web. Esta etapa é crucial em testes de segurança de aplicações web, pois permite que você inspecione os dados brutos trocados entre seu navegador e um site, ajudando a identificar potenciais vulnerabilidades ou configurações incorretas.

Para iniciantes, capturar tráfego web significa registrar as requisições que seu navegador envia a um site (como carregar uma página) e as respostas que o site envia de volta (como o conteúdo da página). O Burp Suite atua como um intermediário, mostrando esses dados em detalhes para que você possa examinar cabeçalhos, parâmetros e conteúdo em busca de problemas de segurança.

Como você está trabalhando no shell do container Kali Linux (entrado automaticamente ao abrir o terminal), certifique-se de que tanto o Burp Suite quanto o Firefox ainda estejam em execução a partir das etapas anteriores. Se o Burp Suite não estiver em execução, reinicie-o com burpsuite. Se o Firefox não estiver aberto, inicie-o com firefox &.

No Firefox, navegue para um site de teste como http://example.com digitando a URL na barra de endereço e pressionando Enter. Essa ação envia requisições através do Burp Proxy, que as captura para análise.

Mude para a janela do Burp Suite e vá para a aba Proxy, depois selecione a sub-aba HTTP history (Histórico HTTP). Você verá uma lista de requisições feitas pelo Firefox ao site. Cada entrada inclui detalhes como o host, método (por exemplo, GET) e caminho da URL.

Selecione qualquer requisição relacionada a http://example.com clicando nela. Isso exibe dois painéis: Request (Requisição) e Response (Resposta). O painel Request mostra os dados enviados do seu navegador, incluindo cabeçalhos e parâmetros. O painel Response mostra os dados retornados pelo site, como conteúdo HTML ou códigos de status.

Saída Esperada no Burp Suite (visual, não terminal):

Na aba HTTP history, você verá entradas como:

Clicar em uma entrada mostrará cabeçalhos de requisição detalhados (como User-Agent) e conteúdo da resposta (como código HTML para a página).

Reserve um momento para explorar algumas requisições para entender a estrutura do tráfego web. Essa habilidade de capturar e analisar o tráfego é fundamental para identificar problemas de segurança, que você desenvolverá na próxima etapa. Mantenha o Burp Suite e o Firefox abertos com as configurações atuais enquanto prossegue para testar vulnerabilidades específicas.

Testando Vulnerabilidades XSS

Com a captura de tráfego web configurada, você agora pode usar o Burp Suite para testar vulnerabilidades de Cross-Site Scripting (XSS). XSS é um problema comum de segurança web onde atacantes injetam scripts maliciosos em páginas web que são então executados no navegador de um usuário. Esta etapa se concentra em identificar potenciais falhas de XSS, enviando entradas de teste e analisando as respostas.

Para iniciantes, XSS ocorre quando uma aplicação web falha em sanitizar a entrada do usuário, permitindo que código prejudicial (como JavaScript) seja injetado e executado. Existem diferentes tipos de XSS, mas aqui você testará o XSS refletido, onde a entrada maliciosa é imediatamente refletida na resposta do servidor sem ser armazenada.

Como você está no shell do container Kali Linux (entrado automaticamente ao abrir o terminal), certifique-se de que o Burp Suite e o Firefox ainda estejam em execução a partir das etapas anteriores. Caso contrário, reinicie-os com burpsuite e firefox & respectivamente.

No Firefox, navegue para um site de teste que aceite entrada do usuário, como uma caixa de pesquisa ou formulário. Para este laboratório, se nenhum site de teste específico for fornecido na VM do LabEx, você pode usar um site de teste público como http://testphp.vulnweb.com se acessível. Digite a URL na barra de endereço do Firefox e pressione Enter.

Assim que a página carregar, localize um campo de entrada, como uma barra de pesquisa. Insira uma string de teste simples como test<xss> no campo e envie o formulário. Essa entrada é inofensiva, mas ajuda a verificar se a aplicação reflete a entrada de volta sem sanitizá-la.

Mude para o Burp Suite, vá para a aba Proxy e selecione a sub-aba HTTP history (Histórico HTTP). Encontre a requisição correspondente ao envio do seu formulário. Clique nela para visualizar os detalhes. No painel Request (Requisição), procure o parâmetro onde sua entrada test<xss> foi enviada (pode estar em um campo como search ou query).

Em seguida, no painel Response (Resposta), procure sua string de entrada test<xss>. Se você vir a string exata refletida na resposta sem ser escapada (por exemplo, não convertida para test&lt;xss&gt;), a aplicação pode ser vulnerável ao XSS refletido.

Saída Esperada no Burp Suite (visual, não terminal):

No painel Response, se você vir test<xss> como está no conteúdo HTML, isso indica uma potencial vulnerabilidade. Se aparecer como test&lt;xss&gt;, a entrada foi sanitizada, reduzindo o risco de XSS.

Se você identificar uma potencial vulnerabilidade, clique com o botão direito na requisição na aba HTTP history e selecione Add to site map (Adicionar ao mapa do site) para organizá-la para relatórios na próxima etapa. Este processo de teste de XSS, enviando dados de teste e analisando respostas, constrói suas habilidades em avaliação de vulnerabilidades. Mantenha o Burp Suite e o Firefox abertos enquanto você passa para a etapa final.

Gerando um Relatório do Burp Suite

Nesta etapa final, você irá gerar um relatório no Burp Suite para documentar suas descobertas da análise de tráfego web e dos testes de vulnerabilidade XSS. Criar um relatório é uma parte essencial dos testes de segurança, pois compila os problemas que você identificou e fornece uma maneira estruturada de revisar ou compartilhar os resultados.

Para iniciantes, um relatório do Burp Suite resume vulnerabilidades ou observações da sua sessão de teste. Ele inclui detalhes como o tipo de problema, URLs afetadas e dados de requisição/resposta associados. Essa documentação é vital para rastrear falhas de segurança e planejar a remediação.

Como você está no shell do container Kali Linux (entrado automaticamente ao abrir o terminal), certifique-se de que o Burp Suite ainda esteja em execução. Caso contrário, reinicie-o com burpsuite.

Na interface do Burp Suite, navegue até a aba Target (Alvo) ou Issues (Problemas) (dependendo da versão). Esta seção lista quaisquer vulnerabilidades que o Burp Suite detectou automaticamente ou problemas que você adicionou manualmente. Se você sinalizou um potencial problema de XSS na etapa anterior, adicionando-o ao mapa do site, ele pode aparecer aqui.

Se nenhum problema for listado, você pode adicionar um manualmente para praticar. Vá para a aba Proxy, selecione uma requisição do HTTP history (Histórico HTTP) onde você testou o XSS (por exemplo, com a entrada test<xss>), clique com o botão direito nela e escolha Report issue (Relatar problema) ou Send to Issues (Enviar para Problemas). Selecione um tipo como Cross-site scripting (reflected) (Cross-site scripting (refletido)) se disponível, adicione uma breve descrição como Potential XSS in input field (Potencial XSS no campo de entrada) e clique em OK.

Para gerar o relatório, na aba Issues, clique no botão Report (Relatório) ou encontre Generate Report (Gerar Relatório) no menu. Siga estas etapas no assistente de relatório:

  1. Selecione o formato como HTML para um formato legível.
  2. Escolha incluir All issues (Todos os problemas) ou específicos, se você adicionou algum.
  3. Quando solicitado um local para salvar, defina o caminho para /root/xss_report.html dentro do container Kali Linux.
  4. Clique em Next (Próximo) ou Finish (Finalizar) para salvar o relatório.

Após gerar o relatório, confirme que ele foi salvo digitando o seguinte comando no terminal e pressionando Enter:

ls -l /root/xss_report.html

Saída Esperada (a saída real pode variar):

-rw-r--r-- 1 root root [size] [date] /root/xss_report.html

Esta saída confirma que o arquivo xss_report.html existe no diretório /root. Se o arquivo não estiver lá, repita o processo de geração do relatório e certifique-se de que o caminho correto foi especificado.

Você agora criou com sucesso um relatório do Burp Suite documentando seus resultados de teste. Isso completa o laboratório, fornecendo a você experiência prática em testes de segurança web usando ferramentas essenciais em um ambiente Kali Linux.

Resumo

Neste laboratório, você aprendeu o essencial de testes de segurança de aplicações web usando o Burp Suite dentro de um container Kali Linux no ambiente da VM LabEx. Você começou instalando e executando o Burp Suite, depois configurou o Burp Proxy para interceptar o tráfego web. Ao configurar o Firefox para rotear o tráfego através do proxy, você capturou e analisou requisições e respostas HTTP/HTTPS. Você também testou vulnerabilidades XSS, enviando entradas de teste e examinando as respostas do servidor. Finalmente, você gerou um relatório detalhado para documentar suas descobertas. Essas etapas o equiparam com habilidades práticas para identificar e abordar problemas de segurança web usando ferramentas padrão da indústria.