Pentest Checklist
Objetivo
Fornecer uma checklist abrangente para planejamento, execução e acompanhamento de testes de penetração. Garantir preparação adequada, escopo apropriado e remediação eficaz de vulnerabilidades descobertas.
Entradas/Pré-requisitos
- Objetivos comerciais claros para o teste
- Informações do ambiente alvo
- Restrições de orçamento e cronograma
- Contatos de stakeholders e autorização
- Acordos legais e documentos de escopo
Saídas/Entregas
- Escopo e objetivos do pentest definidos
- Ambiente de teste preparado
- Dados de monitoramento de segurança
- Relatório de achados de vulnerabilidades
- Plano de remediação e verificação
Fluxo de Trabalho Principal
Fase 1: Definição de Escopo
Definir Objetivos
- Esclarecer o propósito do teste - Determinar objetivos (encontrar vulnerabilidades, conformidade, garantia ao cliente)
- Validar a necessidade do pentest - Garantir que o teste de penetração é a solução correta
- Alinhar resultados com objetivos - Definir critérios de sucesso
Perguntas de Referência:
- Por que você está realizando este pentest?
- Que resultados específicos você espera?
- O que você fará com os achados?
Conhecer os Tipos de Teste
| Tipo | Objetivo | Escopo |
|---|---|---|
| Pentest Externo | Avaliar superfície de ataque externa | Sistemas públicos |
| Pentest Interno | Avaliar risco de ameaça interna | Rede interna |
| Aplicação Web | Encontrar vulnerabilidades da aplicação | Aplicações específicas |
| Engenharia Social | Testar segurança humana | Funcionários, processos |
| Red Team | Simulação completa de adversário | Organização inteira |
Enumerar Ameaças Prováveis
- Identificar áreas de alto risco - Onde danos poderiam ocorrer?
- Avaliar sensibilidade de dados - Que dados poderiam ser comprometidos?
- Revisar sistemas legados - Sistemas antigos frequentemente têm vulnerabilidades
- Mapear ativos críticos - Priorizar alvos de teste
Definir Escopo
- Listar sistemas em escopo - IPs, domínios, aplicações
- Definir itens fora de escopo - Sistemas a evitar
- Estabelecer limites de teste - Que técnicas são permitidas?
- Documentar exclusões - Sistemas de terceiros, dados de produção
Planejamento de Orçamento
| Fator | Consideração |
|---|---|
| Valor do Ativo | Valor maior = investimento maior |
| Complexidade | Mais sistemas = mais tempo |
| Profundidade Necessária | Teste minucioso custa mais |
| Valor da Reputação | Firmas renomadas custam mais |
Realidade do Orçamento:
- Pentests baratos frequentemente produzem resultados pobres
- Alinhe o orçamento com criticidade dos ativos
- Considere testes contínuos versus pontuais
Fase 2: Preparação do Ambiente
Preparar Ambiente de Teste
- Decisão produção versus staging - Determinar onde testar
- Estabelecer limites de teste - Sem DoS em produção
- Agendar janela de teste - Minimizar impacto nos negócios
- Criar contas de teste - Fornecer níveis apropriados de acesso
Opções de Ambiente:
Produção - Realista, mas arriscado
Staging - Mais seguro, mas pode diferir da produção
Clone - Ideal, mas uso intensivo de recursos
Executar Scans Preliminares
- Executar scanners de vulnerabilidade - Encontrar problemas conhecidos primeiro
- Corrigir vulnerabilidades óbvias - Não desperdiçar tempo do pentest
- Documentar problemas existentes - Compartilhar com testadores
Ferramentas de Pré-Scan Comuns:
# Scan de vulnerabilidade de rede
nmap -sV --script vuln TARGET
# Scan de vulnerabilidade web
nikto -h http://TARGET
Revisar Política de Segurança
- Verificar requisitos de conformidade - GDPR, PCI-DSS, HIPAA
- Documentar regras de manipulação de dados - Procedimentos de dados sensíveis
- Confirmar autorização legal - Obter permissão escrita
Notificar Provedor de Hosting
- Verificar políticas do provedor - Que testes são permitidos?
- Enviar solicitações de autorização - Requisitos AWS, Azure, GCP
- Documentar aprovações - Manter registros
Políticas de Provedor de Cloud:
- AWS: https://aws.amazon.com/security/penetration-testing/
- Azure: https://docs.microsoft.com/security/pentest
- GCP: https://cloud.google.com/security/overview
Congelar Desenvolvimentos
- Parar deployments durante o teste - Manter ambiente consistente
- Documentar versões atuais - Registrar estados dos sistemas
- Evitar patches críticos - A menos que emergência de segurança
Fase 3: Seleção de Especialistas
Encontrar Pentestadores Qualificados
- Buscar recomendações - Pedir a fontes confiáveis
- Verificar credenciais - OSCP, GPEN, CEH, CREST
- Verificar referências - Conversar com clientes anteriores
- Combinar expertise ao escopo - Especialistas em web, network, mobile
Critérios de Avaliação:
| Fator | Perguntas a Fazer |
|---|---|
| Experiência | Anos de atuação, projetos similares |
| Metodologia | OWASP, PTES, abordagem customizada |
| Relatórios | Exemplos de relatórios, nível de detalhamento |
| Comunicação | Disponibilidade, frequência de atualizações |
Definir Metodologia
- Selecionar padrão de teste - PTES, OWASP, NIST
- Determinar nível de acesso - Black box, gray box, white box
- Concordar em técnicas - Testes manuais versus automatizados
- Estabelecer cronograma de comunicação - Atualizações e escalação
Abordagens de Teste:
| Tipo | Nível de Acesso | Simula |
|---|---|---|
| Black Box | Sem informação | Atacante externo |
| Gray Box | Acesso parcial | Insider com acesso limitado |
| White Box | Acesso completo | Insider/auditoria detalhada |
Definir Formato de Relatório
- Revisar exemplos de relatórios - Garantir qualidade adequada
- Especificar seções necessárias - Resumo executivo, detalhes técnicos
- Solicitar saída legível por máquina - CSV, XML para rastreamento
- Concordar em ratings de risco - CVSS, escala customizada
O Relatório Deve Incluir:
- Resumo executivo para gestão
- Achados técnicos com evidências
- Ratings de risco e priorização
- Recomendações de remediação
- Orientação de reteste
Fase 4: Monitoramento
Implementar Monitoramento de Segurança
- Implementar IDS/IPS - Sistemas de detecção de intrusão
- Ativar logging - Trilhas de auditoria abrangentes
- Configurar SIEM - Análise centralizada de logs
- Configurar alertas - Notificações em tempo real
Ferramentas de Monitoramento:
# Verificar logs de segurança
tail -f /var/log/auth.log
tail -f /var/log/apache2/access.log
# Monitorar rede
tcpdump -i eth0 -w capture.pcap
Configurar Logging
- Centralizar logs - Agregar de todos os sistemas
- Estabelecer períodos de retenção - Manter logs para análise
- Ativar logging detalhado - Nível de aplicação e sistema
- Testar coleta de logs - Verificar todas as fontes funcionando
Logs-chave para Monitorar:
- Eventos de autenticação
- Erros de aplicação
- Conexões de rede
- Acesso a arquivos
- Mudanças de sistema
Monitorar Ferramentas de Exceção
- Rastrear taxas de erro - Picos incomuns indicam teste
- Informar equipe de operações - Distinguir teste de ataques
- Documentar baseline - Atividade normal versus pentest
Vigiar Ferramentas de Segurança
- Revisar alertas IDS - Separar pentest de ataques reais
- Monitorar logs WAF - Rastrear tentativas bloqueadas
- Verificar proteção de endpoint - Detecções de antivírus
Fase 5: Remediação
Garantir Backups
- Verificar integridade de backup - Testar restauração
- Documentar procedimentos de recuperação - Saber como restaurar
- Separar acesso a backup - Proteger de testes
Reservar Tempo de Remediação
- Alocar disponibilidade da equipe - Análise pós-pentest
- Agendar implementação de correções - Endereçar achados
- Planejar testes de verificação - Confirmar que correções funcionam
Política de Patch Durante Testes
- Geralmente evitar patching - Manter ambiente consistente
- Exceção para problemas críticos - Apenas emergências de segurança
- Comunicar mudanças - Informar pentestadores sobre alterações
Procedimento de Limpeza
- Remover artefatos de teste - Backdoors, scripts, arquivos
- Deletar contas de teste - Remover acesso do pentester
- Restaurar configurações - Retornar ao estado original
- Verificar limpeza completa - Auditar todas as mudanças
Agendar Próximo Pentest
- Determinar frequência - Anual, trimestral, após mudanças
- Considerar testes contínuos - Bug bounty, avaliações contínuas
- Orçar testes futuros - Planejar antecipadamente
Fatores de Frequência de Testes:
- Frequência de release
- Requisitos regulatórios
- Tolerância a riscos
- Severidade de achados anteriores
Referência Rápida
Checklist Pré-Pentest
□ Escopo definido e documentado
□ Autorização obtida
□ Ambiente preparado
□ Provedor de hosting notificado
□ Equipe informada
□ Monitoramento ativado
□ Backups verificados
Checklist Pós-Pentest
□ Relatório recebido e revisado
□ Achados priorizados
□ Remediação atribuída
□ Correções implementadas
□ Teste de verificação agendado
□ Ambiente limpo
□ Próximo teste agendado
Restrições
- Testes em produção carregam riscos inerentes
- Limitações orçamentárias afetam completude
- Restrições de tempo podem limitar cobertura
- Expertise do testador varia significativamente
- Achados se tornam obsoletos rapidamente
Exemplos
Exemplo 1: Definição Rápida de Escopo
**Alvo:** Aplicação web corporativa (app.company.com)
**Tipo:** Gray box pentest de aplicação web
**Duração:** 5 dias úteis
**Excluído:** Testes de DoS, acesso a banco de dados de produção
**Acesso:** Conta de usuário padrão fornecida
Exemplo 2: Configuração de Monitoramento
# Ativar logging abrangente
sudo systemctl restart rsyslog
sudo systemctl restart auditd
# Iniciar captura de pacotes
tcpdump -i eth0 -w /tmp/pentest_capture.pcap &
Resolução de Problemas
| Problema | Solução |
|---|---|
| Escopo se expandindo | Documentar e exigir aprovação de mudanças |
| Testes impactam produção | Agendar fora de horário, usar staging |
| Achados contestados | Fornecer evidências detalhadas, retestar |
| Remediação atrasada | Priorizar por risco, estabelecer prazos |
| Orçamento excedido | Definir escopo claro, contratos com preço fixo |