Pentest na prática: overview das 7 etapas de um teste de invasão

Entenda como um pentest é realizado na prática e explore as 7 etapas de execução definidas pelo Penetration Testing Execution Standard (PTES).

27 de Agosto 2024 | 18:10

Aprox. 32 minutos de leitura.


O Penetration Testing Execution Standard (PTES) define um framework abrangente para a realização de pentests, estruturando o processo em sete etapas fundamentais. 

Essas fases cobrem todos os aspectos críticos de um teste de invasão, desde a comunicação inicial e a definição dos objetivos do teste até as fases de exploração e pós-exploração. 

Neste artigo, examinaremos cada uma dessas etapas, explorando as principais práticas e metodologias que garantem a eficácia de um teste de penetração. 

Compreender essas fases é essencial para maximizar os benefícios dos testes realizados e assegurar a segurança cibernética das organizações.

1ª Fase do pentest: Pré-engajamento

A fase de pré-engajamento é fundamental para garantir a eficácia e eficiência de um pentest. 

Durante esta etapa, é essencial preparar o terreno para uma análise detalhada que ajude a identificar riscos comerciais reais. 

É crucial que todas as questões pertinentes sejam abordadas e que o escopo do teste esteja bem definido, com a flexibilidade necessária para eventuais ajustes.

Definição do escopo

Definir o escopo é uma das etapas mais importantes, porém frequentemente negligenciadas, de um pentest. 

Enquanto há muita literatura sobre as ferramentas e técnicas para a realização do teste, a preparação anterior é muitas vezes deixada de lado. 

Uma definição inadequada do escopo pode resultar em expansão inesperada do trabalho, insatisfação do cliente e problemas legais.

O escopo deve definir claramente o que será testado e como o teste será conduzido. 

É vital que os testadores especifiquem como o tempo será alocado durante o processo. 

Um erro comum é aplicar uma estrutura de custos linear, o que pode não refletir a complexidade real do trabalho.

Por isso, é fundamental que a variação nos custos reflita a carga de trabalho real para evitar que a empresa ofereça um trabalho incompleto.

Além de garantir uma estrutura de preços justa, o testador deve ajudar o cliente a definir suas necessidades e expectativas. 

É comum que o cliente não saiba exatamente o que precisa ser testado ou como comunicar suas expectativas. 

Cabe ao testador orientar o cliente, esclarecendo as diferenças entre os tipos de testes, como a distinção entre um teste detalhado de um único aplicativo e um teste mais abrangente envolvendo múltiplos IPs.

Reunião de escopo

A reunião de escopo geralmente acontece após a assinatura do contrato, embora alguns detalhes possam ser discutidos anteriormente. 

É recomendável assinar um acordo de confidencialidade antes de abordar os aspectos detalhados do escopo. 

Esta reunião deve se concentrar em discutir o que será testado, deixando de lado temas como regras de engajamento e custos, que devem ser tratados separadamente para evitar confusão.

Durante a reunião de escopo, é importante validar as suposições e definir claramente quais intervalos de IPs estão incluídos no teste. 

Pode haver resistência por parte do cliente em especificar esses detalhes, na crença de que o testador deve descobrir a rede por conta própria. 

No entanto, para evitar problemas legais, o testador deve explicar a importância de uma definição precisa do escopo.

Além disso, é necessário identificar as localizações dos sistemas alvo, já que as leis e regulamentações variam entre regiões e podem impactar o teste.

A importância dos questionários

Durante a comunicação inicial com o cliente, é importante fazer várias perguntas para definir corretamente o escopo do pentest. 

Essas perguntas têm o objetivo de entender melhor o que o cliente espera obter do teste e quais aspectos específicos devem ser avaliados. 

Para uma visão mais detalhada, confira as perguntas frequentes nos principais tipos de testes aqui.

2ª Fase do pentest: Coleta de informações 

A etapa de coleta de informações é crucial para o sucesso das fases subsequentes de avaliação de vulnerabilidades e exploração. 

