Pentest: o que é e como fazer você mesmo em aplicações web

O mundo digital é uma realidade. E se você está conectado a esses novos tempos, já deve ter ouvido falar sobre Pentest. 

A cada dia surgem novas soluções de cibersegurança com o objetivo de proporcionar maior proteção, facilidade e agilidade na rotina das pessoas e organizações. 

Essas soluções e ações preventivas possibilitam maiores chances de sucesso na reação da equipe de TI da empresa quando um desses ataques surgir. 

Existem disponíveis no mercado muitas formas de testar a segurança de dados das organizações.  

Esse artigo tratará de uma das formas de testar a segurança de dados: o Pentest. Entenda como esse teste pode auxiliar na diminuição de vulnerabilidades no seu sistema ou na empresa que está sob sua análise. 

 

Pentest, o que é? 

O Pentest, também chamado teste de intrusão, é uma atividade desenvolvida  por um especialista técnico em segurança cibernética com o objetivo de encontrar e explorar vulnerabilidades de um software. 

O Pentest funciona como uma simulação de ataque com o propósito de identificar os pontos fracos nos sistemas. 

Assim, diminui-se as possibilidades de invasão nas brechas que poderiam ser aproveitadas pelos hackers.   

De modo grosseiro, é como se você contratasse um ladrão para tentar invadir sua casa. Se ele conseguir entrar significa que o sistema de segurança contratado não está fazendo um bom trabalho.  

Da mesma forma acontece no pentest, se o profissional consegue invadir o sistema da sua empresa, é porque ele encontrou brechas e o seu sistema tem vulnerabilidades. Assim, você saberá exatamente onde precisa atuar. 

 

Entendendo os objetivos do pentest 

Os ataques simulados pelo Pentest são importantes para a proteção dos sistemas da organização. Mas, para entender melhor a relevância desses testes para a cibersegurança, é preciso compreender seus objetivos. 

O ataque simulado pelo Pentest tem dois objetivos principais: 

  • Identificar vulnerabilidades na segurança do sistema testado; 
  • Sugerir estratégias que visem solucionar ou minimizar os pontos fracos no teste realizado.  

 

É importante destacar que as técnicas utilizadas no desenvolvimento do Pentest são bem parecidas com as utilizadas pelos invasores em ataques maliciosos. 

A finalidade, porém, é obviamente contrária à dos hackers.  

O Pentest procura fornecer uma análise detalhada das medidas de segurança adotadas pela empresa, revelando quais as chances de sucesso em uma possível tentativa de ataque. 

Por isso, os ataques simulados pelo Pentest são chamados white hat attacks, ou “ataques do bem” 

Os ensaios desenvolvidos pelo Pentest também podem ser utilizados com a finalidade de testar as regras referentes às políticas de segurança da empresa. 

Esses testes permitem investigar se as políticas desenvolvidas são, de fato, eficientes e atendem às regras de compliance. 

O Pentest pode atuar ainda no teste de conhecimentos dos colaboradores acerca das práticas de segurança mais eficientes ou simplesmente determinar se a organização está sujeita a desastres internos nessa área. 

A execução do Pentest é uma área em forte ascensão e abertura para profissionais no ramo de TI que desejem atuar na segurança da informação. 

 

Tipos de pentest 

As principais formas de executar o Pentest são: 

Pentest White Box 

No teste White Boxo executor do Pentest receberá todas as informações necessárias sobre a estrutura de segurança da empresa consultada, como endereços  de IP, servidores, topologia interna da rede e outros dados. 

 

Pentest Black Box 

É o tipo de pentest reconhecido como mais confiável. Assegura a fidelidade de um ataque, onde o profissional, com informações escassas da empresa consultada, precisará realizar todo o mapeamento, descoberta e explorar os dados a partir do zero, já que essa seria a real situação em um ataque malicioso. 

 

Pentest Gray Box 

O teste Gray Box é desenvolvido com base no mínimo necessário de informações. Tem esse nome devido à mescla das cores e termos do White Box e Black Box.   

 

Pentest externo 

Como o próprio nome diz, em um Pentest externo, o pentester enfrentará apenas a tecnologia externa da organização, a exemplo dos sites e servidores. 

Há situações em que o pentester contratado não recebe autorização para sequer entrar nas instalações físicas da empresa, tendo que realizar um ataque remoto. 

 

