Formas de pagamento Abuse

Pesquisa de vulnerabilidades no sítio Web

13.07.2021, 19:11

O teste de sítios permite-lhe encontrar vulnerabilidades e erros que podem ser explorados por atacantes. Se é administrador de um sítio, recomendamos que adicione testes de penetração à sua lista de ferramentas e que procure regularmente vulnerabilidades para garantir que os seus sítios são totalmente seguros. Os problemas descobertos ajudá-lo-ão a corrigir os pontos fracos.

Os testes de segurança envolvem muitas ferramentas e tarefas diferentes. Neste artigo, vamos abordar os aspectos básicos para encontrar vulnerabilidades num sítio Web. Com a ajuda destas instruções, poderá manter os seus recursos seguros.

ENCONTRAR VULNERABILIDADES NUM SÍTIO WEB

Os testes de penetração e a procura de vulnerabilidades num sítio Web envolvem várias acções. Não basta executar uma ferramenta e testar o sítio, é necessária uma abordagem correta para o ajudar a recolher o máximo de informações possível sobre a segurança do seu sistema.

As principais etapas são:

  1. reconhecimento - pesquisa e recolha de informações sobre a sua rede ou servidores;
  2. análise - esta etapa envolve a verificação de vulnerabilidades no sítio com base nas informações recolhidas;
  3. exploração - esta etapa é opcional e nem sempre é necessária para os testes de penetração. É necessária se for preciso mostrar o perigo real das vulnerabilidades;
  4. correção - nesta fase, é necessário corrigir todas as vulnerabilidades encontradas no sítio.

De seguida, vamos ver o que deve ser feito em cada uma das fases e quais as ferramentas que deve utilizar para o fazer. É preferível não instalar todos estes programas separadamente, mas utilizar um ambiente já preparado para testes de penetração - o Kali Linux. Esta é uma distribuição Linux especialmente preparada que já contém todos os programas necessários. Desta forma, não precisa de instalar nada. Pode executar o sistema a partir de uma pen drive ou pode instalar o Kali Linux no seu disco rígido.

Inteligência

Para saber que informação outras pessoas podem descobrir sobre o seu sistema, é necessário aplicar várias ferramentas:

O nmap é uma das ferramentas de análise de rede mais populares. Pode utilizá-lo para ver que serviços estão a correr num servidor de um sítio Web, que portas estão a utilizar, as suas versões de portas e até a versão do sistema operativo. Para ver as portas abertas na sua máquina, execute este comando no terminal do Kali Linux:

$ nmap -sS 192.168.91.249

Pesquisa de vulnerabilidades no sítio Web

192.168.91.249 é o endereço IP do recurso. Esse comando exibe as portas abertas e os nomes dos serviços. É possível obter informações mais detalhadas, por exemplo, é possível reunir muitas informações sobre o sistema já neste ponto. Por exemplo, aqui pode ver que a máquina está a executar um servidor SSH, um servidor Web, serviços de partilha de ficheiros Samba e um servidor proxy na porta 3128. Todos eles podem estar potencialmente vulneráveis.

O scanner Nmap permite-lhe ir mais fundo, com um scan mais intensivo. Para fazer isso, use a opção -A:

$ nmap -A 192.168.91.62

Pesquisa de vulnerabilidades no sítio Web

Aqui já verá muito mais informação, como versões de serviços, hora do sistema, sistema de gestão de conteúdos e até a versão do sistema operativo. Além disso, se forem encontradas vulnerabilidades simples, como uma palavra-passe de FTP fraca, também terá conhecimento disso. Pode ler mais sobre como utilizar o Nmap num artigo separado. Você também deve usar outras fontes de informação disponíveis. É importante compreender que informações estão disponíveis sobre si na rede e se um atacante pode obter informações às quais não deveria ter acesso.

Eis alguns serviços:

  1. whois - pode utilizar este serviço para descobrir informações publicamente disponíveis sobre o domínio, o registador, o proprietário e outras informações de contacto;
  2. recon-ng - uma ferramenta de análise útil que vem com o Kali Linux;
  3. Maltego Chlorine é uma ferramenta de código aberto muito popular para recolher informações de fontes abertas;
  4. Netcraft - uma ferramenta útil que permite encontrar subdomínios de um sítio Web;
  5. hackertarget.com/reverse-ip-lookup - permite-lhe descobrir que outros sites estão a funcionar com o seu endereço IP.
  6. Uma vez terminada a recolha de informações na fase de reconhecimento, é necessário passar ao scanning, procurando diretamente vulnerabilidades no site do Kali Linux.

Varredura