Esta fase visa reunir o máximo de dados possível sobre o alvo, o que possibilita ao pentester identificar e explorar diversos vetores de ataque.

O que é coleta de informações?

A coleta de informações envolve o reconhecimento detalhado de um alvo para reunir dados úteis que serão empregados nas fases subsequentes. 

Esta coleta pode incluir dados sobre aspectos físicos, eletrônicos e humanos relacionados ao alvo. 

Um método amplamente utilizado nesta fase é a Inteligência de Fonte Aberta (OSINT), que refere-se à obtenção e análise de informações provenientes de fontes públicas.

O objetivo é transformar esses dados em inteligência prática que possa guiar as ações durante o pentest.

Por que realizar coleta de informações?

A coleta de OSINT é essencial para identificar possíveis pontos de entrada na organização alvo. 

Esses pontos podem variar desde vulnerabilidades físicas e eletrônicas até aspectos relacionados ao comportamento humano.

Muitas empresas e seus funcionários não são plenamente conscientes de como as informações que compartilham publicamente podem ser usadas por atacantes para comprometer a segurança. 

Portanto, realizar uma coleta minuciosa pode revelar brechas que poderiam ser exploradas em ataques futuros.

Seleção do alvo

Identificação e nomeação do alvo

Organizações frequentemente possuem múltiplos Domínios de Topo de Nível (TDLs) e empresas auxiliares, que podem não ter sido totalmente identificados durante a fase inicial.

Portanto, na fase de coleta de informações, é fundamental identificar e nomear corretamente todos os alvos relevantes para garantir que o teste de invasão abranja todas as possíveis áreas de interesse.

Tempo disponível para o teste

O tempo disponível para o teste impacta diretamente a profundidade da coleta de informações. 

Em testes mais longos, que podem durar de dois a três meses, é possível realizar uma investigação aprofundada de cada unidade de negócios e pessoal da organização. 

Em testes mais curtos, o foco deve ser mais específico, como analisar um aplicativo web sem a necessidade de investigar todos os detalhes financeiros da empresa.

Objetivo final do teste

Cada pentest tem um objetivo final, geralmente um ativo ou processo crítico para a organização. 

Durante a coleta de informações, é crucial concentrar-se nos elementos que rodeiam esse objetivo final, incluindo tecnologias de suporte, terceiros e pessoal relevante. 

Focar nos ativos críticos assegura que a coleta de informações menos relevante seja minimizada, otimizando o processo de análise e evitando distrações que possam interferir no sucesso do teste.

3ª Fase do pentest: Modelagem de ameaças

A etapa de modelagem de ameaças é uma fase crucial em qualquer teste de invasão, pois fornece a base para a identificação e avaliação dos riscos associados a diferentes ativos e ameaças. 

Embora o PTES não prescreva um modelo específico de modelagem de ameaças, ele estabelece que o modelo utilizado seja consistente e aplicável, permitindo a representação adequada de ameaças e suas capacidades em relação à organização testada.

O que é modelagem de ameaças?

Modelagem de ameaças envolve a criação de um modelo detalhado que define e analisa as ameaças potenciais, suas capacidades, e o impacto que podem ter sobre a organização. 

Este processo é fundamental para entender quais são os riscos mais significativos e como eles podem impactar os ativos críticos da organização. 

A modelagem não apenas identifica quais ameaças são mais relevantes, mas também avalia a motivação e a capacidade dos atacantes, bem como os impactos potenciais de uma violação.

Componentes da modelagem de ameaças

A modelagem de ameaças tradicionalmente foca em dois elementos principais: ativos e atacantes.

  1. Ativos: são os recursos críticos da organização, incluindo ativos de negócios e processos de negócios. Identificar e categorizar esses ativos é fundamental para entender quais são os mais valiosos e, portanto, quais precisam de mais proteção;
  2. Atacantes: inclui as comunidades de ameaças e suas capacidades técnicas. Cada comunidade de ameaças pode ter diferentes motivações e habilidades técnicas, o que influencia o tipo de ataque que pode ser realizado. Além disso, deve-se considerar a motivação dos atacantes e o valor que eles atribuem aos ativos da organização. Isso ajuda a determinar quais ameaças são mais prováveis e quais são os métodos que os atacantes podem usar.

