Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
fixing-google-secops-detections — Ajuste y refactorización de las detecciones curadas de Google Chronicle para eliminar la fatiga de alertas y corregir brechas/errores de lógica. | Kitploit
Herramientas/GitHubGitHub/all3xj/fixing-google-secops-detections
Herramientas DefensivasSeguridad en la NubeInteligencia de AmenazasDetección de IntrusionesAprendizaje y EducaciónRespuesta a IncidentesSeguridad de Correo ElectrónicoDetección de AnomalíasAnálisis de Registros

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHuball3xj/fixing-google-secops-detections

fixing-google-secops-detections

Ajuste y refactorización de las detecciones curadas de Google Chronicle para eliminar la fatiga de alertas y corregir brechas/errores de lógica.

Ver Repositorio
4177hace 1 mesAún no revisado
Compartir

Google SecOps (Chronicle) Detecciones Curadas: Análisis de Fallos y Ajuste

Este repositorio documenta fallos de diseño arquitectónico, discrepancias lógicas y estrategias de ajuste para las Detecciones Curadas nativas de Google SecOps (Chronicle).

Si bien Google Threat Intelligence (GTIG) proporciona una cobertura conceptual de amenazas excepcional (como el seguimiento de campañas de APT29/BRICKSTORM), las implementaciones YARA-L sin procesar de las reglas curadas a veces adolecen de descuidos de implementación, como contradicciones en la lógica de agrupación y variables de umbral codificadas de forma rígida. En entornos empresariales del mundo real, esto con frecuencia provoca una fatiga masiva de alertas.

Este proyecto analiza por qué las reglas nativas fallan o inundan el SOC, y comparte Reglas Personalizadas optimizadas y parches para resolver estos problemas.

Seguimiento Ascendente y Comentarios al Proveedor

  • Estado: Las brechas lógicas y los comentarios de telemetría de reglas han sido reconocidos por el equipo de Ingeniería de Detección / Producto de Google, iniciando un flujo de trabajo de revisión del ciclo de vida de reglas interno de Google.

📑 Tabla de Contenidos

  1. Fallo de Alertas de O365 Suite para BRICKSTORM / APT29
    • Fallo 1: Contradicción en la Lógica de Agrupación
    • Fallo 2: Descuidado del Cliente Público de Outlook Mobile
    • Fallo 3: Colisión de Buzones Compartidos
    • Soluciones YARA-L Optimizadas
  2. O365 Teams: Intento de Suplantación Externa
    • Fallo 1: Inversión de Adversario vs. Objetivo
    • Fallo 2: Clave de Agrupación de Coincidencias Errónea
    • Solución YARA-L Optimizada
  3. UEBA: Total de Intentos de Autenticación Anómalos
    • Fallo de Codificación Rígida y Fatiga de Alertas
    • Recomendaciones de Ajuste

1. Fallo de Alertas de O365 Suite para BRICKSTORM / APT29

Google publicó un conjunto de reglas para detectar la exfiltración masiva de correo electrónico desde Microsoft 365 Exchange Online por parte de Service Principals comprometidos (técnicas ampliamente utilizadas por APT29/Midnight Blizzard).

Las reglas curadas afectadas son:

  • O365 Mailbox Access by Service Principal with Multiple User Agents
  • O365 Multiple Mailboxes Accessed by Service Principal
  • O365 Mailbox Access by Service Principal from Multiple ASNs
  • O365 Multiple Mailboxes Accessed via Microsoft Graph API

❌ Fallos Centrales en la Lógica de Google

Este conjunto de reglas contiene discrepancias lógicas sistémicas entre el objetivo declarado y la implementación en YARA-L, probablemente debido a la reutilización de código entre el paquete de reglas. Las reglas no logran distinguir adecuadamente entre Service Principals automatizados y la actividad humana estándar, lo que resulta en alertas que se activan ante el comportamiento normal de los empleados.

Fallo 1: Contradicción en la Lógica de Agrupación

