OQUE É PENTEST?
Começando pela definição: Pentest é o termo utilizado para definir tanto o processo dos testes de penetração, quanto o profissional da área de cyber segurança, conhecido também como hacker ético, ou Pentester.
Esse processo consiste em testar dispositivos, redes, sistemas, aplicativos ou aplicações web, a fim de encontrar vulnerabilidades de segurança que possam de alguma forma ser exploradas por invasores. O objetivo final é identificar os pontos fracos de segurança, passando por algumas etapas que são definidas em algumas metodologias, das quais nós fizemos um pequeno compilado e um resumo, e iremos apresentar a seguir: Etapa
1: Planejamento e reconhecimento. Essa é etapa Inicial, e envolve basicamente definir o escopo do pentest, ou seja, se ele vai ser feito o interno ou externo;
Quais são os objetivos desse teste, incluindo os sistemas e ambientes a serem testados; E a modalidade a ser utilizadas, tais como: Black Box - que é um teste conhecido como teste às cegas, aonde não é passado nenhum tipo de informação a respeito do ambiente que será testado, as vezes é passado somente uma URL, ou o IP de algum dispositivo, ou endereço de uma aplicação e o profissional deve mapear entender o funcionamento daquele sistema. Também temos a modalidade Gray Box - onde são passadas as informações parciais sem tantos detalhes assim. E por fim, a modalidade White Box - onde o cliente passa todas as informações para o profissional que irá realizar esse teste.
Ainda nessa etapa, nós temos ainda fase que é comumente conhecida como "information gathering", que significa levantamento ou coleta de informações para entender melhor como um alvo funciona e as suas potenciais vulnerabilidades. Nesse processo, são coletadas informações simples de localizar, utilizando até mesmo próprio Google, como as tecnologias utilizadas pela empresa, e-mails corporativos, departamentos, nomes de colaboradores com cargos estratégicos, domínios e subdomínios da empresa, enfim. E até dados que requerem uma pesquisa um pouco mais refinada, como os "Leaks", que são dados vazados referentes ao alvo. A
2º etapa, é a etapa de varredura onde o próximo passo é entender como o aplicativo de destino responderá a várias tentativas de intrusão. Essa etapa é feita utilizando duas análises:
A 1º é conhecida como análise estática, que consiste em inspecionar o código de um aplicativo para estimar a maneira como ele se comporta durante a sua execução. Essas ferramentas podem verificar todo o código em uma única passagem. O 2º tipo de análise, é a análise dinâmica, que consiste em: Inspecionar o código em um aplicativo que está em estado de execução.
Essa ação, ela oferece uma visão em tempo real do desempenho do aplicativo e é muito utilizado. A 3º etapa é a etapa de obtenção de acesso. Essa é a etapa onde os ataques são executados, onde todas as técnicas e ferramentas, tais como injeção de SQL, XSS, Backdoors, Exploits, são colocadas em prática, a fim de descobrir e explorar as vulnerabilidades do alvo. Normalmente os riscos são explorados escalando privilégios, roubando dados , interceptando o tráfico e etc. A 4º etapa, é etapa onde nós devemos manter o acesso. isso é: Uma vez descoberta a vulnerabilidade, é hora de constatar se a vulnerabilidade encontrada pode ser usada para conseguir uma presença persistente no sistema explorado. Aqui a ideia é: Simular ameaças persistentes, de formas avançadas, que permanecem nos sistemas por meses, para roubar dados confidenciais sem ser percebidas. Por fim, nós chegamos à 5º Etapa, que a etapa de análise, aonde todos os resultados do teste de penetração são compilados em um único relatório, com basicamente os seguintes detalhes:
1º Quais foram as vulnerabilidades exploradas.
2º Quais foram os dados que foram acessados.
3º A quantidade de tempo que o pentester conseguiu permanecer no sistema sem ser detectado. E entre diversas outras coisas, outras informações que o pentester achar relevante para o relatório.
Além das etapas, existem vários tipos de testes, vejamos os mais conhecidos, que são: O teste e externo, aonde esse, teste é focado nos ativos de uma empresa que estão visíveis na internet, como por exemplo: Uma aplicação web, os servidores de e-mail da empresa, os domínios e etc. O 2º tipo de teste, é o teste interno, que é um teste executado por dentro da rede do cliente, que pode ser conectado via cabo, via wi-fi ou até mesmo um teste físico, aonde o profissional possui acesso ao ambiente e simula um ataque de um insider mal-intencionado, que pode ser tanto um funcionário desonesto como também um colaborador que teve as suas credenciais roubadas através de um ataque de phishing, por exemplo.
Dito tudo isso, se liga agora em algumas das ferramentas mais utilizadas para realização desses testes. A 1º ferramenta que eu quero falar para vocês, é o WireShark, que é provavelmente o analisador de rede mais utilizado em todo mundo! Aonde o tráfico de rede é capturado, e é explorado os seus protocolos, portas de destino, porta de origem, e permite fazer uma análise de todos os dados que estão trafegando na rede.
A 2º ferramenta, é a ferramenta conhecida pelo nome de John the Ripper, que é uma ferramenta utilizada para quebrar senhas.
E seu propósito consiste nisso: Encontrar senhas fracas, ou senhas com criptografia fracas em um determinado sistema, e expô-las. John The Ripper é uma ferramenta de pentest que pode ser utilizada para a segurança e conformidade, ela é famosa por expor senhas fracas de maneira muito rápida, e por isso é muito utilizada por iniciantes da área.
A 3º e última ferramenta que eu quero falar para vocês, é o BurpSuite, que é uma ferramenta ideal para testar aplicações web, essa ferramenta incorpora diversos outros tipos de recursos, tais como: Varredura de vulnerabilidades, serviço de injeção de comando, BruteForce, entre diversos outros. Por essa razão, o BurpSuite é muito utilizado por profissionais responsáveis pela segurança de aplicações web. Por ser desenvolvido em Java, ele é compatível com todas as plataformas: Windows, Mac OS, Linux e etc.
Lembrando sempre que essas ferramentas só devem ser utilizadas para fins profissionais e de estudo.