O Teste de Intrusão, é mais conhecido como Pentest na prática, nada mais é que um método capaz de avaliar a segurança de um sistema computacional ou de uma rede, simulando um ataque de uma fonte maliciosa.
Por meio do Pentest é possível caçar vulnerabilidades em sistemas.
Este serviço é muito requisitado por empresas do setor público, mercado financeiro, grandes corporações e companhias que necessitam de um ambiente seguro e praticamente inviolável.
O que é o Pentest e pra que serve?
O Teste de Intrusão é um exercício de segurança em que um especialista em segurança digital (Sec) tenta encontrar e explorar vulnerabilidades em um sistema de computador.
Objetivo de um pentest
O objetivo do ataque simulado propositalmente a pedido da empresa, também conhecido como hacking ético, é identificar quaisquer pontos de fraqueza na infraestrutura de defesa de um sistema.
Imagine que um banco queira testar a segurança de sua infraestrutura interna.
Então ele decide contratar uma equipe que tenta invadir o prédio como bandidos fazem.
Se os “bandidos” forem bem-sucedidos e entrarem no banco ou no cofre, o banco obterá informações valiosas sobre como eles precisam reforçar suas medidas de segurança.
Agora é só você transportar o ataque que você imaginou no parágrafo anterior para o mundo digital, é bem por aí mesmo!
Qual o perfil de um pentester?
Geralmente, o perfil do pentester é o de um desenvolvedor com amplo conhecimento em redes e sistemas de segurança, com reconhecidas certificações de testes de intrusão.
Além disso, é comum que os desenvolvedores contratados como pentesters possuam pouco ou nenhum conhecimento prévio de como o sistema em questão está protegido evitando o enviesamento durante o processo.
Também existem os casos de autodidatas e ex-criminosos que resolvem usar seus conhecimentos para ajudar a corrigir falhas de segurança ao invés de explorá-las.
O teste de penetração é muito diferente do teste funcional tradicional; os pentesters não apenas não possuem documentação adequada, mas também devem ser capazes de pensar como usuários que pretendem causar danos. Esse ponto é muito importante – os desenvolvedores geralmente operam sob a suposição de que nenhum usuário razoável executaria um cenário específico e, portanto, recusaria uma correção de um bug. Já os hackers fazem todo o possível para encontrar vulnerabilidades e nenhum truque, trapaça ou algo a mais está fora de seus limites. O mesmo deve ser verdadeiro para os pentesters e os danos que eles podem causar.
James A. Whittaker, Principal Architect do Visual Studio – Microsoft.
Aplicações de um pentest
Segundo a página “Software Livre Brasil”, há vinte e uma aplicações viáveis para se realizar testes de intrusão:
- Análise da rede;
- Análise de portas;
- Identificação de sistemas;
- Provas de debilidades em sistemas sem fios (dependendo segundo o caso);
- Verificação de serviços (site, correio, servidor de nomes, documentos visíveis, vírus e trojans);
- Determinação de vulnerabilidades;
- Identificação de exploits;
- Verificação manual de vulnerabilidades;
- Verificação de aplicações;
- Verificação de firewall e ACLs;
- Revisão das políticas de segurança;
- Revisão de sistemas de detecção de intrusos;
- Revisão de sistemas de telefonia (dependendo segundo o caso)
- Obtenção de informação (serviços de notícias, notas de imprensa, informações facilitadas pela própria empresa), ofertas de trabalho, newsgroups, xracks,[necessário esclarecer] números de série e “underground”, FTP, site, P2P;
- Engenharia social;
- Verificação de sistemas “confiáveis”;
- Análise de robustez de senhas;
- Negação de serviço;
- Revisão da política de privacidade;
- Análise de cookies e bugs no site;
- Revisão de arquivos de anotações cronológicas (logs).
Sistemas Operacionais focados em Pentest
Existem várias distribuições de sistemas operacionais que são voltadas para testes de intrusão.
Elas, normalmente, contam com um conjunto de ferramentas pré-empacotadas e pré-configuradas para rodar o serviço.
Confira algumas delas:
- BlackArch baseada no Arch Linux;
- BackBox baseada no Ubuntu;
- Kali Linux baseada no Debian;
- Pentoo baseada no Gentoo;
- WHAX baseada no Slackware.
Principais tipos de pentest
Os testes costumam ser feitos nos serviços de rede, na própria infraestrutura do contratante avaliando configuração de firewall, por exemplo; em aplicações web; nos computadores dos colaboradores; nas redes wireless e demais pontos de conexão.
As principais modalidades do pentesting são:
White Box
O desenvolvedor receberá algumas informações – mínimas – com antecedência sobre as informações de segurança da empresa de destino, é o modelo de pentesting padrão.
Black Box
Conhecido também como Teste Cego. Neste modelo, não há nenhum envio de informação por parte do contratante, tudo é feito “na raça”.
Double-Blind
Também é conhecido como Teste Duplo-Cego.
É uma situação em que quase ninguém na empresa sabe que o teste está acontecendo, nem mesmo os profissionais de TI. É a segurança que responderá ao ataque.
Os testes também podem ser realizados de forma interna ou externa do edifício da empresa, dependendo da necessidade do cliente.
Estágios de um Pentest
Planejamento
É o momento onde as metas de intrusão são definidas e é criado um planejamento de cada etapa do processo.
Nesta fase também se assina um contrato com todos os termos legais e clausulas para proteger a ambas partes.
Escaneamento
São utilizadas ferramentas de escaneamento a fim de encontrar vulnerabilidades. Isso geralmente é feito usando:
Análise estática
Inspeciona-se o código de um aplicativo para estimar como ele se comporta durante a execução.
Análise dinâmica
Inspeciona-se o código de um aplicativo funcionando em tempo real.
Acesso
Após descobrir brechas, é hora de partir para a penetração do sistema.
Esse estágio foca em ataques com aplicativos web, como scripts, injeção de SQL e backdoors para descobrir as vulnerabilidades de um alvo.
Os pentesters também tentam explorar essas vulnerabilidades.
Normalmente, fazem mudando privilégios, roubando dados, interceptando tráfego.
Ou, até mesmo, fazendo o uso de engenharia social com informações e dados confidenciais obtidos por meio de roubo ou manipulação psicológica de algum colaborador do cliente.
Análise e configuração WAF (Web Application Firewall)
Essas informações podem ser usadas para implementar atualizações de segurança para remover quaisquer vulnerabilidades descobertas durante o teste.
Gostou do assunto?
Deixe um comentário falando sobre o que você pensa sobre o tema!
E se acha interessante de fazermos uma segunda parte com um profissional especializado em testes de intrusão contando sobre as ferramentas que utiliza e como é o dia a dia de um pentester.
Um grande abraço!