Realizando um PenTest profissional, da proposta e elaboração do escopo ao relatório final

Por: Joas Antonio dos Santos 

Realizando um PenTest profissional, da proposta e elaboração do escopo ao relatório final. Ao realizar um PenTest com certeza um dos benefícios que ele traz é a visibilidade das suas brechas e aonde pode ser implementados os melhores controles.

O PenTest é um dos serviços geralmente mais demandado em segurança da informação, principalmente por empresas que estão buscando compliance em alguma lei ou padrão de segurança, como o PCI-DSS, LGPD, HIPAA, NIST, ISO 27001 e etc… Por conta disso, a demanda é bastante grande e com certeza as consultorias precisam entender a necessidade dos seus clientes antes de qualquer teste.

Como é realizado um PenTest Profissional?

Essa é uma dúvida que acabo vendo bastante, por isso estou fazendo esse artigo para auxiliar nessa questão, mas antes de tudo precisamos entender os benefícios que um PenTest traz para nossa organização ou cliente.

Benefícios de um PenTest:

Ao realizar um PenTest com certeza um dos benefícios que ele traz é a visibilidade das suas brechas e aonde pode ser implementados os melhores controles, por isso muitas empresas contratam um PenTest. Mas existem outros benefícios também, por exemplo: 

  • Identificar as potênciais ameaças e a probabilidade da sua organização sofrer um ataque;
  • Analisar o nível de aceitação de risco que sua organização possui;
  • Determinar os vetores de ataques mais perigosos e seus impactos para no negócio;
  • Analisar se os controles de segurança foram bem implementados;
  • Ficar compliances com regulamentações e padrões de mercado;
  • Validar a segurança de ativos críticos de um ambiente, exemplo: uma rede scada com uma maquina industrial nova;
  • Levantar as vulnerabilidades mais críticas do ambiente;
  • Verificar se os usuários estão bem treinados;

Esses são alguns dos benefícios que um PenTest traz para quem o contrata, não é apenas a sensação de segurança que conta, mas se todo investimento está sendo alocado de maneira correta e até mesmo verificar aonde pode ser mudado ou possuir mais atenção.

Tipos de PenTest:

Existem pelo menos 3 tipos de PenTest, sendo eles o White Box, Gray Box e o Black Box, para entender melhor o que cada um representa vou resumir:

White Box: O atacante possui conhecimento total do ambiente, seja os IPs que serão testados, os serviços que cada um possui, informações dos controles de segurança e etc. Um PenTest mais interno geralmente contratado para ter uma visão de como está implementado os controles de segurança.

Gray Box: É um teste que já tem limitações, pois o atacante vai possuir poucas informações referente ao alvo, muita das vezes só os IPs e os sites que serão testados ou um acesso de rede.

Black Box: Simulando um ataque de um cibercriminoso, o atacante não possui quase nenhuma informação a não ser o nome da empresa e a partir dai vai utilizar técnicas para coletar mais informações. Complementando existem subcategorias dentro do Black Box como Blind e Double Blind Black BoxBlind Black Box é quando o atacante simula um ataque real e não tem nenhuma informação e o Double Blind Black Box é quando algumas pessoas autorizadas sabem e geralmente contratado para validar os mecanismos de monitoramento e identificação e as pessoas envolvidas sendo o time de segurança, além do time de Resposta a Incidentes.

Proposta de PenTest e definindo o seu escopo:

Antes de tudo, realizar uma proposta não é apenas definir o valor que você vai cobrar em um PenTest e as horas que serão gastas nele, mas sim, à metodologia que você vai utilizar e principalmente entender a necessidade do cliente antes de tudo. Diferentemente de você fazer um PenTest sem trabalhar um escopo antes e sem um contrato, assim resultando em insatisfações após os testes de vulnerabilidades e consequentemente não alcançando o que o cliente desejava.

Uma pré-proposta e a definição de um escopo, com certeza é útil para entender a necessidade do cliente em relação aos testes de vulnerabilidades.