Pentest Black Box 

No teste conhecido como Pentest Interno, o pentester desenvolve o teste na rede interna da empresa. 

Esse tipo de teste é muito útil para entender os dados que colaboradores podem causar nos sistemas da empresa e até mesmo testar os níveis de segurança da organização. 

 

3 vulnerabilidades comuns que podem ser evitadas pelo Pentest 

As temidas vulnerabilidades na segurança de aplicações web podem resultar em sérios danos às organizações. 

Segundo pesquisa divulgada pela Acunetix, 87% dos sites possuem vulnerabilidades de segurança de médio risco. Os dados relacionados ao alto risco são alarmantes: quase 46% dos websites estão vulneráveis. 

Por isso, é tão importante testar as vulnerabilidades da empresa pelo Pentest.  

Vamos conhecer as brechas mais comuns que podem ser evitadas com essa ferramenta: 

SQL Injection 

É um tipo de ataque extremamente nocivo que envia comandos à base de dados por meio de formulários ou endereços web. 

Se esses ataques forem bem-sucedidos podem deletar bancos de dados, roubar senhas e extrair informações sensíveis. 

SQL Injection funciona porque o sistema aceita os dados fornecidos, já que na maioria dos casos, vem de um usuário com nível passível de administração desses dados.

 

Cross Site Scripting (XSS) 

Cross Site Scripting se aproveita da brecha utilizada na validação do usuário e da resposta que virá dessa validação. 

Se a aplicação não for capaz de filtrar corretamente os códigos HTML, um invasor pode receber informações específicas do usuário real, tendo acesso a todos os dados acessíveis por esse usuário em um banco ou planilha de dados utilizado pela empresa. 

 

Cross Site Request Forgery (CSRF) 

Cross Site Request Forgery, ou apenas CSRF, explora a vulnerabilidade existente na relação de confiança entre o usuário e o aplicativo web. O usuário então executa ações nocivas na aplicação em que ele está autenticado, de forma não voluntária. 

Os alvos geralmente são comuns e, por isso, passam quase despercebidos,  porém são muito valiosos, como e-mails, alteração de senhas e dados pessoais.  A maneira comum de ataque via CSRF é o envio de e-mail para a vítima contendo um link ou formulário. 

Se bem sucedido, o ataque leva usuários para um site malicioso ou inexistente, ainda que o endereço pareça correto e verdadeiro. Assim,  toma posse de e-mails, logins e senhas. 

Esse tipo de ataque está cada vez mais comum, conquistando inclusive, lugar no Top 10 de ataques mais comuns, da lista conhecida mundialmente e divulgada pela OWASP (Open Web Application Security Project).  

Conheça a lista completa clicando aqui. 

 

Fases do Pentest: como funciona o processo de análise e solução das vulnerabilidades? 

O Pentest está dividido oficialmente em seis etapas para sua correta introdução e operação. 

Listamos abaixo cada uma das etapas e o processo que deve ser desenvolvido em cada uma delas. É importante observar que nenhuma etapa deve ser negligenciada: 

 

1.       Coleta de Informações 

Como o nome sugere, nessa fase todas as informações sobre a empresa alvo da análise são coletadas 

  • Ramo de atuação; 
  • Existência de filiais ou empresa associadas a ela; 
  • Serviços prestados; 
  • Endereço físico ou domínio; 
  • Nomes e e-mails de profissionais que ocupam cargos de chefia, como gerentes e diretores. 

Estas informações são importantes porque permitem que o responsável pelo pentest saiba se a empresa usa a rede VPN (Virtual Private Network) e colete endereços dos seus servidores DNS (Domain Name Service). 

 

2.       Mapeamento de Rede/ Varredura 

No mapeamento de rede, já em posse da informação de DNS, o técnico que está desenvolvendo o Pentest inicia a varredura no sistema. 

A simulação do ataque então pode avançar e ele consegue descobrir dados como a topologia da rede, o IP que é utilizado, os servidores existentes, sistemas operacionais, quantidade de computadores na rede interna e as possíveis portas abertas. 

 

3.       Enumeração de Serviços 

Nessa fase a enumeração dos serviços é feita após a varredura nos sistemas utilizados pela empresa consultada. 

Na simulação do Pentest, são analisados os serviços que estão sendo executados e as possíveis portas de acesso ao sistema. 

 

