O pentest, ou teste de intrusão, é uma prática essencial para avaliar a segurança de sistemas e redes. No entanto, para que um pentest seja eficaz e legal, é necessário um planejamento cuidadoso, aprovação formal, documentação detalhada e uma definição clara do que está fora de escopo. Nesta aula, vamos nos aprofundar nesses quatro pilares, que formam a base de qualquer teste de invasão profissional.

Entender esses elementos é crucial não apenas para a execução técnica, mas também para evitar problemas legais e éticos. Um pentest mal planejado pode causar danos operacionais, violar leis e comprometer a confiança do cliente. Portanto, vamos explorar cada um desses aspectos com profundidade, fornecendo exemplos práticos e diretrizes claras.

Planning

O planejamento é a primeira e uma das fases mais importantes de um pentest. É aqui que se define o objetivo do teste, o escopo, os recursos necessários, o cronograma e as regras de engajamento. Um bom planejamento garante que o teste seja conduzido de forma controlada e que todos os envolvidos estejam alinhados.

Durante o planejamento, é essencial responder a perguntas como: Qual é o objetivo do pentest? Quais sistemas, redes ou aplicações serão testados? Que tipo de teste será realizado (caixa preta, branca ou cinza)? Quais técnicas serão permitidas? Qual é a janela de teste? Quais são os contatos de emergência? Essas respostas formarão a base do contrato e do roteiro do teste.

Um exemplo de planejamento pode incluir a definição de que o teste será realizado apenas em horário comercial, para minimizar o impacto, e que técnicas de engenharia social não serão utilizadas. Também é importante definir métricas de sucesso, como a quantidade de vulnerabilidades críticas encontradas ou a resistência a ataques simulados.