O fuzzing é frequentemente usado para o scanning. A ideia por trás do fuzzing é enviar uma grande quantidade de dados aleatórios para o seu site para tentar encontrar vulnerabilidades. As várias ferramentas que veremos a seguir simularão ataques para testar a vulnerabilidade de uma aplicação.

As aplicações de fuzzing podem identificar vulnerabilidades, mas para obter os melhores resultados vale a pena compreender como funcionam essas aplicações e qual é o bug. Se tiver acesso ao código fonte do projeto, pode utilizar o fuzzing e a análise manual em paralelo para encontrar problemas com maior precisão. Os ataques de fuzzing são muito ruidosos porque requerem a transmissão de muitos dados. Um sistema de proteção contra intrusões aperceber-se-á deles, pelo que é preciso ter cuidado. De seguida, vamos ver as ferramentas que podem ser utilizadas.

O WPScan é um projeto de código aberto escrito em Ruby especificamente para analisar o WordPress. É muito fácil de utilizar e pode ser útil para sítios que utilizam muitos plugins ou que não são actualizados. O utilitário não precisa de código fonte e efectua análises remotamente.

Nikto é um scanner de vulnerabilidades para sítios Web. Funciona muito mais tempo do que o WPSan, mas foi concebido para mais do que apenas o WordPress. Inclui muitos plug-ins e executa muitas consultas durante a verificação. Por exemplo, o software pode encontrar um ficheiro que produzirá informações sobre o phpinfo. Mas o Nikto gera muitos falsos positivos, pelo que é necessário analisar cuidadosamente os resultados.

O Burp Suite é um programa muito poderoso para encontrar vulnerabilidades num sítio Web ou em aplicações Web. Esta ferramenta funciona apenas através de um navegador Web. A ferramenta permite-lhe verificar todos os formulários que se encontram no sítio Web, verificar a submissão de diferentes cabeçalhos, ver as respostas e os pedidos do navegador, efetuar uma análise ativa do URL, efetuar uma análise estática do código javascript e procurar vulnerabilidades XSS no sítio Web. É uma óptima ferramenta, mas pode parecer complicada.

O SQLMap é um programa para encontrar vulnerabilidades sql num sítio Web. Pode encontrar todos os locais possíveis onde podem ser efectuadas injecções de SQL. Por exemplo, se assumir que pode haver uma injeção de SQL no parâmetro id, utilize este comando

 $ sqlmap -u http://example.com/?id=1 -p id

O programa testará diferentes tipos de bases de dados, pelo que pode especificar apenas a correta:

$ sqlmap --dbms=MySQL -u http://example.com/?id=1 -p id

Estes comandos permitem-lhe testar campos, especificar diferentes parâmetros, como bases de dados, tabelas ou palavras-passe.

Explorar

A exploração completa a pesquisa de vulnerabilidades no sítio e permite a exploração de vulnerabilidades para obter acesso ao sistema ou aos dados. Em geral, se conseguiu encontrar falhas na sua segurança e fechá-las, não precisa de fazer mais nada. Mas, por vezes, é necessário provar que o problema é realmente grave.

Recomenda-se que não utilize a exploração de vulnerabilidades em sistemas de produção, pois pode causar problemas. É melhor criar uma máquina virtual e já nela mostrar tudo o que precisa. Aqui estão algumas ferramentas que podem ser usadas:

  • SQLMap - uma ferramenta para encontrar vulnerabilidades sql e explorá-las;
  • Burp Suite - para encontrar vulnerabilidades XSS e explorá-las;
  • Metasploit - exploração de vulnerabilidades no sistema.

O Metasploit é um ambiente completo de testes de penetração que contém muitas explorações prontas a utilizar. Pode encontrar exploits para plugins instalados ou serviços descobertos no primeiro passo. Analisaremos mais detalhadamente a forma de utilizar o Metasploit num artigo futuro.

Patching

Esta é a fase final da pesquisa de vulnerabilidades. Com base em tudo o que foi encontrado, é necessário tirar conclusões e fechar todos os buracos. Quando tiver todos os dados sobre as vulnerabilidades. Estabeleça prioridades e corrija tudo o que encontrou. Se foi capaz de encontrar estas vulnerabilidades, então qualquer outra pessoa pode encontrá-las.

Conclusões

Neste artigo, fizemos um curso intensivo sobre como encontrar vulnerabilidades em sítios Web e analisámos o principal software de deteção de vulnerabilidades em sítios Web que pode utilizar para garantir que o seu recurso ou infraestrutura é o mais seguro possível. Muitas dessas ferramentas são padrão do setor. Agora, pode pensar na sua estratégia de teste e tentar eliminar todas as vulnerabilidades.