Processo de modelagem de ameaças

  1. Recolher documentação relevante: a primeira etapa da modelagem é coletar toda a documentação disponível que possa fornecer informações sobre a organização e seus ativos. Isso pode incluir documentação técnica, políticas de segurança, e informações sobre a arquitetura de TI;
  2. Identificar e categorizar ativos: em seguida, é necessário identificar e classificar os ativos primários e secundários da organização. Ativos primários são aqueles considerados críticos para as operações da organização, enquanto os secundários podem incluir recursos que, embora menos críticos, ainda são importantes;
  3. Identificar e categorizar ameaças e comunidades de ameaças: identificar quais comunidades de ameaças são relevantes para a organização e entender suas capacidades técnicas é crucial. Isso envolve uma análise de quais tipos de atacantes podem ser mais prováveis e quais métodos eles poderiam usar para comprometer os ativos;
  4. Mapear comunidades de ameaças contra ativos: finalmente, é necessário mapear as comunidades de ameaças contra os ativos identificados. Isso ajuda a entender como cada ameaça pode impactar os ativos e qual a probabilidade de um ataque bem-sucedido.

4ª Fase do pentest: Análise de vulnerabilidades

A etapa de análise de vulnerabilidades visa identificar e avaliar falhas em sistemas e aplicações que podem ser exploradas por um atacante. 

Essas falhas podem variar desde configurações incorretas de sistemas e serviços até vulnerabilidades no design de aplicações. 

A eficácia desta análise depende da definição adequada do escopo do teste, abrangendo a profundidade e a extensão da análise para atender aos objetivos estabelecidos.

Definição do escopo

Antes de iniciar a análise de vulnerabilidades, é crucial definir claramente o escopo do teste. 

Isso envolve determinar a profundidade e a abrangência da análise para assegurar que os objetivos do teste sejam alcançados. 

A profundidade do teste pode variar de uma simples verificação de um componente específico, como uma ferramenta de avaliação, até uma análise mais complexa que inclui a validação de medidas de mitigação. 

A profundidade deve ser validada para garantir que o teste cubra todas as áreas necessárias e produza resultados que atendam às expectativas.

A abrangência do teste inclui redes-alvo, segmentos, hosts e aplicações. 

Um teste pode se limitar a encontrar vulnerabilidades em um único sistema ou se estender a múltiplos hosts dentro de um inventário. 

A abrangência também deve ser validada para garantir que todos os componentes relevantes foram testados e que o escopo do teste foi adequadamente cumprido.

Métodos de teste

A análise de vulnerabilidades pode ser realizada através de métodos ativos e passivos, cada um com suas técnicas e ferramentas específicas.

Métodos ativos

  • Automatizado: utiliza software para interagir com o alvo, examinar respostas e identificar vulnerabilidades. Ferramentas automatizadas podem realizar varreduras de portas, identificar serviços e capturar banners de forma eficiente;
  • Escanners de vulnerabilidades de rede e protocolos específicos: detectam vulnerabilidades em protocolos de rede e serviços específicos. Ferramentas como war dialing podem identificar fraquezas em linhas telefônicas usadas para acesso fora da banda, enquanto scanners de VoIP analisam a segurança das infraestruturas de Voz sobre IP;
  • Escanners de aplicações web: realizam um rastreamento dos sites e aplicações para identificar falhas, como injeções SQL ou erros de exposição de dados. Técnicas como listagem de diretórios e força bruta ajudam a descobrir diretórios ocultos e informações sensíveis;
  • Captura de banner: permite conectar-se a uma porta específica e examinar os dados retornados para identificar o serviço ou aplicação vinculada àquela porta. Informações como o nome da aplicação ou a versão do software podem ser extraídas e analisadas para identificar vulnerabilidades conhecidas.