Ao submeter sua RFP (Request for Proposal) você não pode esquecer:

  • Sumário Executivo: Quais os benefícios, recursos apresentados na sua proposta;
  • Entrega do Projeto: Tipos do relatório e a metodologia usada nesses relatórios;
  • Preço da proposta: Por Hora? Por Projeto? Ou por máquina?
  • Informações do time: Qual conhecimento do time de PenTest, suas certificações e habilidades reconhecida;
  • Metodologia: A metodologia que você utiliza no PenTest, NIST? PTES? OSSTMM?
  • Referências: Caso você já tenha feito um PenTest anterior, é sempre bom ter referências;
  • Informações da sua empresa: As principais informações da sua empresa e suas legalidades;

Como desenvolver uma boa RFP?

  • Não minta nas informações;
  • Escreva de maneira clara e objetiva;
  • Envolva as pessoas certas no desenvolvimento da proposta, principalmente para auxilia-lo na elaboração;
  • Clausula de confidencialidade na sua proposta;
  • Faça revisões da sua RFP com bons profissionais;
  • Determine quem enviará a proposta e fornecerá a resposta da RFP;
  • Qual o método de gestão e governança do projeto;

Pode ser feito a listagem de alguns dos objetivos de um PenTest

  • Identificar os objetivos da organização;
  • Analisar o que à organização quer alcançar com os testes de vulnerabilidades, seja compliance ou entender seu nível de maturidade;
  • Saber as áreas mais sensiveis da sua organização, ou seja, mais propensa a ataques

Elaborando um Escopo de PenTest

Elaborar um escopo vai depender de diversos fatores, principalmente na sua RFP, ao qual você vai definir o tipo de PenTest que será utilizado, seja (Black, Gray ou White Box), sendo assim, você pode fazer um Assessment antes;

  • Quais as áreas da infraestrutura do cliente serão testadas? (Redes, Cloud, Aplicação)
  • Limitações do PenTest: O que posso ou não fazer? Que horas posso testar? Quais liberações são necessárias?
  • Elaborar um escopo em cima do objetivo do negócio do cliente;
  • As vulnerabilidades que podem ou não ser testada no caso de uma Aplicação ou um Ambiente mais crítico;
  • Nível de profundidade do seu PenTest, se é necessário escalar privilégios, exfiltrar algum dado como comprovação ou algo do tipo;
  • Quantos IPs serão testados? São IPs internos ou externos?
  • Além de questões que você pode fazer para o administrador de sistema, referentes a existencia de Backup, Monitoramento do ambiente, Quais as aplicações mais críticas, Tamanho da rede, sempre dependendo do tipo de teste à ser feito;
  • O formato do relatório;
  • Tempo dos testes de vulnerabilidades;
  • PCI, GDPR, HIPAA, NIST? O que você precisa estar compliance? Sendo um dos tipos de testes de vulnerabilidade;
  • Elementos permitidos e não permitidos em um PenTest

Negociando seu preço

Claro que o seu preço é algo à ser definido por você mesmo, porém sempre avalie algumas coisas antes:

  • Seu nível técnico em habilidades;
  • Reconhecimento no mercado;
  • Metodologia utilizada no PenTest;
  • Tipo de Teste a ser feito, seja um PenTest em Redes, Aplicação Web, Mobile, Cloud e etc;
  • Certificações e Habilidades comprovadas;
  • Método de cobrança, por hora, host ou projeto;
  • Calculas os gastos na hora de mandar o preço;

São alguns desses detalhes que contam na hora de definir o seu preço, lógico que o mais caro nem sempre será bom e o barato nunca será o melhor, cada profissional tem seu preço e competência, infelizmente tem muitos vendendo serviço de PenTest como se fosse uma formatação de computador, mas lembre-se, um PenTest é uma das maneiras de medir sua maturidade em segurança, nível de riscos e o número de vulnerabilidades no seu ambiente. E saiba diferenciar uma analise de vulnerabilidade de um PenTest, se alguém pedir para rodar um Scanner e falar que é PenTest, pode ter certeza que o prestador desconhece o processo por trás de um PenTest.

Cuidados em um PenTest

  • Não utilize ferramentas que podem ocasionar em negação de serviço;
  • Não utilize técnicas que podem comprometer ou deixar algum usuário desconfortável;
  • Não saia rodando qualquer exploit, script ou tool que você vê pela internet, para não comprometer o ambiente;
  • Não reinicie máquinas de usuários, apague arquivos ou salve arquivos, caso exfiltre algo defina no escopo uma flag;
  • E ai entra uma questão ética: Se você encontrar algo criminoso no computador de um usuário, o que você faz? Pode até ser um absurdo, mas ocorre infelizmente…
  • Não rode ferramentas que modifiquem o ambiente sem aprovação;

