Teste de invasão: Introdução

Não é segredo que sistemas podem apresentar falhas. Os recursos podem estar mal configurados, com usuários com permissões desnecessárias, falta de atualização de softwares e redes desprotegidas (falta de criptografia, por exemplo), permitindo que atacantes capturem dados sigilosos. Além de tudo isso, há o fator humano, que pode ser explorado através de engenharia social.

Esses são alguns exemplos de por que é tão importante utilizar o Pentest ou Teste de Invasão.

Esse tipo de teste é realizado para identificar vulnerabilidades através de diversas técnicas e explorá-las com o objetivo de ganhar acessos não autorizados simulando o que atacantes fariam.

Dessa forma, é possível avaliar o que um atacante conseguiria realizar ao conseguir explorar uma falha. Esse teste pode ser realizado através das seguintes fases:

Preparação

Nesta fase, ocorre a interação com o cliente para compreender tanto sobre a área de atuação da empresa quanto sobre o objetivo do testes de invasão. É importante realizar o alinhamento, pois falhas de comunicação podem trazer grandes transtornos. São definidos:

  • Escopo: Quais endereços IP’s ou hosts estão incluídos; permissões para utilizar exploits e engenharia social; deixar claro que dependo do teste; servidores podem ser desativados; saber se ao encontrar uma vulnerabilidade, o teste deve continuar para saber o que pode ser obtido ao explorar esta falha, pois dependendo das vulnerabilidades podem ser expostas informações estratégicas;
  • Janela de testes: Definição de dias e horários em que os testes poderão ser executados;
  • Informações de contato: Quem deve ser alertado caso algo crítico seja encontrado ou aconteça, como servidores desativarem depois de um teste;
  • Cartão para “Sair da cadeia livremente”: Autorização para a realização do teste. Caso a empresa tenha serviços de terceiros, é necessário ter a aprovação de todos e certificar que haja no contrato uma cláusula especificando o limite da responsabilidade para se resguardar caso algo crítico ocorra;
  • Termos de pagamento: Referente ao valor a ser pago pelo serviço prestado, bem como a definição do acordo de confidencialidade.

Coleta de informações

Esta fase envolve pesquisa sobre a empresa. Essa pesquisa pode ser através de buscadores como Google ou através do OSINT (Open Source Intelligence). Nesta fase, será iniciado o uso de ferramentas como scanners de porta.

Modelagem das ameaças

Nesta fase, buscamos pensar em como um invasor poderia utilizar as informações adquiridas na fase anterior para realizar um ataque. Dessa forma, estratégias são definidas para simular ataques e tentar invadir o sistema.

Análise de vulnerabilidade

Nesta análise, são realizados os testes e descobertas as vulnerabilidades. Geralmente durante essa fase alguns bancos de dados de vulnerabilidades são utilizados, mas também é importante a realização de testes manuais e análises que podem levar a novas estratégias de simulação de ataques.

Exploração de falhas

Nesta fase, as vulnerabilidades encontradas na fase anterior serão exploradas, geralmente com a utilização de uma ferramenta como Metasploit.

Pós-exploração de falhas

Agora, são analisadas as informações sobre o sistema invadido e é verificado o que é possível realizar com o acesso adquirido — acessar arquivos ou elevar nível de privilégio do usuário, por exemplo, e analisar até onde é possível chegar. Após a realização desta fase, é necessário avaliar quais dessas vulnerabilidades são relevantes para o cliente, pois pode acontecer de um sistema invadido não dar acesso a nenhum alvo relevante possível.

Geração de relatório

Nesta fase, será construído um relatório contendo todas as vulnerabilidades descobertas, contendo as análises com relação às melhorias que devem ser implementadas. Geralmente esse relatório é dividido em:

  • Sumário executivo: Descreve os objetivos do teste e oferece uma visão geral dos resultados levando em consideração que o público-alvo são os executivos responsáveis pelo projeto;
  • Relatório técnico: Nesta seção, estão presentes todos os detalhes técnicos da realização dos testes, considerando que o público-alvo são os responsáveis por implementar as melhorias.

Nos próximos posts, vamos discutir mais sobre cada uma das fases. Até a próxima!

 

Referências: Testes de Invasão: Uma Introdução Prática ao Hacking – Georgia Weidman; Segredos do Hacker Ético – Marcos Flávio Assunção

Sobre o(a) autor(a)

Samantha Morais Nunes
Samantha Morais Nunes

Formada em Ciência da Computação pela PUC Minas e pós-graduada em Segurança da Informação pela UNA. Iniciou a carreira na área de QA em 2011 como estagiária e hoje atua como analista de qualidade de software na Take. Participou com Letícia (QA), André (QA) e Rhamon (PO), do STWC 2014, conquistando o 4º lugar na etapa South America e o prêmio Most Useful Test Report. Fez parte da equipe de organização do Minas Testing Conference, um evento sobre qualidade de software que ocorre em Belo Horizonte e atualmente faz parte da equipe de organização dos meetups de Segurança da Informação 0x0d1a e Machine Learning BH.

Deixe uma resposta

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

Você pode usar as seguintes tags e atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

by Take ® 2015 | Todos os direitos reservados.linkedin