Métodos passivos

  • Análise de metadados: possibilita a revisão de dados descritivos associados a arquivos, como autor, empresa e datas de modificação. Esses metadados podem revelar informações sensíveis, como endereços IP internos e caminhos para servidores, que podem ser exploradas por atacantes;
  • Monitoramento de tráfego: captura dados de uma rede para análise offline. Técnicas como overflow de cache ARP/MAC e Etherleak podem expor informações sensíveis da rede, enquanto a análise de clusters e balanceadores de carga mal configurados pode revelar dados adicionais.

Vantagens da combinação de métodos

Durante a análise de vulnerabilidades, é importante considerar a combinação de métodos automatizados e manuais para garantir a precisão dos resultados. 

A automação pode economizar tempo e recursos, mas a validação manual é essencial para verificar resultados e identificar fraquezas que podem não ser capturadas por ferramentas automatizadas.

5ª Fase do pentest: Exploração

A etapa de exploração em um pentest é crucial para determinar como um atacante poderia comprometer sistemas ao explorar vulnerabilidades identificadas. 

O objetivo é obter acesso aos ativos mais valiosos da organização e causar o máximo impacto. 

O pentester foca nos alvos críticos, planejando ataques que superem as defesas existentes com o vetor de ataque mais eficaz. 

O sucesso depende de avaliar corretamente as contramedidas e executar os ataques com precisão.

Contramedidas e técnicas de evasão

Durante a exploração, contramedidas como sistemas de prevenção de intrusões baseados em host (HIPS), firewalls de aplicações web (WAF) e tecnologias antivírus podem dificultar os ataques. 

Para contornar essas defesas, técnicas como ofuscação de código, empacotamento e criptografia são usadas para mascarar o código malicioso e evitar a detecção.

  • Codificação: reorganiza e ofusca dados, tornando o código menos perceptível;
  • Empacotamento: comprime e oculta o código dentro de um pacote, reduzindo a probabilidade de detecção;
  • Criptografia: esconde o código até que seja necessário, revelando-o apenas na memória quando pronto para execução..

Ataques de precisão e exploração personalizada

A exploração deve ser precisa e adaptada ao ambiente específico. 

Cada cenário de ataque requer uma abordagem personalizada, que pode incluir a modificação de exploits existentes ou o desenvolvimento de novos, dependendo das tecnologias e sistemas em uso. 

As técnicas utilizadas podem incluir:

  • Exploits customizados: modificações em exploits existentes para adequá-los a versões específicas de sistemas operacionais ou aplicações;
  • Exploração de dia zero: como último recurso, envolve pesquisa e engenharia reversa para descobrir e explorar vulnerabilidades desconhecidas.

Fuzzing e análise de código-fonte

Se vulnerabilidades não forem identificadas nas fases anteriores, técnicas como fuzzing e análise de código-fonte podem ser empregadas para descobrir novas falhas. 

O fuzzing envolve enviar dados aleatórios a uma aplicação para detectar falhas, enquanto a análise de código-fonte pode revelar vulnerabilidades ainda não exploradas.

6ª Fase do pentest: Pós-exploração

O objetivo da etapa de pós-exploração é avaliar o valor da máquina comprometida e garantir controle contínuo sobre ela. 

O valor é determinado pela sensibilidade dos dados e pela utilidade da máquina para acessar outros sistemas. 

Métodos específicos são empregados para identificar dados sensíveis, configurações e relações na rede.

Regras de engajamento

As regras de engajamento asseguram que os sistemas do cliente não sofram riscos desnecessários pelas ações dos testadores e estabelecem o procedimento a ser seguido na fase de pós-exploração. As seguintes diretrizes são essenciais:

Orientações para proteger o cliente

  • Não modificar serviços críticos sem consentimento;
  • Documentar e reverter todas as mudanças;
  • Não incluir senhas no relatório final e criptografar todos os dados coletados.

