Prevenção contra violação dos dados, vazamento de informações e validação dos diversos recursos de segurança instalados no ambiente são alguns motivos para a realização de um teste de invasão. Esse teste tem sido utilizado como um método para analisar uma rede corporativa e determinar o nível do impacto de um eventual ataque, bem como verificar quais vulnerabilidades que devem ser mitigadas ou erradicadas para se obter um nível de risco aceitável e gerenciável. O Pentester, profissional responsável por realizar o teste, costuma adotar as mesmas técnicas e ferramentas utilizadas pelos hackers.
Antes do início das atividades, o profissional da área deve firmar um contrato com a empresa contratante. Nele devem estar contemplados um código de conduta inicial prevendo as regras de utilização dos recursos da empresa, o escopo e os métodos que serão utilizados nos testes – especialmente aqueles que podem corromper ou descontinuar um serviço, ainda que temporariamente, ou inviabilizar o acesso a um determinado recurso de rede.
No que diz respeito ao estabelecimento do escopo dos testes, deverão ser definidos quais serão os ativos, banco de dados e servidores envolvidos. Além disso, neste ponto deve ser escolhido qual método de invasão a ser utilizado. Existem três tipos conhecidos:
Para se ter uma ideia de como funciona o processo, abaixo estão descritas as fases do teste de invasão, que também serão devidamente negociadas para a definição do escopo dos testes:
Outras informações importantes são servidores, serviços utilizados (sistemas operacionais), domínios e subdomínios, nomes e logins dos funcionários, bem como endereços de e-mails. Nesta fase existem dois métodos para a coleta das informações: ativa e passiva. Inicialmente é interessante que seja realizado de forma passiva, ou seja, com o mínimo de contato com o ambiente, mapeando e planejando as melhores informações que serão utilizadas. Passar despercebido é altamente recomendável para não ser identificado através dos recursos de monitoramento de segurança existentes no ambiente. Não necessariamente realiza-se o levantamento de forma passiva, podendo partir direto para a coleta ativa, com maior risco de ser identificado se não houver o devido planejamento. Esta coleta ocorre quando se entra em contato com a infraestrutura de redes do alvo, conforme abaixo.
BruteForce: são utilizadas técnicas (programas) de quebra de senha de serviços SSH, SMTP, FTP, etc.
Engenharia Social: pode ser utilizada em vários momentos, dependendo das ações ou informações desejadas.
Estas são as 5 principais etapas de um teste de invasão mas que podem variar. Não é uma sequência exata pois algumas podem e serão repetidas durante o processo. Para o cliente que contrata esse tipo de serviço, o importante é ter em mente que os testes não terminam simplesmente após a invasão uma vez que devem ser enumerados todos os servidores comprometidos, relacionando as vulnerabilidades exploradas e quais ações devem ser adotadas para a prevenção de futuros ataques.
Todo o processo deve ser documentado para que o cliente tenha os insumos necessários para tomada de decisões. Para isso, a coleta das evidências e reportes é fundamental. Devem ser registradas todas as evidências para atender o escopo acordado na contratação, ou seja, enumerar todos os requisitos atendidos - como servidores, switches, aplicações web - bem como os métodos e técnicas que foram utilizados. Ao final, costuma-se entregar 2 tipos de relatórios:
Em ambos os relatórios é necessário que conste o impacto que as vulnerabilidades que foram exploradas poderiam causar ao ambiente como vazamentos de dados, roubo de credenciais de acesso, roubo de informações privilegiadas de propriedade intelectual, etc.
Na finalização do relatório costuma-se, ainda, ter algumas recomendações de segurança, informando ao cliente a importância de desabilitar recursos não utilizados nos servidores, bem como testes antes da implementação de aplicações no ambiente de produção (o chamado “code review”), aplicação de políticas fortes de troca de senha com fator de dupla autenticação, reuniões regulares para o alinhamento e mitigação de problemas, assim como plano de mudança bem alinhado entre as diversas equipes de infraestrutura e suporte.
É importante salientar que o Pen Test é uma fotografia. Ou seja, um retrato daquele momento do ambiente da rede. No dia seguinte as coisas já estarão diferentes. Novas máquinas foram adicionadas à rede, assim como aplicações instaladas ou vulnerabilidades descobertas. Por isso a contratação de um serviço contínuo de monitoração (24x7) é o mais recomendável para manter o nível de maturidade em segurança. Conhecer o seu ambiente e suas vulnerabilidades é fundamental para que você possa se prevenir de ataques ou perdas de informações. Prevenção é ainda a melhor política.