O pentest, abreviação de “Penetration Testing”, é uma avaliação de segurança de sistemas, redes e aplicativos com o objetivo de identificar e analisar vulnerabilidades para entender como uma pessoa pode conseguir acesso não-autorizado através de uma simulação de ameaça verdadeira avaliando a eficácia das medidas de segurança que foram implementadas.
Os propósitos de um teste de intrusão incluem:
Identificação de vulnerabilidades: pesquisar quaisquer falhas na segurança que podem ser exploradas por invasores;
Melhoria de segurança: conceder recomendações para que as vulnerabilidades reconhecidas sejam corrigidas, aprimorando a segurança do sistema;
Análise de risco: avaliar o potencial de impacto de uma vulnerabilidade e priorizar as devidas correções;
Verificação de impacto: averiguar a eficiência das normas de segurança e qual é o impacto resultante.
O objetivo final de um pentest é auxiliar na proteção de sistemas e dados contra ameaças reais, fornecendo informações importantes para o aprimoramento da segurança da informação.
O profissional hacker ético, também chamado de pentester, lida com os mesmos recursos de operação dos invasores. Ele deve conhecer as ferramentas do pentest, tanto na visão sistêmica, quanto na aplicação prática, pois deste modo, é capaz de saber como que o invasor tira proveito perante às vulnerabilidades e até onde ele conseguirá chegar com essas ferramentas. Abaixo, 5 exemplos de algumas dessas ferramentas amplamente usadas para análise de vulnerabilidades e testes de intrusão (não sabe a diferença entre os dois? Fique ligad@ em nosso blog!):
1. NMAP – Network Mapper
Utilizado para escanear portas de serviços que estão abertas, determina qual o tipo de serviço, versão e possíveis sistemas operacionais, fazer varreduras na rede e obter respostas de todos os dispositivos que estão conectados, permite que scripts personalizados sejam criados, entre outras funcionalidades.
2. John The Ripper
É um dos melhores crackers de senha do mercado e funciona por meio de ataques de dicionário em modo off-line e pode ser feito sobre um ficheiro de senhas como o /etc/password. Um dos seus recursos exclusivos é gerar senhas adicionais a partir de uma lista de palavras existentes.
3. Metasploit
Conjunto de módulos para averiguar e testar vulnerabilidades em diversos sistemas, aplicações e outros. Seu objetivo é dispor de um ambiente de pesquisa para a investigação de vulnerabilidades.
4. Burp Suite
Trata-se de uma ferramenta padrão a respeito de proxies transparentes. Aplicada na interação e manipulação direta do tráfego web enviados e recebidos de seu navegador.
5. NetCat
Uma das mais antigas formas de auditoria e ferramenta administrativa, projetado para interação com portas de serviços diretamente por meio da entrega de um endereço IP, porta e um protocolo.
Conhecido como nc, é como um canivete suíço para administradores de redes, auditores e pentesters. Esta ferramenta também pode realizar a transferência de ficheiros e estabelecer sessões de host a host.
Tipos de Pentests
Os pentests podem ser categorizados em 3 tipos:
· Black box: a equipe composta dos pentesters têm de iniciar o trabalho “às cegas”, já que não lhes é entregue qualquer tipo de informação sobre o sistema, características ou estruturação, fazendo com que os pentesters descubram estes detalhes para o ataque ser planejado;
· White box: nesse tipo de pentest, a equipe tem acesso a praticamente toda estruturação antes do planejamento do ataque, podendo elaborar o trabalho considerando as características do sistema. À propósito, representa uma grande vantagem para os pentesters, economizando recursos e tempo. Os testes White box costumam ser bastante confiáveis.
· Grey box: no pentest grey box, a equipe detém algum conhecimento sobre o funcionamento do sistema que será o alvo, podendo ter relação com a estrutura, segurança e organização, e até costumes de seus operadores humanos. Cabe aos pentesters instrumentalizar a informação de que dispõe para que as vulnerabilidades sejam localizadas e as estratégias de equipe definidas.
Desafios
Existem inúmeros desafios enfrentados em um teste de intrusão por causa de sua complexidade diante das redes e sistemas. São eles:
· Segurança aprimorada: constantemente, sistemas e aplicativos vem sendo desenvolvidos com medidas de segurança evoluídas para que não aconteçam invasões;
· Tempo limitado: para realizar um pentest adequado, o tempo muitas vezes é restrito, o que atrapalha a identificação de vulnerabilidades de maiores complexidades;
· Conhecimento técnico: é indispensável possuir conhecimento técnico avançado para realizar testes de invasão eficientes;
· Restrições legais: o teste de intrusão pode ser restringido por leis e regulamentos como a proteção de dados pessoais;
· Detecção: o sistema de segurança pode detectar a atividade do pentester e aplicar medidas de proteções para que os recursos estejam seguros;
· Falsos positivos: com a atividade de testes de invasão, é possível atingir falsos positivos, de forma que o êxito dos dados seja afetado;
· Complexidade: aplicativos e sistemas tiveram um aumento significativo no que tange ao desenvolvimento, tornando mais complicado a descoberta e estudo de vulnerabilidades.
Além dos desafios mencionados acima, outros desafios estão presentes como a necessidade de lidar com a privacidade e segurança de dados sensíveis, restrições de tempo, orçamento e recursos, e muitos outros. Os profissionais de hacker ético devem estar preparados para responsabilizar-se com todos esses desafios e ter habilidades técnicas desenvolvidas, comunicação efetiva e boa gestão de projetos para garantir o sucesso do teste.
Estrutura de um Relatório de um Teste de Intrusão
A interpretação dos resultados de um teste de intrusão serve para que as informações obtidas durante o teste sejam qualificadas e compreendidas, bem como as vulnerabilidades constatadas, evidências de exploração adequada e o impacto potencial para a segurança da informação. Deve-se elucidar os resultados corretamente para usar os padrões convenientes, assim as vulnerabilidades são corrigidas e a segurança geral do sistema fica aprimorada.
A interpretação dos resultados também inclui a classificação de vulnerabilidades de acordo com sua prioridade e grau de seriedade, e a identificação dos padrões e tendências são usados para melhorar a defesa contra futuros ataques.
Ao relatar os resultados de um teste de intrusão, se deve seguir uma estrutura concisa afim de comunicar de modo aprofundado as descobertas e recomendações às partes interessadas, também chamadas de stakeholders. Para que o relatório fique completo, é necessário:
Introdução: viabilizar um resumo geral do objetivo do teste, sistemas e aplicações avaliadas;
Metodologia: descrever como o teste, ferramentas e técnicas utilizadas foram conduzidas;
Resultados: apresentar as vulnerabilidades identificadas, classificação de severidade, incluindo o impacto potencial para a segurança da informação;
Evidências: oferecer indícios concretos de vulnerabilidades, como captura de telas e logs de teste;
Recomendações: apresentar soluções e medidas de correção para as vulnerabilidades identificadas.
Em suma o relatório precisa ser sucinto e fácil de entender, com dicas detalhadas e soluções viáveis. Além disso, o relatório deve ser personalizado para atender às necessidades específicas do destinatário levando em conta o seu nível de conhecimento técnico.
Dicas Finais
Após um teste de invasão, também é importante acrescentar avisos de segurança para preservar a rede e os sistemas. Algumas dicas são:
Atualização de segurança: mantenha todos os aplicativos e sistemas atualizados, incluindo sistemas operacionais, aplicativos de segurança e outros softwares;
Firewall: configure regras de firewall para o bloqueio do acesso não-autorizado e monitore as atividades de rede para detectar invasores;
Configurações de segurança: verifique se estas configurações estão corretamente configuradas e ajuste se necessário;
Antivírus: instale um software antivírus e o deixe atualizado;
Senhas fortes: exija senhas fortes em todas as contas e altere-as regularmente;
Backup: crie e mantenha backups regulares dos dados importantes para minimizar a perda em caso de invasão;
Treinamento de segurança: treine os funcionários sobre as práticas de segurança adequadas e as ameaças comuns à segurança da rede;
Monitoramento constante: supervisione a rede com frequência para averiguar ameaças e vulnerabilidades e implemente soluções rápidas, se necessário.
Por fim, o pentest vai depender do objetivo e escopo que serão definidos para o teste. Em geral, é incluído informações sobre vulnerabilidades identificadas, tipos de ameaças e seus impactos, severidade, recomendações para melhorias, como também a efetividade dos controles existentes de segurança.
Fiquem ligad@s em nosso blog para mais novidades!
Comentários