Teste de invasão, ou também conhecido popularmente como Pentest, é o nome dado a um serviço de segurança de rede que tem como objetivo prevenir que um atacante obtenha acesso não autorizado a infraestrutura de TI de uma empresa.
Essa prevenção é realizada simulando os possíveis vetores de ataques que poderiam ser explorados por um agente mal intencionado. Sendo assim, ao realizar esses testes, é possível detectar se uma rede, serviço ou infraestrutura está vulnerável a alguma espécie de ataque cibernético.
Certamente, o termo “Pentest” tem chamado muito a atenção das pessoas e tem se popularizado cada vez mais devido a uma onda crescente de ataques virtuais que vem ocorrendo nos últimos anos.
Entretanto, os testes de invasão propriamente ditos não são como os retratados nos filmes ou séries de TV, eles são baseados em uma série de técnicas e metodologias que devem ser devidamente aplicadas e relatadas, ou seja, o teste de invasão da vida real é algo extremamente sério e técnico.
Porque um teste de invasão é importante?
Nos dias atuais os testes de invasão (Pentest) se tornaram extremamente necessários devido a uma série de fatos relacionados a indústria de segurança cibernética. Sendo que um dos principais fatores é a interrupção de serviços por ataques virtuais.
Com certeza você se recorda do ataque de ransomware WannaCry, que em 2017 sequestrou milhares de computadores, causando um verdadeiro caos em indústrias, governos e pessoas comuns. Contudo, ele não foi um ataque isolado, esse tipo de ataque tem se tornado muito comum.
Sendo assim, surgiu uma grande demanda para que testes de invasão sejam realizados para que as possíveis falhas sejam identificadas e corrigidas antes que seja tarde demais. É aquela velha história: “Melhor prevenir do que remediar”, não é mesmo?
As etapas de um teste de invasão
Todo teste de invasão é baseado em etapas, sendo que cada uma delas possui uma função essencial. As etapas se baseiam basicamente em preparação, planejamento e execução.
Outro ponto importante dentro de um Pentest é que todos os processos realizados devem ser descritos em um relatório para informar o cliente sobre as falhas encontradas.
Além do mais, uma boa definição de escopo de trabalho é primordial, tanto para o cliente quanto para a equipe estará executando o teste de invasão.
Agora que já entendemos o que é um teste de invasão, vamos aprender um pouco mais sobre suas etapas e como elas funcionam, confira abaixo:
#1 Pré reconhecimento: a principal etapa de um teste de invasão
Claramente essa é uma etapa primordial, pois é nesse momento que é definido o escopo do projeto. Ou seja, o que será testado, quais formas de testes serão realizados e o que não pode ser feito.
Entretanto, muitos se esquecem de definir esse pré reconhecimento e acabam cometendo erros que poderiam ser evitados. Durante essa etapa as questões legais também são decididas, o contrato deve ser elaborado contendo todas as informações sobre os testes que serão realizados, prazos e valores.
Sempre tenha em mente que um teste de invasão é algo sério e provavelmente dados críticos estarão em jogo, então se prevenir com um contrato legal é algo essencial e jamais deve ser deixado de lado.
#2 Reconhecimento: conhecendo melhor o seu alvo
Essa fase também é conhecida como Footpriting e basicamente é a coleta de informações sobre o alvo. Portanto, nesse momento é realizada uma busca profunda de informações relevantes para o teste.
Sendo assim, nesse momento algumas técnicas são empregadas, dentre as mais comuns estão:
- Uso avançado em mecanismos de buscas, como Google, Bing e Duckduckgo
- Levantamento de informações relevantes sobre o domínio usando a ferramenta WHOIS
- Aplicação de engenharia social para obter dados, como nomes, emails e até mesmo senhas
- Levantamento de informações relevantes através dos emails obtidos e outros dados
Após obter o máximo de informações possíveis, esses dados serão organizados e usados durantes os testes para poder obter acesso a infraestrutura do alvo.
#3 Mapeamento: momento de entender a rede do cliente
Após realizar o levantamento de informações chegou o momento de mapear a rede do alvo. Esta é a hora de mapear os computadores, servidores e outros dispositivos que fazem parte do escopo definido na primeira etapa.
É nesse momento que informações como topologia de rede, tais como números de IP atrelados para cada dispositivo, são obtidos. Com essas informações em mãos, torna-se muito mais fácil decidir por onde o teste irá se iniciar e aonde irá chegar.
#4 Enumeração de serviços usados
Uma vez que o mapeamento de rede foi realizado, a próxima etapa do teste é a enumeração de serviços usados pelo alvo. Nessa etapa são levantados dados referentes a portas abertas, serviços utilizados, sistemas operacionais e quais serviços estão disponíveis através da internet e quais estão liberados somente na rede interna.
Esse processo normalmente é realizado usando ferramentas próprias para testes de invasão, que tem como objetivo levantar o máximo de informações possíveis de forma detalhada. Esses dados posteriormente são usados para exploração de possíveis vulnerabilidades no alvo.
#5 Análise de vulnerabilidades e ganho de acesso
Com os dados obtidos nas etapas anteriores é chegado o momento mais esperado, analisar as possíveis vulnerabilidades, explora-las e ganhar acesso aos sistemas do alvo. Entretanto, isso só é possível após analisar todos os softwares que são utilizados pelo cliente, ou seja, sistemas operacionais desatualizados, softwares com vulnerabilidades ainda desconhecidas ou conhecidas. Todo esse conjunto de dados leva o pentester a entender qual exploit ele deverá utilizar para ganhar acesso a rede analisada.
Normalmente essa análise é realizada utilizando um conjunto de ferramentas para testes de invasão. Essas ferramentas normalmente são automatizadas, porém, em alguns casos é necessário customizar e até mesmo criar novas ferramentas dependendo do planejamento e ambiente testado.
#6 Manter acesso e pós exploração
Certamente não basta apenas ganhar acesso, existe a necessidade de manter um acesso persistente a rede, sistema ou software vulnerável. Portanto, após ganhar acesso são utilizadas técnicas para manter a porta de entrada aberta para acesso posterior. Exatamente como acontece em um ataque cibernético real, onde crackers realizam a instalação de backdoors para acesso posterior.
É importante durante um teste de invasão manter o acesso para demonstrar o impacto da vulnerabilidade para o cliente.
Contudo, além de manter o acesso, é realizado o procedimento de pós exploração, onde é feito um levantamento dos dados que estão sendo expostos por aquela falha – apenas se isso estiver descrito em contrato. Em alguns casos, arquivos sensíveis não podem ser acessados, apenas são descritos a título de informação.
Outro ponto importante nessa etapa do teste é escalação de privilégios para alcançar o maior número de computadores, servidores ou softwares possíveis. Sendo assim, cobrindo toda a rede e analisando todas as possíveis brechas.
#7 Gerar relatório
Talvez essa seja a parte menos “divertida” de todo o processo, entretanto, é de extrema importância, pois é através do relatório que o cliente irá compreender as vulnerabilidades que foram exploradas. Sendo assim, é necessário descrever detalhadamente todo o processo realizado no teste.
Nesse detalhamento é informado exatamente quais métodos foram utilizados para comprometer o sistema alvo e demonstrar em passos como reproduzir o ataque novamente. Dependendo do acordo realizado, também é necessário informar no relatório como corrigir a vulnerabilidade detectada.
Contudo, além de informar dados referentes a invasão, é necessário informar quais ferramentas foram utilizadas durante os testes. Quanto mais detalhado o relatório estiver, melhores serão os resultados.
Etapa extra – resolução dos problemas e novos testes
Na maioria dos testes de invasão essa etapa normalmente não é realizada, entretanto, em alguns casos é realizada uma assistência para resolução das brechas e novos testes são realizados.
Somente após a confirmação de que todas as falhas foram devidamente resolvidas, o teste atual é dado como encerrado. Porém, é válido lembrar que esses testes devem ser realizados com uma certa frequência, pois novas atualizações são lançadas e elas podem conter novas vulnerabilidades.
E você, utiliza a metodologia apresentada acima? Possui algo a acrescentar? Deixe seu comentário abaixo.