Orientações para proteger o pentester 

  • Garantir que ações são autorizadas pelo cliente;
  • Alinhar políticas de segurança e leis aplicáveis;
  • Usar criptografia para dados do cliente;
  • Discutir procedimentos se comprometimentos anteriores forem encontrados;
  • Verificar leis sobre captura de áudio e vídeo.

Análise da infraestrutura

  • Configuração de rede: identificar interfaces de rede, roteamento, servidores DNS, entradas DNS em cache, servidores proxy e entradas ARP para priorizar redes e serviços para futuros ataques;
  • Serviços de rede: identificar serviços em escuta, conexões VPN, serviços de diretório e vizinhos para descobrir sistemas adicionais e suas interações.

Pillaging

O pillaging envolve obter informações relevantes dos hosts comprometidos para alcançar os objetivos definidos na fase de pré-avaliação. 

Dados como arquivos pessoais, informações de cartões de crédito e senhas são utilizados para obter acesso adicional à rede. 

Conhecimento sobre aplicativos comuns e software de servidor é crucial para identificar e acessar dados armazenados em diversos formatos e locais.

Programas e serviços instalados

  • Itens de inicialização: identificar aplicativos que são executados na inicialização do sistema ou no logon do usuário;
  • Serviços instalados: conhecer serviços de segurança, compartilhamentos de arquivos/impressoras, servidores de banco de dados, diretório, nomes e serviços de implantação;
  • Autoridade certificadora e outros serviços: identificar serviços de CA, servidores de gerenciamento de código-fonte, DHCP, virtualização, mensagens, monitoramento e gerenciamento, e sistemas de backup para acessar e gerenciar dados e credenciais.

Alvos de alto valor/perfil

Os alvos de alto valor ou perfil são identificados e expandidos a partir dos alvos detectados nas reuniões de pré-avaliação, analisando dados dos sistemas comprometidos e suas interações. 

Isso ajuda a medir o impacto potencial nos negócios e a integridade da infraestrutura e serviços do cliente.

Exfiltração de dados

  • Mapeamento de caminhos de exfiltração: criar um mapa dos possíveis caminhos de exfiltração, incluindo meios secundários e terciários;
  • Testando caminhos de exfiltração: exfiltrar dados conforme o mapeamento, alinhado ao escopo e políticas do cliente;
  • Medindo a força dos controles: avaliar se os controles para detectar e bloquear a saída de informações sensíveis funcionam e como a equipe de segurança do cliente responde a alertas.

Persistência

Instalar backdoors que exigem autenticação, criar contas alternativas com senhas complexas e garantir que o backdoor sobreviva a reinicializações.

Penetração adicional na infraestrutura

  • Ações a partir do sistema comprometido: carregar ferramentas, usar ferramentas locais, realizar varreduras de ARP e ping, enumerar DNS e serviços de diretório, realizar ataques de força bruta e explorar credenciais comprometidas;
  • Ações através do sistema comprometido: redirecionar portas, configurar proxies, estabelecer VPNs e explorar credenciais e chaves comprometidas.

Limpeza

Remover todos os arquivos e scripts do sistema comprometido, restaurar configurações ao estado original e excluir backdoors, rootkits e contas de usuário criadas durante o teste.

7ª Fase do pentest: Relatório 

A fase do relatório é crucial para comunicar os resultados de um pentest, sendo essencial para fornecer uma visão clara e objetiva dos objetivos, métodos e descobertas realizadas durante o teste. 

Um relatório bem estruturado não só documenta as falhas de segurança encontradas, mas também oferece uma visão geral das ações necessárias para mitigar riscos e melhorar a postura de segurança da organização. 

A seguir, apresentamos uma visão geral das principais seções que compõem um relatório de pentest e suas respectivas funções.

Resumo executivo

