Varredura
O Ogma inclui varreduras passiva e ativa. A varredura passiva analisa o tráfego capturado. A varredura ativa envia requisições modificadas e valida achados com base no comportamento das respostas, nos tempos, na reflexão e na comparação com uma referência.
Varredura passiva
A varredura passiva avalia entradas HTTP capturadas sem enviar tráfego novo.
Ela detecta categorias como:
- Divulgação de erros de SQL, NoSQL, LDAP, templates, desserialização e XML.
- Cabeçalhos de segurança ausentes ou fracos.
- Problemas nas flags de cookies.
- Configurações incorretas de CORS.
- Segredos, chaves privadas, dados de contas de serviço, webhooks e tokens expostos.
- Controle de versão, configurações, documentação de API ou arquivos sensíveis expostos.
- Problemas de JWT como o algoritmo
none, prazo de expiração longo e uso de HMAC. - Respostas lentas e métodos HTTP perigosos.
Os achados passivos são úteis para triagem, mas ainda exigem revisão. Achados sobre cabeçalhos e políticas geralmente dependem do contexto da aplicação.
Execução da análise passiva
- Capture tráfego.
- Abra Utilitários > Varredura.
- Selecione Varredura passiva.
- Clique em Verificar todo o histórico.
- Revise os achados criados em Achados.
As regras passivas personalizadas são configuradas em Configurações > Varredura.
Varredura ativa
A varredura ativa injeta payloads em locais candidatos da requisição e valida a resposta do alvo.
Famílias de verificações implementadas:
| Verificação | Comportamento de confirmação |
|---|---|
| Injeção SQL | Procura erros SQL ou um atraso repetível acima da referência medida para payloads baseados em tempo. |
| XSS refletido | Exige a reflexão do payload em uma resposta HTML sem a codificação esperada. |
| Travessia de diretórios / LFI | Exige indicadores de conteúdo de arquivos que não estavam presentes na resposta de referência. |
| Injeção de comandos do sistema operacional | Exige saída de comandos ou um atraso repetível acima da referência medida para payloads baseados em tempo. |
| SSTI | Usa payloads de operações matemáticas determinísticas em templates e exige o resultado calculado na resposta. |
| SSRF | Exige evidências de metadados ou do banner de um serviço a partir de payloads de URL injetados. |
| Redirecionamento aberto | Exige uma resposta de redirecionamento que aponte para o domínio externo injetado. |
A varredura deliberadamente não trata uma resposta genérica 200 OK como prova de uma vulnerabilidade.
Verificações ainda não implementadas
A lista de verificações ativas pode incluir verificações marcadas como ainda não implementadas. Elas ficam visíveis para esclarecer o planejamento de desenvolvimento, mas não criam achados. No backend atual, XXE e upload inseguro não são confirmados automaticamente sem verificação fora de banda ou específica da aplicação.
Varredura ativa de todo o histórico
Varredura ativa de todo o histórico testa requisições capturadas recentemente, injetando payloads em:
- Parâmetros de consulta.
- Parâmetros do corpo de formulários.
- Valores JSON.
- Segmentos de caminho.
- Cabeçalhos selecionados quando habilitados.
Use o escopo antes da varredura ativa para manter o tráfego e os resultados focados no alvo.
Fluxo de trabalho recomendado:
- Defina e ative o escopo.
- Capture tráfego representativo do alvo.
- Comece pela análise passiva.
- Execute varreduras ativas em requisições selecionadas antes de usar Varredura ativa de todo o histórico.
- Revise as requisições de prova e as evidências de resposta em Achados.
- Remova os falsos positivos em vez de relatar os resultados brutos da varredura.
Qualidade das evidências
Um achado de varredura de alta qualidade deve responder:
- Qual parâmetro ou entrada foi testado?
- Qual payload foi usado?
- O que mudou na resposta?
- O comportamento estava ausente na resposta de referência?
- O problema é repetível?
- Existem evidências vinculadas no Ogma?
Quando as evidências forem incertas, reduza a confiança ou mantenha o resultado como nota até confirmá-lo.