Enfim, esses são alguns cuidados na hora de você realizar um PenTest ao qual você deve se atentar.

E por fim dentro do contrato você deve colocar algumas informações, como por exemplo:

  • Clasula de não divulgação;
  • Objetivo do PenTest;
  • Confidencialidade da informação;
  • Relatório e Responsabilidade;

E não se esquecer do NDA, para garantir responsabilidades técnicas, termos de concentimento e claro, caso ocorra algum problema durante os testes a não responsabilidade.

Realizando um PenTest utilizando a metodologia PTES:

O PTES é uma das principais metodologias que eu particularmente utilizo, mas claro você tem outras como OSSTMM, NIST 800-15, ISAFF e OWASP (Sendo um documento técnico de vulnerabilidades ou metodologia cabe a visão de cada 1).

Não foi fornecido texto alternativo para esta imagem

Com base nessa metodologia os seus testes serão mais precisos e mais organizados, a minha recomendação é que sempre se baseie em uma metodologia para realizar seus PenTest, não ser algo descoordenado e bagunçado.

Na hora de realizar um PenTest é sempre bom que você tenha um kit de ferramentas que você confie e utilize frequentemente, pois é que nem eletricista, para mexer em um sistema elétrico ele tem suas próprias ferramentas que é testada e garante que não aja problemas na hora de fazer manutenção. E isso vale para nós, pois existem bastante exploits e ferramentas que podem conter alguma surpresinha e que acabe gerando dor de cabeça, então tome cuidado ao sair usando ferramenta pública.

Na hora de iniciar os testes, primeiramente garanta:

  • Coletou informações precisas;
  • Reunir o maior número de informações;
  • Utilize técnicas e métodos precisos para auxiliar você, principalmente ao ser reportado no relatório técnico, conter informações cruciais e como foi coletada;

Na hora de levantar informaçoes no ambiente é sempre bom ter cuidado com os Scannings e o barulho que um NMAP ou Nikto bem intrusivo pode gerar, pois assim pode ocasionar em graves problemas como a indisponibilidade do ambiente, além de pensar como um atacante, eliminar a possibilidade de ser bloqueado pelo FW (Firewall), por isso a enumeração e o Scanning é essêncial!

Quando for explorar uma brecha tome cuidado! Exemplo: MS17-010 (Eternalblue) se você encontar um Win7 e que pode dar como Vuln, dá uma olhada em qual arquitetura e situação o exploit trabalha, por que? Pode ocasionar em tela azul e dependendo do sistema pode estar rodando algo bem crítico e isso gerar uma dor de cabeça. Elimine a possibilidade de gerar um stress ou afetar o C.I.D (Confidencialidade, Integridade e Disponibilidade) no ambiente. Isso vale para outros exploits, e caso seja uma Aplicação web ou API é sempre bom ter cuidado quando testar para não gerar problemas com comunicação ou no servidor de aplicação, pois tem exploits que mudam alguma configuração e deixa aquilo aberto dando possibilidades para outros explorarem.

Busquem exploits em fontes confiaveis e caso você saiba programar é um bônus enorme e com certeza sua visão como atacante muda, sair das ferramentas e tentar abrir uma brecha você mesmo.

E lembre-se de organizar e printar as telas e salvar mesmo que sejam informações simples ou que pareça irrelevante, porém no report final você vai fazer a organização dos resultados.

A pós exploração tem que ser mais cuidadoso ainda para não afetar nada no sistema e deixar resquicios lá dentro, sempre apague os logs e os arquivos, pois tem casos reaisi em um PenTest profissional por esquecimento você acabar encontrado algum resquicio, seja um exploit local para escalar privilegíos ou até mesmo informações relevantes.

Escrevendo um bom relatório:

Por que temos que relatar algo? É óbvio que com um relatório você consegue ter uma prova de conceito mais concreta sobre os testes realizados no ambiente, porém existem outros motivos, como por exemplo:

  • Ajudar à equipe de Gestão ou a alta diretoria à realizar investimentos necessários para implementar os melhores mecanismos de proteção;
  • Dar suporte à equipe de segurança e de operação para solucionar os principais problemas de segurança no ambiente;
  • O Relatório serve como métrica para medir à maturidade do negócio daquela empresa e a sua importância com a segurança, além de medir o trabalho da equipe de segurança sobre a aplicação das melhores práticas de proteção;
  • Serve como uma prova dos testes realizados e de que tudo foi devidamente realizado sem fugir do escopo determinado;
  • E provê informações relevantes sobre os testes realizados no ambiente caso aja um incidente durante ou posteriormente, após os testes de vulnerabilidade;

Em resumo são esses alguns dos motivos, mas poderia citar milhares, pois documentar algo é um processo bastante importante na área de segurança da informação. Se você for contratar um serviço de PenTest, questione o prestador sobre o modelo de relatório e as metodologias utilizadas no teste, claro isso é definido no KICK-OFF ou antes mesmo, quem é mais comercial pode auxiliar nessa questão..

E claro, existe os tipos de relatórios que são desenvolvidos de acordo a necessidade da empresa e por quem será lido.

Tipos de relatórios

Existem diversos, porém os mais comuns são:

  • Relatório Executivo: Nesse relatório você tem o resumo dos testes, todo seu processo, tempo gasto e o que foi testado, além dos resultados que você obteve nesses testes e as recomendações também;
  • Relatório de Host: Esse geralmente é utilizado em PenTest ao qual o serviço é cobrado por Host ativo na rede, então no relatório você tem todos os detalhes do Host, sua função, seus serviços, suas vulnerabilidades e o resultado final;
  • Relatório do Lado Cliente: Nesse você dá os detalhes do que você levantou do lado cliente, ou seja, o que você consegue levantar realizando testes na perspectiva de um usuário, seja um exploit para versão da aplicação utilizada, detalhes de outros usuários, informações de sistemas comprometidos ou expostos e etc;
  • Relatório de Vulnerabilidades: Em resumo, você vai ter os detalhes de todas as vulnerabilidades encontradas no PenTest e as que são mais fáceis de explorar ou as mais dificeis;
  • Relatório Ativo: Por fim, esse é o relatório mais utilizado ao qual descreve todos os detalhes e informações das tarefas utilizadas em um PenTest;

Com base nesses relatórios, você mescla todos eles e faz o Report Final ou o Full Report que contém todos os detalhes necessários para que à equipe de segurança possa iniciar o processo de mudanças no ambiente e gerir todos os riscos.

Mas como fazer um bom relatório de PenTest? Essa é à dúvida de muitos, por isso vou tentar dar algumas dicas, mas antes, uma recomendação.

Primeiramente é necessário que você tenha um relatório de Linha de tempo antes, principalmente para definir o momento em que você inicia os testes, no caso, horário e data do terminal e de um relógio confiável, além das informações de hosts que você vai cutucar, pois qualquer incidente que ocorrer você não será responsável caso seja um servidor que você nem esteja mexendo no momento, pois já teve cases de colegas que ao realizarem os testes de vulnerabilidade em um servidor, ele caiu e infelizmente ter tido algumas dores de cabeça por não possuir o relatório de linha de tempo, mas depois provou-se ao contrário e o servidor caia direto.

Como fazer um bom relatório de PenTest?

  • Seja conciso e objetivo, não coloque informações técnicas em um relatório executivo, não é necessário, faça algo que até alguém leigo consiga entender a gravidade;
  • Em um relatório ativo ou um Full Report é recomendado que você escreva de uma forma profissional, sem achismo, mas sim certezas com base e fundamentos, lembre-se que uma vulnerabilidade simples pode custar milhões no futuro;
  • No relatório final é sempre bom ter Provas de Conceitos, ferramenta que foi utilizada para o teste, informações da vulnerabilidade encontrada, grau de risco, seu impacto e até mesmo até onde você consegue chegar;
  • Caso esteja no escopo, você deve justificar as recomendações utilizadas e as analises feitas para isso, pois uma correção pode ser que traga problemas, então ter uma fonte confiável deixa seu relatório com mais propriedade ainda, caso ainda não tenha um patche é sempre bom colocar informações do que pode ser feito para ir gerindo aquela vulnerabilidade e controlar seu risco. Geralmente você pode citar isso em uma apresentação executiva ou para equipe de segurança;
  • Informar os padrões e metodologias utilizadas nos seus testes, pois assim você consegue trazer a confiança do cliente quando você utiliza metodologias reconhecidas no mercado;
  • Sempre antes de fazer um relatório, faça o planejamento, colete e documente as informações que você vai adquirindo no processo de pentest, desde da fase inicial, escreva o seu relatório e por fim faça á revisão dele, seja no quesito ortografia ou até mesmo dos dados coletados. Um template seu é sempre bem vindo e essenciais, todos nós devemos ter, mas muita das vezes as coisas mudam de um cliente para o outro, por isso não seja genérico, trate seu cliente com exclusividade 😉
  • E claro, garanta a confidencialidade do seu relatório, seja enviado por um e-mail criptografado (PGP) ou até mesmo enviado por canais seguros, pois um relatório na mãos erradas, é que nem jogar gasolina em uma queima de pneus, só vai piorar!