Exemplo de itens de planejamento:
- Escopo: aplicação web interna (https://app.exemplo.com)
- Tipo de teste: caixa preta
- Janela de teste: 2 semanas, das 9h às 18h
- Contato de emergência: equipe de segurança (sec@exemplo.com)
- Regras: sem DoS, sem engenharia social, sem acesso físico

Approval

Obter aprovação formal é um requisito legal e ético para qualquer pentest. Isso significa que o proprietário do sistema ou a pessoa autorizada deve assinar um documento de autorização, geralmente chamado de 'Termo de Autorização para Testes de Invasão' ou 'Acordo de Teste'. Esse documento especifica o escopo, as limitações e as responsabilidades de ambas as partes.

A aprovação deve ser obtida por escrito, antes de qualquer atividade de teste. Isso protege o pentester e a empresa de possíveis ações legais, pois demonstra que o teste foi realizado com consentimento. Além disso, a aprovação deve ser específica para o período e os sistemas definidos; autorizações genéricas ou verbais não são suficientes.

Um bom processo de aprovação inclui a revisão do contrato por um advogado, a definição de cláusulas de confidencialidade e a identificação de pessoas autorizadas a dar a aprovação. Por exemplo, se uma empresa terceirizada for contratada para testar a segurança de um banco, o banco deve assinar o documento, e não apenas o gerente de TI.

Exemplo de cláusulas de um termo de aprovação:
- Autorizo a empresa 'SegurançaMax' a realizar testes de intrusão nos sistemas listados no Anexo A.
- O teste será realizado entre 01/03/2025 e 15/03/2025.
- Não é permitido o uso de ataques de negação de serviço.
- Em caso de incidente crítico, o contato é o Sr. João (joao@exemplo.com).
- Este termo tem validade de 30 dias e não pode ser prorrogado sem novo acordo.

Documentation

A documentação é vital em todas as fases do pentest, pois fornece evidências, facilita a comunicação e serve como base para o relatório final. Ela inclui desde os primeiros rascunhos do escopo até os logs de cada ação realizada. Uma boa documentação deve ser detalhada, cronológica e armazenada de forma segura.

Existem vários tipos de documentos: o contrato de autorização, o plano de teste, os registros de descobertas, os logs de atividades, e o relatório executivo e técnico. Cada um tem um propósito específico. Por exemplo, os logs de atividades são essenciais para reconstruir o que foi feito, caso haja disputas ou incidentes inesperados.

Além disso, a documentação deve ser tratada como confidencial e protegida com criptografia e controle de acesso. Após a conclusão do pentest, os documentos devem ser arquivados por um período definido, conforme políticas da empresa ou requisitos legais. Uma prática comum é usar ferramentas de gerenciamento de projetos e de anotações, como Jira, Confluence ou até mesmo um repositório Git privado.

Exemplo de estrutura de documentação:
- /contratos/termo_aprovacao.pdf
- /planejamento/plano_teste.md
- /logs/atividades_2025-03-01.log
- /descobertas/vulnerabilidades.md
- /relatorios/relatorio_final.docx

Out-of-scope

Definir o que está fora de escopo é tão importante quanto definir o que está dentro. Sistemas fora de escopo podem incluir sistemas de produção críticos, redes de terceiros, dados de clientes reais, ou serviços que não foram autorizados. O objetivo é evitar danos colaterais e garantir que o teste não viole a lei ou cause interrupções.

É comum que o escopo seja limitado a um ambiente de homologação ou a um conjunto específico de IPs. Tudo o que não estiver explicitamente listado no contrato deve ser considerado fora de escopo. O pentester deve respeitar rigorosamente esses limites, mesmo que encontre vulnerabilidades em sistemas fora do escopo; nesse caso, deve-se reportar a descoberta sem explorá-la.

Exemplos de itens fora de escopo: sistemas de terceiros hospedados em outros domínios, redes Wi-Fi de visitantes, bancos de dados de produção, e serviços de e-mail. Também pode incluir técnicas proibidas, como ataques de força bruta a contas de usuários reais, que podem violar a lei de proteção de dados.

Uma boa prática é criar uma lista explícita de itens fora de escopo e anexá-la ao contrato. Isso evita ambiguidades e garante que o cliente e o pentester tenham o mesmo entendimento. Durante o teste, se houver dúvida sobre algo, o pentester deve consultar o cliente antes de prosseguir.

Exemplo de lista de itens fora de escopo:
- Domínio: *.exemplo.com (exceto sub.dominio.exemplo.com)
- IPs: 192.168.1.0/24 (rede interna)
- Serviços: VPN, e-mail, banco de dados de produção
- Técnicas: engenharia social, ataques físicos, DoS

Boas Práticas e Observações Finais

Além dos quatro pilares, é importante seguir boas práticas durante todo o processo. Mantenha uma comunicação constante com o cliente, compartilhando atualizações periódicas. Use ferramentas adequadas e registre todas as ações. Ao final, entregue um relatório claro, com riscos e recomendações.

Lembre-se de que o pentest é uma atividade profissional que exige ética e responsabilidade. Nunca realize testes sem autorização, respeite o escopo e proteja os dados coletados. Com essas práticas, você contribuirá para um ambiente digital mais seguro.

Referências

Exercícios

  1. Descreva três itens que devem ser incluídos no planejamento de um pentest e explique por que cada um é importante.
  2. ✓ Resposta: Itens importantes: escopo (define o que será testado, evitando danos a sistemas não autorizados), cronograma (estabelece a janela de teste, minimizando impacto), e regras de engajamento (como técnicas permitidas, contatos de emergência, etc.). Esses itens garantem que o teste seja controlado e legal.
  3. Por que a aprovação formal é essencial para um pentest? Cite dois riscos de realizar um teste sem aprovação.
  4. ✓ Resposta: A aprovação formal é essencial porque garante que o teste é legal e ético, protegendo o pentester de acusações de invasão. Sem ela, os riscos incluem processos judiciais (por invasão de sistemas) e danos à reputação profissional.
  5. Liste três tipos de documentação que devem ser mantidos durante um pentest e descreva o conteúdo de cada um.
  6. ✓ Resposta: Tipos de documentação: 1) Contrato de autorização (contém escopo, datas, regras); 2) Logs de atividades (registro cronológico de ações e resultados); 3) Relatório final (resumo executivo, descobertas, riscos e recomendações).
  7. O que significa 'out-of-scope' e por que é importante defini-lo? Dê um exemplo de item que geralmente é colocado fora de escopo.
  8. ✓ Resposta: 'Out-of-scope' refere-se a sistemas ou técnicas que não estão autorizados para teste. É importante para evitar danos e problemas legais. Exemplo: sistemas de produção de terceiros, redes de clientes reais, ataques de negação de serviço.
  9. Imagine que você está planejando um pentest para uma aplicação web. Escreva um parágrafo descrevendo como você definiria o escopo, a aprovação e a documentação para esse teste.
  10. ✓ Resposta: Para definir o escopo, eu listaria os domínios e endpoints da aplicação, excluindo ambientes de produção e dados reais. Em relação à aprovação, obteria um termo assinado pelo cliente com detalhes do teste, incluindo datas e regras. A documentação incluiria o plano de teste, logs de execução e um relatório final com vulnerabilidades encontradas.