4.       Obtenção de acesso e busca por vulnerabilidades 

Na quarta fase, são iniciadas as buscas pelas vulnerabilidades no software após a reunião de todas as informações anteriores. 

Por meio de técnicas específicas do pentest, é possível tentar encontrar os serviços que estão vulneráveis na rede e identificar as informações passíveis de se obter por meio daquela atividade ou endereço. 

 

5.       Exploração da vulnerabilidade 

Na quinta fase, as vulnerabilidades são então exploradas com o ataque ao sistema, podendo executar os ataques SQL (que mencionamos anteriormente nesse artigo), interromper a execução dos serviços ou desenvolver outras operações por meio de comandos remotos. 

 

6.       Evidência e reporte 

A fase de evidência e reporte é a conclusão do Pentest. 

Após identificar todas as vulnerabilidades no sistema, o pentester coleta as evidências das brechas e gera um relatório para reportar todos os serviços que apresentam brechas, como a  má configuração de softwares, falta de atualização, falhas na rede etc. 

Nessa fase também são apontados todos os danos que cada falha pode causar à empresa, para que então, possa iniciar o processo de correção das vulnerabilidades. 

 

O Pentest deve ser feito com que frequência? 

Não há uma frequência previamente estipulada para a execução do Pentest. Cada organização apresenta necessidades específicas e, portanto, o tempo entre um teste e outro também pode variar.  

No entanto, é fundamental que o Pentest seja desenvolvido com regularidade, ao menos uma vez ao ano, já que a prática é importante para a cibersegurança da empresa e o gerenciamento de TI. 

Há ainda algumas situações em que o Pentest deve ser realizado. Como por exemplo, quando:   

  • A empresa insere novas aplicações web ou altera a infraestrutura de rede; 
  • Há a aplicação de patches de segurança;  
  • A sede da empresa muda de local; 
  • Há mudanças significativas nos sistemas e infraestrutura.  

 

Como é possível realizar o pentest? 

É aconselhável que o pentest seja desenvolvido por um profissional da área de segurança web, que não tenha nenhum conhecimento prévio de como o sistema da empresa-alvo é protegido. 

Dessa forma, ele poderá encontrar vulnerabilidades e pontos cegos desconhecidos pelos responsáveis pelo desenvolvimento do projeto web ou infraestrutura da empresa. 

Por esse motivo, usualmente, as empresas de consultoria são contratadas para realizar o pentest. Essas empresas costumam contratar os chamados “hackers éticos” para a missão de invadir um sistema com o aval dos desenvolvedores e proprietários, com a finalidade de aumentar a segurança. 

 

O que é um Hacker Ético ou Ethical Hacker? 

Os denominados hackers éticos são especialistas em segurança da informação contratados por uma organização para realizar o Pentest em seu sistema, usando os mesmos métodos que um hacker com objetivos maliciosos usaria em um ataque. 

O propósito do hacker ético é identificar as vulnerabilidades que um invasor exploraria, permitindo que a organização possa se prevenir contra possíveis ataques. 

 

Qual a diferença entre o Pentest e uma invasão real? 

A principal diferença entre o Pentest e uma invasão real é a finalidade. Em uma invasão real, o ataque pode gerar sérios danos à instituição, a simulação de Pentest não causa nenhum dano à empresa. 

No caso, a organização tem conhecimento da varredura que será desenvolvida em seu site e concede a autorização necessária para tal 

O objetivo é o oposto, o de que o Pentest tenha acesso ao que representa uma vulnerabilidade ou risco para a segurança da informação em sua rede e que os problemas sejam corrigidos. 

Com isso, são evitados os ataques e danos reais à segurança virtual das empresas 

O pentest e seus diferentes formatos são uma simulação de ataque, a fim de descobrir vulnerabilidades e otimizar a segurança desses dados. 

Ele é uma importante ferramenta na proteção de sistemas, redes, aplicações web, constituindo-se extremamente relevante para as organizações, devendo, é claro, estar aliado a um planejamento eficiente contra os ataques virtuais. 

E que tal testar a segurança do seu sistema e fazer uma análise de vulnerabilidades sem precisar contratar um serviço de pentest? Conheça a Insider, o scan de vulnerabilidades que identifica brechas de segurança no seu código. 

 

Receba novidades:







    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *