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.
- 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;
- 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
- 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;
- 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;
- 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;
- 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.