============================================================================== FALLA CRÍTICA EN KEYCLOAK PERMITE TOMAR CUENTAS SIN AUTENTICARSE ============================================================================== Fuente: https://www.vantis.cl/noticias/keycloak-cve-2026-18963-reset-credentials Publicado: 2026-09-10 (hora de Chile) Ambito: chile · Criticidad: critica Descargado: 2026-10-12 07:03 (hora de Chile) COMO USAR ESTE ARCHIVO ---------------------- La regla SIGMA es la canonica: es el formato neutral del que se derivan las demas. Si tu SIEM no aparece aca, convierte esa con pySigma. Las traducciones a motores concretos se incluyen por conveniencia y ESTAN SIN VALIDAR CONTRA TU MODELO DE DATOS. Revisa los nombres de tabla, indice y campo antes de ponerlas en produccion. Una regla que no dispara por un campo mal escrito es peor que no tener regla. QUE NECESITAS TENER LOGUEADO ---------------------------- · Keycloak admin events log (event_type, realmId, userId, ipAddress, time) · Keycloak server log / access log del endpoint /realms/{realm}/login-actions/reset-credentials · Logs de proxy inverso o WAF frente a Keycloak, si existe ============================================================================== REGLA 1 de 4 · SIGMA (canonica, neutral) Múltiples restablecimientos de contraseña en Keycloak desde el mismo origen (posible explotación CVE-2026-18963) ============================================================================== Requiere: Ingesta del event log de Keycloak (admin events con userEvents habilitado) en el índice/tabla usado por el SIEM. title: Multiples restablecimientos de contrasena en Keycloak desde el mismo origen id: b6e2f1a4-7c3d-4e9b-9a1f-2d6c8e4b7f31 status: experimental description: Detecta un volumen anomalo de eventos UPDATE_PASSWORD/RESET_PASSWORD en Keycloak asociados a la misma IP de origen en una ventana corta, patron asociado a la explotacion de CVE-2026-18963. references: - https://csirt.gob.cl/alertas/AVC26-00732/ logsource: product: keycloak service: events detection: selection: event_type: - UPDATE_PASSWORD - RESET_PASSWORD timeframe: 5m condition: selection | count() by ipAddress > 3 falsepositives: - Administradores realizando restablecimientos masivos legitimos (ej. rotacion programada post-incidente) - Herramientas de aprovisionamiento automatizado de cuentas level: high tags: - attack.initial_access - attack.t1190 - cve.2026.18963 ============================================================================== REGLA 2 de 4 · MICROSOFT SENTINEL - KQL Reset de contraseña anómalo en Keycloak - Sentinel ============================================================================== Requiere: Tabla personalizada KeycloakEvents_CL con los eventos de auditoría de Keycloak ingestados vía Data Collector API o Logstash a Sentinel. let umbral = 3; KeycloakEvents_CL | where EventType_s in ("UPDATE_PASSWORD", "RESET_PASSWORD") | summarize eventos = count(), usuarios = dcount(UserId_s) by IpAddress_s, bin(TimeGenerated, 5m) | where eventos > umbral | project TimeGenerated, IpAddress_s, eventos, usuarios ============================================================================== REGLA 3 de 4 · SPLUNK - SPL Reset de contraseña anómalo en Keycloak - Splunk ============================================================================== Requiere: Índice keycloak con sourcetype keycloak:events recibiendo el log de auditoría (admin events) del servidor. index=keycloak sourcetype=keycloak:events (event_type="UPDATE_PASSWORD" OR event_type="RESET_PASSWORD") | bin _time span=5m | stats count as eventos, dc(userId) as usuarios by ipAddress, _time | where eventos > 3 ============================================================================== REGLA 4 de 4 · IBM QRADAR - AQL Reset de contraseña anómalo en Keycloak - QRadar AQL ============================================================================== Requiere: Log source de Keycloak configurado en QRadar (DSM genérico o vía Universal LEEF) mapeando eventname y username. SELECT sourceip, COUNT(*) as eventos, UNIQUECOUNT(username) as usuarios FROM events WHERE LOGSOURCETYPENAME(devicetype) ILIKE '%Keycloak%' AND (eventname ILIKE '%UPDATE_PASSWORD%' OR eventname ILIKE '%RESET_PASSWORD%') GROUP BY sourceip HAVING eventos > 3 LAST 5 MINUTES ============================================================================== FALSOS POSITIVOS ESPERABLES ============================================================================== Un pico de resets legítimo puede darse tras una rotación programada de contraseñas, una migración de usuarios o una campaña de concientización que empuja a muchos usuarios a resetear su clave el mismo día. Antes de escalar como incidente, confirme si hay una comunicación interna que explique el volumen; si no la hay, trátelo como sospechoso. ============================================================================== Vantis Chile SpA · https://www.vantis.cl/noticias Analisis con fines defensivos. Reutilizable citando la fuente. ==============================================================================