A pesar de que la descripción de la regla establece explícitamente: "Detects a Service Principal with a single O365 session ID...", la sección match de YARA-L de la regla "Multiple User Agents" agrupa por $application_id en lugar del ID de sesión ($session_id). Esto contradice completamente el objetivo declarado de la regla.

  • Impacto: Sesiones de empleados no relacionadas que comparten el mismo App ID empresarial y el mismo correo compartido se fusionan en todo el tenant durante una ventana de 3 horas. Esto activa falsos positivos cada vez que dos usuarios distintos se autentican mediante diferentes agentes de usuario (por ejemplo, iPhone vs. Android) bajo la misma aplicación, sin lograr aislar el secuestro de tokens individuales.

Fallo 2: Descuidado del Cliente Público de Outlook Mobile

Las reglas rastrean patrones de comportamiento anómalos (cambios de IP, ASN o User-Agent) vinculados a un ClientAppId específico. Si bien Google incluye una regex de exclusión para varias aplicaciones nativas de Microsoft, omitió inexplicablemente el cliente móvil humano más omnipresente: la aplicación móvil de Microsoft Outlook (27922004-5251-4030-b22d-91ecd9a37ea4).

  • Impacto: Sin filtrar este Cliente Público, los empleados legítimos que leen buzones compartidos desde sus teléfonos inteligentes y que se desplazan entre redes (por ejemplo, al cambiar de Wi-Fi a 4G) activan inherentemente las alertas de Multiple ASNs. Distintos empleados que usan iOS y Android para consultar el mismo buzón departamental activan la alerta de Multiple User Agents.

Fallo 3: Colisión de buzones compartidos

Para identificar cuentas de servicio de backend, la lógica de Google se basa en esta condición: $e.principal.user.userid != $e.target.user.userid

  • Impacto: Esta condición simplemente comprueba si el ID del actor es diferente del propietario del buzón objetivo. Si bien es cierto para las entidades de servicio automatizadas, también es un comportamiento estándar de empleados humanos que acceden a buzones compartidos o departamentales (por ejemplo, un operador que abre [email protected]). Este fallo de diseño genera un ruido masivo en el tráfico operativo humano estándar.

✅ Soluciones YARA-L ajustadas para las reglas de O365

Para corregir estos fallos de diseño, tienes dos opciones según tus necesidades operativas:

Opción 1: Exclusiones nativas del SIEM (solución rápida) No es necesario deshabilitar las reglas ni escribir código personalizado. Basta con crear una Exclusión directamente en la interfaz de Google SecOps SIEM. Solo tienes que añadir una exclusión dirigida al ClientAppId de Outlook Mobile (27922004-5251-4030-b22d-91ecd9a37ea4) y a tus aplicaciones de copia de seguridad autorizadas (por ejemplo, Keepit). Esto detiene de inmediato la avalancha de falsos positivos mientras mantiene activas las reglas curadas de Google.

Opción 2: Desplegar reglas personalizadas (solución arquitectónica) Si quieres corregir por completo los fallos subyacentes de la lógica de agrupación (como la discrepancia de $application_id), debes deshabilitar las Detecciones Curadas y desplegar Reglas Personalizadas. Las correcciones implican:

  1. Incluir explícitamente en la lista blanca Outlook Mobile (27922004-...).
  2. Incluir en la lista blanca las aplicaciones de copia de seguridad empresarial autorizadas conocidas (por ejemplo, Keepit).
  3. Corregir las secciones match para agregar correctamente por sesión.
Regla ajustada 1: Multiple User Agents
rule custom_ttp_o365_mailbox_access_by_service_principal_with_multiple_uas {
  meta:
    rule_name = "[CUSTOM] O365 Mailbox Access by Service Principal with Multiple User Agents"
    description = "Detects a Service Principal with a single O365 session ID accessing O365 mailboxes with multiple user agents. Tuned to fix grouping logic and exclude Outlook Mobile (Public Client) human traffic."
    severity = "Low"
    tactic = "TA0009"
    technique = "T1114.002"

  events:
    $e.metadata.log_type = "OFFICE_365"
    $e.metadata.product_event_type = "MailItemsAccessed" nocase
    $e.target.application = "Exchange"
    $e.security_result.detection_fields["RecordType"] = /^(2|50)$/

    // Extract actual Session ID and App ID
    $session_id =$e.network.session_id
    $application_id =$e.additional.fields["ClientAppId"]

    $e.principal.user.userid !=$e.target.user.userid
Descargar herramienta