Por fim, como planejar e revisar o meu relatório?

Planejando e Revisando seu relatório de PenTest

  • Determinar o objetivo principal do seu relatório de PenTest, dar um contexto, pois tendo um propósito principal você consegue revisar o seu relatório com informações relevantes;
  • Defina para quem será tal relatório antes de planejar, pense que cada um tem um grau diferente de compreensão, pois é óbvio que o Diretor não tem a mesma visão de um especialista em segurança, então sempre faça o seu planejamento pensando na audiência alvo;
  • Considere planejar o tempo do projeto de PenTest junto com o relatório, pois com todo o processo realizado você vai precisar ter um tempinho a mais para dar uma tratada na documentação para assim gerar um relatório legivel e agradável, exemplo são as certificações da Offensive Security e da eLearning Security tambem;
  • Por favor! Mantenha a confidencialidade do PenTest, não saia compartilhando nas redes sociais prints do seu terminal, isso além de ser anti-ético, desqualifica qualquer profissional na hora, sempre mantenha informações sensiveis em locais separados e de preferência criptografados com fácil recuperação;
  • Determine o formato fínal do relatório com o cliente, sempre de acordo com o que foi definido no inicio, antes de sair compartilhando alguma informação, tenha conscentimento legal da empresa para não ter futuras dor de cabeça;
  • Na hora da revisão é sempre bom ter perspectitivas de pessoas diferentes, por isso é sempre bom mais de um para ajudar no desenvolvimento dos seus relatórios;
  • Depois de revisar o relatórios é sempre bom salvar um cópia e guardar as mudanças feitas;
  • Prepare o formato do relatório final que o cliente deseja, seja no formato de documento ou de apresentação;
  • Coloque sempre à importância de um PenTest, seja para se adequar à um padrão como o PCI, mas também para proteger seu ambiente e medir o risco da sua organização;
  • E as recomendações da remediação ou é pesquisador pelo time de segurança da empresa, ou caso contrate seus serviços, você mesmo pesquisa e coloca no relatório;

Conclusão

Essa é algumas dicas que deixo para quem busca entrar nessa área e entender melhor todo processo de um PenTest.

E caso você queira aprender mais sobre esse mundo e desenvolver suas habilidades, em meu perfil tem diversos artigos, inclusive aproveitei dois que eu tinha feito para complementar esse aqui.

 

Desde já agradeço a atenção e por ler até aqui!

 

Por: Joas Antonio dos Santos Joas Antonio dos Santos

Security Awareness|Ethical Hacker|OWASP|Wireless Hacking|Cyber Security Consultant|Cyber Security Mentor|Article Writer|Offensive Security

 


 

Veja também:

Sobre mindsecblog 2399 Artigos
Blog patrocinado por MindSec Segurança e Tecnologia da Informação Ltda.

5 Trackbacks / Pingbacks

  1. Realizando um PenTest profissional, da proposta e elaboração do escopo ao relatório final – Neotel Segurança Digital
  2. Importância do aprendizado contínuo de cibersegurança e privacidade
  3. Falhas críticas colocam dispositivos Dell Wyse Thin Client em risco - Minuto da Segurança da Informação
  4. Uma lista de verificação de segurança cibernética para 2021
  5. Realizando um PenTest profissional, da proposta e elaboração do escopo ao relatório final - Blog da Neotel Segurança Digital

Deixe sua opinião!