O resumo executivo é a primeira seção do relatório e tem como objetivo transmitir de forma concisa os objetivos do teste e as principais descobertas. 

Destinado a executivos e outros stakeholders que podem não estar familiarizados com os aspectos técnicos, esta seção deve cobrir:

  • Contexto: explicação do propósito do teste, incluindo detalhes sobre os termos acordados na fase de pré-engajamento, como riscos, contramedidas e objetivos do teste. Deve esclarecer o escopo do teste e a importância dos sistemas avaliados;
  • Postura geral: avaliação da eficácia do teste e a capacidade do pentester de atingir os objetivos definidos, destacando problemas sistêmicos identificados e o impacto potencial para o negócio;
  • Classificação/perfil de risco: apresentação da classificação geral de risco, explicando a metodologia utilizada para determinar a pontuação e como os diferentes métodos, como FAIR e DREAD, foram aplicados.

Conclusões gerais

Esta seção resume os problemas encontrados durante o pentest em um formato básico e estatístico. Deve incluir:

  • Métricas relevantes: apresentar gráficos dos alvos testados, resultados dos testes, processos e métricas mais importantes;
  • Causas dos problemas: descrever as causas dos problemas identificados e, se definido na pré-avaliação, incluir métricas sobre a eficácia das contramedidas existentes.

Resumo das recomendações

O resumo das recomendações oferece uma visão geral das ações necessárias para corrigir as vulnerabilidades identificadas. Esta seção deve:

  • Fornecer diretrizes para resolução: apresentar as tarefas necessárias para resolver os riscos e o esforço geral necessário para implementar as correções;
  • Priorizar as ações: identificar a ordem de prioridade para a implementação das recomendações, considerando a gravidade das vulnerabilidades e o impacto potencial.

Roteiro estratégico

O roteiro estratégico é uma parte fundamental do relatório que detalha um plano de ação para a remediação das vulnerabilidades encontradas:

  • Plano prioritário: incluir um plano detalhado para a correção dos itens inseguros, alinhado aos objetivos de negócios e ao impacto potencial das falhas identificadas;
  • Mapeamento das ações: dividir o plano em objetivos e etapas baseadas em tempo, criando um caminho de ação a ser seguido em diferentes incrementos.

Para obter mais detalhes sobre como um relatório técnico deve ser elaborado de forma a comunicar de maneira eficaz os aspectos técnicos e indicadores-chave de sucesso do teste, clique aqui.

Conclusão

O Penetration Testing Execution Standard (PTES) oferece uma estrutura robusta e bem articulada para a execução de pentests, garantindo que todas as etapas críticas sejam abordadas de maneira sistemática e eficaz. 

A compreensão aprofundada desse processo por gestores e profissionais de cibersegurança fomenta uma cultura de segurança proativa, contribuindo para a resiliência cibernética das organizações.

Identificar e mitigar riscos antes que sejam explorados por agentes mal-intencionados é uma prioridade crucial para qualquer organização que deseja se manter segura em um ambiente digital cada vez mais ameaçador. 

Se a sua organização busca fortalecer suas defesas, a Diazero Security está aqui para ajudar.

Nossa equipe é altamente capacitada na execução de testes de invasão, utilizando as melhores práticas e metodologias para identificar vulnerabilidades e sugerir as melhores estratégias de mitigação. 

Conte com a Diazero para proteger seus ativos digitais e garantir a continuidade dos seus negócios em um cenário de ameaças em constante evolução.


CONTEÚDOS RELACIONADOS

Acessar
19 de Janeiro 2024 Segurança Segurança

Como o Google Cloud Platform garante a segurança na nuvem?

Saiba como o Google Cloud Platform oferece recursos para desenvolver e gerenciar aplicativos na nuvem com flexibilidade e segurança.

Acessar
22 de Dezembro 2023 Segurança Segurança

Backups de rotina: uma estratégia essencial para a segurança empresarial

Descubra como backups de rotina protegem negócios contra perdas de dados, garantindo continuidade e confiança no mercado.