Análisis
Ogma incluye escáneres pasivos y activos. El análisis pasivo examina el tráfico capturado. El análisis activo envía solicitudes modificadas y valida los hallazgos mediante el comportamiento de las respuestas, los tiempos, la reflexión y la comparación con una referencia.
Escáner pasivo
El escáner pasivo evalúa las entradas HTTP capturadas sin enviar tráfico nuevo.
Detecta categorías como:
- Divulgación de errores de SQL, NoSQL, LDAP, plantillas, deserialización y XML.
- Cabeceras de seguridad ausentes o débiles.
- Problemas con los indicadores de las cookies.
- Configuraciones incorrectas de CORS.
- Secretos, claves privadas, datos de cuentas de servicio, webhooks y tokens expuestos.
- Control de versiones, configuración, documentación de API o archivos sensibles expuestos.
- Problemas de JWT como el algoritmo
none, una caducidad lejana y el uso de HMAC. - Respuestas lentas y métodos HTTP peligrosos.
Los hallazgos pasivos son útiles para la clasificación inicial, pero requieren revisión. Los hallazgos sobre cabeceras y políticas suelen depender del contexto de la aplicación.
Ejecución del análisis pasivo
- Captura tráfico.
- Abre Utilidades > Escáner.
- Selecciona Escáner pasivo.
- Haz clic en Analizar todo el historial.
- Revisa los hallazgos creados en Hallazgos.
Las reglas pasivas personalizadas se configuran en Configuración > Escáner.
Escáner activo
El escáner activo inyecta payloads en ubicaciones candidatas de la solicitud y valida la respuesta del objetivo.
Familias de comprobaciones implementadas:
| Comprobación | Comportamiento de confirmación |
|---|---|
| Inyección SQL | Busca errores SQL o un retraso repetible por encima de la referencia medida para payloads basados en tiempo. |
| XSS reflejado | Requiere que el payload se refleje en una respuesta HTML sin la codificación esperada. |
| Traversal de rutas / LFI | Requiere indicadores de contenido de archivos que no estuvieran presentes en la respuesta de referencia. |
| Inyección de comandos del sistema operativo | Requiere salida de comandos o un retraso repetible por encima de la referencia medida para payloads basados en tiempo. |
| SSTI | Usa payloads con operaciones matemáticas deterministas de plantillas y requiere el resultado calculado en la respuesta. |
| SSRF | Requiere evidencias de metadatos o del banner de un servicio a partir de payloads de URL inyectados. |
| Redirección abierta | Requiere una respuesta de redirección que apunte al dominio externo inyectado. |
El escáner deliberadamente no considera una respuesta genérica 200 OK como prueba de una vulnerabilidad.
Comprobaciones sin implementar
La lista de comprobaciones activas puede incluir comprobaciones marcadas como sin implementar. Se muestran para aclarar la hoja de ruta, pero no crean hallazgos. En el backend actual, XXE y la carga insegura de archivos no se confirman automáticamente sin verificación fuera de banda o específica de la aplicación.
Analizar todo de forma activa
Analizar todo de forma activa prueba las solicitudes capturadas recientemente inyectando payloads en:
- Parámetros de consulta.
- Parámetros del cuerpo de formularios.
- Valores JSON.
- Segmentos de ruta.
- Cabeceras seleccionadas cuando están habilitadas.
Usa el alcance antes del análisis activo para mantener el tráfico y los resultados centrados en el objetivo.
Flujo de trabajo recomendado:
- Define y activa el alcance.
- Captura tráfico representativo del objetivo.
- Empieza con el análisis pasivo.
- Ejecuta análisis activos sobre solicitudes seleccionadas antes de usar Analizar todo de forma activa.
- Revisa las solicitudes de prueba y las evidencias de respuesta en Hallazgos.
- Elimina los falsos positivos en lugar de incluir los resultados sin revisar del escáner en el informe.
Calidad de las evidencias
Un hallazgo del escáner de calidad debe responder a estas preguntas:
- ¿Qué parámetro o entrada se probó?
- ¿Qué payload se usó?
- ¿Qué cambió en la respuesta?
- ¿Estaba ausente ese comportamiento en la respuesta de referencia?
- ¿Es repetible el problema?
- ¿Hay evidencias vinculadas en Ogma?
Cuando las evidencias no sean concluyentes, reduce la confianza o conserva el resultado como una nota hasta confirmarlo.