Um teste de penetração, também conhecido como Pentest, é um ataque simulado contra sistemas de computadores ou ambientes de TI para verificar se há vulnerabilidades exploráveis, para validar a eficácia dos mecanismos de segurança e aprimorá-los. Também permite uma avaliação das consequências que essas vulnerabilidades possam causar, das soluções possíveis para mitigação e quais novas falhas que podem aparecer após a intervenção.
Existem três tipos de pentest, chamados de White Box, Grey Box e Black Box. No teste White Box, o pentester tem informações prévias sobre o ambiente-alvo a ser explorado, conhece os detalhes da rede, IPs, senhas, níveis de usuário, infraestrutura e ferramentas de segurança, entre outros minúcias. Muitos não optam pelo teste White Box porque pode não simular realmente uma situação real de ataque. Já o teste Black Box é o que abrange melhor uma situação real de ataque, pois o pentester não tem nenhuma informação prévia sobre o ambiente em questão, assim como, espera-se, um criminoso. É um “blind test”. O Grey Box é um misto entre Black e White Box, pois o pentester tem algumas informações sobre o ambiente a ser explorado.
Os três tipos de teste podem ser utilizados para diversas aplicações, como aplicações Web, serviços de rede, redes sem fio, engenharia social e até hardwares. No contexto de aplicações web, os testes são usados para verificar e aperfeiçoar o firewall. O pentest envolve a tentativa de violação de sistemas de aplicações (APIs), servidores (front end/backend), para descobrir vulnerabilidades que estão suscetíveis a injeções de código. Os insights fornecidos por esses testes podem ser usados para ajustar suas políticas de segurança WAF e corrigir vulnerabilidades detectadas com patches.
Quais são os passos de um projeto para pentest?
- Planejmento e reconhecimento
A primeira etapa envolve definir o escopo e os objetivos do teste, incluindo a seleção dos sistemas a serem abordados e os métodos de teste a serem utilizados. Também se realiza a coleta de informações para entender o alvo e suas potenciais vulnerabilidades. - Scan
O próximo passo é entender como o aplicativo-alvo responderá a diferentes tentativas de intrusão. Isso pode ser feito através de análise estática ou dinâmica. Na análise estática, inspeciona-se o código de um aplicativo para estimar a forma como ele se comporta durante a execução; essas ferramentas podem scnear a totalidade do código em um único passe. Na análise dinâmica o código é inspecionado em execução; é maneira mais prática de scan, pois fornece uma visão em tempo real para o desempenho de uma aplicação. - Obtendo Acesso
Esta etapa usa ataques de aplicativos web, como scripting entre site, injeção SQL e backdoors para descobrir as falhas presentes no alvo. Os pentesters então tentam explorar essas vulnerabilidades, geralmente “roubando” dados, interceptando tráfego etc., para entender os possíveis danos no caso de uma invasão real. - Mantendo o acesso
O objetivo desta etapa é verificar se a vulnerabilidade pode ser usada para alcançar uma presença constante no sistema explorado, com tempo suficiente para permitir que uma invasão seja bem-sucedida. A ideia é simular ameaças avançadas persistentes, que muitas vezes permanecem em um sistema durante meses, a fim de roubar os dados mais sensíveis de uma organização. - Análise de resultados
Os resultados do pentest são então compilados em um relatório detalhando:
– Vulnerabilidades encontradas
– Dados confidenciais que foram acessados
– O tempo que o pentester foi capaz de permanecer no sistema sem ser detectado
Essas informações são analisadas por especialistas para ajudar a configurar e aprimorar as soluções de segurança de uma organização para corrigir as vulnerabilidades e proteger contra possíveis ataques.
Os testes são realizados por profissionais com conhecimento de hacking, e trazem diversos benefícios para as empresas, possibilitando a correção de falhas e prevenindo prejuízos incalculáveis à organização e seus clientes e parceiros e zelando a reputação. Assim, as empresas conhecem melhor o nível de maturidade que se encontram, o que possibilita um melhor direcionamento para o investimento em segurança digital.