Pasos para analizar el abuso de aplicaciones OAuth con Microsoft Graph Activity Logs
By Mirko Peters · · Updated
Detecta amenazas OAuth que afectan a Microsoft 365 con Entra ID y Microsoft Graph Activity Log. Aprende a detectar amenazas en aplicaciones OAuth mediante registros de actividad y la Graph API.
Automatically translated with AI from the original post. Read the English original
Supervisar el uso de aplicaciones OAuth es esencial para mantener la seguridad de tu organización y prevenir el abuso de aplicaciones OAuth. Gracias a Microsoft Graph Activity Logs, obtienes una visibilidad crucial sobre cómo funcionan las aplicaciones OAuth. Estos registros te ayudan a detectar posibles abusos de aplicaciones OAuth y a descubrir amenazas relacionadas con la actividad de estas aplicaciones.
Los Microsoft Graph Activity Logs son fundamentales para:
Supervisar la actividad de las aplicaciones OAuth.
Detectar posibles abusos de aplicaciones OAuth.
Proporcionar la visibilidad básica necesaria para descubrir amenazas.
Establecer normas de cumplimiento es fundamental debido a los riesgos asociados al abuso de aplicaciones OAuth. Unos criterios claros para evaluar la seguridad y el cumplimiento te permiten elegir las aplicaciones adecuadas para uso empresarial.
Analizar el abuso de aplicaciones OAuth con Microsoft Graph Activity Logs: 5 datos sorprendentes
Al analizar el abuso de aplicaciones OAuth con Microsoft Graph Activity Logs, los investigadores de seguridad suelen descubrir capacidades y limitaciones inesperadas que afectan a la detección y a la respuesta.
- Los registros de actividad muestran el client_app_id de OAuth en los eventos centrados en aplicaciones. Microsoft Graph Activity Logs incluye el client_app_id (el appId de la aplicación) en muchos eventos de inicio de sesión y consentimiento, lo que permite relacionar directamente tokens o acciones sospechosos con una aplicación OAuth registrada, y no solo con un usuario.
- La actividad de las aplicaciones no aparece en un único lugar: los distintos tipos de registro importan. Los eventos relacionados con OAuth pueden repartirse entre los registros de inicio de sesión, los registros de auditoría y los registros de actividad unificados de Microsoft Graph. Basarse en una sola fuente puede hacer que se pasen por alto concesiones de consentimiento, emisiones de tokens o cambios de permisos de aplicaciones relevantes para las investigaciones de abuso.
- La retención y las opciones de exportación pueden limitar las cronologías forenses si no se configuran. De forma predeterminada, la retención del inquilino para algunos registros de actividad es limitada. Si no se exportan los datos mediante la Configuración de diagnóstico a un área de trabajo de Log Analytics o a una cuenta de almacenamiento, las pruebas históricas de abuso de aplicaciones pueden perderse rápidamente.
- Algunos campos sensibles aparecen enmascarados o redactados en los registros de Graph. Para proteger la privacidad, ciertos datos PII y detalles de tokens se truncan u ofuscan en las cargas de actividad. Por ello, es necesario correlacionar los registros con los de inicio de sesión o con los registros de acceso condicional para reconstruir la cadena completa del ataque.
- Las notificaciones de cambios y las consultas delta permiten la detección casi en tiempo real, pero requieren configuración. Microsoft Graph admite notificaciones de cambios (webhooks) y consultas delta para los registros de actividad, lo que permite detectar automáticamente nuevos permisos de aplicación concedidos o acciones anómalas de aplicaciones. Sin embargo, deben configurarse de forma proactiva para detectar el abuso en el momento en que se produce.
Puntos clave
Supervisa la actividad de las aplicaciones OAuth con Microsoft Graph Activity Logs para detectar posibles abusos y amenazas.
Audita periódicamente las aplicaciones OAuth para asegurarte de que los permisos son adecuados e investiga cualquier aplicación sospechosa.
Implementa controles de acceso estrictos, como desactivar el consentimiento de los usuarios para aplicaciones de terceros, para reforzar la seguridad.
Utiliza el Lenguaje de consulta Kusto (KQL) para analizar los registros e identificar patrones inusuales que puedan indicar abuso de aplicaciones OAuth.
Concienciа a los empleados sobre las amenazas de seguridad y las técnicas de phishing para reducir el riesgo de abuso de aplicaciones OAuth.
Descripción general del abuso de aplicaciones OAuth
Vectores de ataque comunes
Los atacantes suelen aprovechar el consentimiento de las aplicaciones OAuth para obtener acceso no autorizado a datos sensibles. Utilizan diversas tácticas para eludir las medidas de seguridad. Por ejemplo, las campañas de phishing se han vuelto habituales: engañan a los usuarios para que introduzcan códigos de dispositivo en páginas de verificación legítimas de Microsoft. Así consiguen tokens de acceso vinculados a las cuentas de las víctimas. Este tipo de ataques puede eludir los controles de seguridad tradicionales, incluida la autenticación multifactor.
Además, muchas aplicaciones de terceros se conectan a plataformas SaaS mediante tokens de OAuth. Estos tokens pueden mantener el acceso indefinidamente si no se gestionan de forma activa. Esto supone un riesgo importante, ya que las organizaciones pueden permitir sin saberlo el acceso a datos sensibles a través de aplicaciones que ya no se usan. Los investigadores de seguridad han señalado que los ataques OAuth son especialmente difíciles de detectar. Dejan muy pocos rastros forenses y pueden persistir incluso después de restablecer las contraseñas.
Riesgos de acceso a largo plazo
Los riesgos a largo plazo asociados al acceso persistente de aplicaciones OAuth son preocupantes. En entornos cloud-first, la identidad se ha convertido en el nuevo perímetro. Los atacantes pueden obtener acceso persistente a los sistemas corporativos sin comprometer servidores ni contraseñas. Manipulan las relaciones de confianza inherentes a los sistemas de identidad modernos.
Los efectos del abuso de aplicaciones OAuth pueden ser graves. Estos son algunos riesgos documentados:
Phishing interno: los correos enviados desde cuentas de confianza atraen a más víctimas.
Robo de datos sensibles: los archivos confidenciales, los contratos y la propiedad intelectual pueden ser extraídos.
Acceso persistente: incluso si se restablecen las credenciales, los tokens pueden seguir activos.
Daño reputacional: clientes y socios pierden la confianza si una brecha de seguridad se hace pública.
Las organizaciones deben mantenerse alerta. Deben revisar periódicamente los consentimientos de las aplicaciones OAuth y vigilar cualquier actividad sospechosa. Así podrá mitigar los riesgos asociados al abuso de aplicaciones OAuth y proteger sus datos sensibles.
Microsoft Graph Activity Logs para seguridad
Fuente de la imagen: unsplashAcceder a Microsoft Graph Activity Logs es fundamental para supervisar el comportamiento de las aplicaciones OAuth. Puede seguir estos pasos para recuperar los registros de forma eficaz:
Transmitir los registros mediante la configuración de diagnóstico en Azure Portal o mediante las API de Azure Resource Manager.
Integrar los registros de actividad con los registros de Azure Monitor.
Configurar la configuración de diagnóstico a través de la API de Azure Resource Manager.
Configurar destinos de almacenamiento como Azure Log Analytics Workspace, Azure Storage o Azure Event Hubs.
Consultar los registros con Kusto Query Language (KQL) si se envían a un área de trabajo de Log Analytics.
Una vez accedido a los registros, céntrese en las entradas clave que pueden indicar un comportamiento sospechoso de las aplicaciones OAuth. Estas son algunas entradas de registro que conviene supervisar:
Descripción | |
|---|---|
Escalada de privilegios para el acceso a datos | Las aplicaciones que obtienen permisos amplios, como Sites.Read.All o Files.ReadWrite.All, sin una documentación adecuada pueden indicar aplicaciones malintencionadas destinadas al robo de datos. |
Actividad de descarga de gran volumen | Una cuenta que accede a cientos de archivos en un periodo corto es un indicador claro de posible exfiltración de datos. |
Vínculos para compartir anónimos o externos | La creación de estos vínculos puede ser una táctica de los atacantes para aprovechar la configuración de acceso a archivos y exfiltrar datos. |
Patrones de descarga y eliminación | Los usuarios que descargan archivos sensibles y los eliminan poco después pueden estar intentando borrar sus huellas tras un robo de datos. |
Las alertas en tiempo real desempeñan un papel fundamental en la detección y la respuesta a incidentes de abuso de aplicaciones OAuth. Ofrecen visibilidad sobre comportamientos sospechosos y permiten respuestas automatizadas para mitigar riesgos. Por ejemplo, los tokens OAuth de Drift tenían una vida útil prolongada, lo que provocaba una falta de visibilidad para los clientes de Salesforce sobre las conexiones de aplicaciones. Los tokens comprometidos podían eludir MFA y SSO, lo que pone de manifiesto la necesidad de alertas en tiempo real que detecten anomalías como las descargas masivas de API.
Para configurar alertas en tiempo real eficaces, tenga en cuenta estas prácticas recomendadas:
Configure alertas para actividades sospechosas en los registros de actividad de Microsoft Graph, como asignaciones de permisos con privilegios elevados e inicios de sesión inusuales.
Use Microsoft Defender for Cloud Apps (MCAS) para supervisar y aplicar controles de sesión, generando alertas para inicios de sesión de aplicaciones OAuth de riesgo.
Busque en el registro de auditoría unificado de Microsoft 365 eventos clave como 'Add application' o 'Consent to application' para identificar posibles abusos de aplicaciones OAuth.
Correlacione las alertas de inicio de sesión inusual con los registros de auditoría para detectar actividad maliciosa de aplicaciones OAuth.
Con la implementación de estas estrategias, podrá mejorar la postura de seguridad de su organización y protegerla mejor frente al abuso de aplicaciones OAuth.
Métodos de detección de abuso de aplicaciones OAuth
Fuente de la imagen: pexelsConsultas KQL
Kusto Query Language (KQL) es una herramienta potente para analizar los registros de actividad de Microsoft Graph. Puede usar KQL para identificar patrones y anomalías que podrían indicar abuso de aplicaciones OAuth. Estas son algunas estrategias eficaces para usar KQL:
Audite periódicamente las aplicaciones de Entra para identificar permisos excesivos. Esto le ayuda a detectar aplicaciones que podrían suponer un riesgo.
Supervise si hay accesos inesperados a la API de Microsoft Graph. Este tipo de acceso puede indicar un compromiso, lo que le permite actuar con rapidez.
Establezca una lista segura de aplicaciones aprobadas. Esta lista facilita la supervisión continua y le ayuda a detectar nuevas aplicaciones con privilegios elevados.
Para empezar con KQL, considere la siguiente consulta de ejemplo que comprueba actividades de inicio de sesión inusuales:
AuditLogs
| where ActivityType == "SignIn"
| where Result == "Failure"
| summarize Count = count() by UserPrincipalName, bin(TimeGenerated, 1h)
| order by Count desc
Esta consulta identifica a los usuarios con intentos fallidos de inicio de sesión, lo que le permite investigar posibles accesos no autorizados.
Automatización con PowerShell
La automatización con PowerShell puede agilizar considerablemente la detección del abuso de aplicaciones OAuth. Mediante scripts de PowerShell, puede automatizar la supervisión de las aplicaciones OAuth y de sus actividades. Estas son algunas herramientas y sus funciones:
Herramienta | Funcionalidad |
|---|---|
GraphRunner | Automatiza las interacciones con la API de Microsoft Graph, puede obtener tokens por diversos métodos y asumir la identidad de usuarios comprometidos sin activar alertas. |
AutoGraph | Ofrece una interfaz basada en menús para las interacciones con la API, automatiza la enumeración de usuarios y facilita la extracción de datos de distintas fuentes. |
Con PowerShell también puede crear scripts para comprobar periódicamente si hay permisos excesivos en las aplicaciones de Entra. Este enfoque proactivo le ayuda a mantener un entorno seguro.
Por ejemplo, puede ejecutar un script para listar todas las aplicaciones con privilegios elevados:
Get-AzureADServicePrincipal | Where-Object { $_.AppRoles -ne $null -and $_.AppRoles.Count -gt 5 }
Este comando recupera las entidades de servicio con más de cinco roles de aplicación, lo que le permite evaluar posibles riesgos.
Al combinar consultas KQL y automatización con PowerShell, puedes mejorar tus capacidades de detección. Estos métodos te proporcionan las herramientas necesarias para identificar y responder de forma eficaz al abuso de aplicaciones OAuth.
Estrategias de mitigación para amenazas basadas en identidad
Análisis del comportamiento de los usuarios
Para mitigar de forma eficaz los riesgos asociados a las aplicaciones OAuth, debes analizar el comportamiento de los usuarios en busca de anomalías. Las herramientas de análisis del comportamiento de usuarios (UBA, User Behavior Analytics) pueden ayudarte a identificar patrones inusuales que podrían indicar un abuso de aplicaciones OAuth. Estos son algunos métodos que conviene considerar:
Método/proceso | Descripción |
|---|---|
Creación de modelos de comportamiento | Las herramientas UBA crean modelos basados en la actividad de los usuarios, registrando las ubicaciones de inicio de sesión y el momento de uso de las aplicaciones. |
Detección de anomalías | Las herramientas UBA supervisan el comportamiento de los usuarios frente a los modelos establecidos para identificar desviaciones. |
Uso de IA y aprendizaje automático | Los algoritmos analizan el comportamiento de los usuarios a lo largo del tiempo para detectar patrones inusuales, como iniciar sesión fuera del horario habitual. |
Comparación con pares | Las herramientas UBA comparan las acciones de los usuarios con las de sus compañeros para identificar comportamientos sospechosos, como acceder a datos no autorizados. |
Si implementas estas estrategias, podrás detectar amenazas potenciales a tiempo. Las auditorías periódicas de las aplicaciones OAuth también desempeñan un papel fundamental. Debes revisar con regularidad los permisos para asegurarte de que se ajustan a los roles de los usuarios. Investiga cualquier aplicación sospechosa que pueda tener derechos de acceso excesivos.
Correlación de eventos
La correlación de eventos es otra estrategia eficaz para detectar amenazas basadas en identidad. Este enfoque te permite reunir información de distintas fuentes para identificar registros de aplicaciones maliciosos o la elusión de controles de seguridad. Estos son algunos datos sobre la importancia de la correlación de eventos:
Tipo de evidencia | Estadística/dato |
|---|---|
Lagunas de visibilidad | En el 87 % de las investigaciones, los responsables tuvieron que revisar pruebas de dos o más fuentes distintas. |
Complejidad del entorno | Las líneas base de seguridad se aplicaban de forma inconsistente entre las unidades de negocio, lo que generaba brechas explotables. |
Deriva de identidades | Las cuentas suelen tener más acceso del necesario debido a los permisos acumulados con el tiempo. |
Al correlacionar eventos, puedes crear una evaluación de riesgos completa. Este proceso te ayuda a entender cómo se relacionan las distintas actividades entre sí, lo que permite detectar patrones que podrían indicar técnicas de abuso de OAuth.
Implementar estas estrategias de mitigación requiere compromiso. Puedes encontrarte con desafíos, como la dificultad para detectar ataques que explotan flujos de trabajo OAuth legítimos. Los controles de seguridad tradicionales suelen quedarse cortos una vez concedido el consentimiento. Sin embargo, con un enfoque proactivo, puedes reducir de forma significativa el riesgo de abuso de aplicaciones OAuth.
Para reforzar tu postura de seguridad, considera estas estrategias de mitigación eficaces:
Auditoría: audita periódicamente las aplicaciones OAuth para asegurarte de que los permisos son adecuados e investiga las aplicaciones sospechosas.
Restringir el consentimiento de usuarios: Desactiva el consentimiento de los usuarios para aplicaciones de terceros a fin de exigir la aprobación del administrador para todas las solicitudes de autorización.
Control de acceso basado en roles (RBAC): Implementa RBAC para limitar los privilegios de los usuarios al mínimo necesario.
Formación de usuarios: Realiza formación periódica para concienciar a los empleados sobre las amenazas de seguridad y las técnicas de phishing.
Al centrarte en el análisis del comportamiento de los usuarios y en la correlación de eventos, puedes reforzar tus defensas frente a las amenazas basadas en identidad relacionadas con el abuso de aplicaciones OAuth.
En resumen, el análisis del abuso de aplicaciones OAuth revela vulnerabilidades críticas en muchas aplicaciones. Estudios recientes indican que aproximadamente un 8 % de las aplicaciones analizadas son susceptibles al abuso de OAuth. Esto subraya la necesidad de una monitorización continua para reforzar tu postura de seguridad.
Debes centrarte en:
Auditorías periódicas de las identidades de usuarios y de entidades de servicio.
Implementar directivas de consentimiento para bloquear el acceso no autorizado.
Buscar proactivamente aplicaciones de riesgo.
Si adoptas estas estrategias de defensa proactiva, puedes reducir considerablemente los riesgos asociados al abuso de aplicaciones OAuth y proteger tu organización de posibles amenazas.
Preguntas frecuentes
¿Qué es el abuso de aplicaciones OAuth?
El abuso de aplicaciones OAuth se produce cuando los atacantes explotan aplicaciones OAuth para obtener acceso no autorizado a datos confidenciales. A menudo utilizan técnicas como el phishing y el phishing de consentimiento para engañar a los usuarios y que concedan permisos.
¿Cómo puedo detectar el abuso de aplicaciones OAuth?
Puedes detectarlo monitorizando los registros de actividad de Microsoft Graph en busca de actividades sospechosas. Busca inicios de sesión inusuales, descargas de gran volumen y cambios de permisos inesperados.
¿Cuáles son los riesgos del phishing de consentimiento?
El phishing de consentimiento permite a los atacantes engañar a los usuarios para que concedan acceso a sus cuentas. Esto puede provocar robo de datos, acceso no autorizado y daños potenciales a la reputación de tu organización.
¿Con qué frecuencia debo auditar las aplicaciones OAuth?
Deberías auditar las aplicaciones OAuth de forma periódica, idealmente cada pocos meses. Así te aseguras de que los permisos siguen siendo adecuados y de que puedes identificar rápidamente cualquier aplicación sospechosa.
¿Qué medidas puedo tomar para evitar el abuso de aplicaciones OAuth?
Para evitarlo, aplica controles de acceso estrictos, desactiva el consentimiento de los usuarios para aplicaciones de terceros e imparte formación periódica a tus empleados sobre concienciación frente al phishing.
Investigar Microsoft Graph: espacio de trabajo de Log Analytics y detección de amenazas
¿Qué es analizar el abuso de aplicaciones OAuth con los registros de actividad de Microsoft Graph?
Analizar el abuso de aplicaciones OAuth con los registros de actividad de Microsoft Graph significa usar la actividad y los registros de la API de Microsoft Graph para identificar actividad maliciosa de aplicaciones o actores de amenazas que hacen un uso indebido de la autorización OAuth 2.0 en tu entorno de Microsoft 365. Examinas las llamadas a la API de Graph, los patrones de solicitudes de API y los registros de inicio de sesión de Entra ID, junto con la serie de registros de actividad de Graph en un espacio de trabajo de Log Analytics, para detectar comportamientos sospechosos de OAuth y aplicaciones OAuth de riesgo.
¿Cómo habilito los registros de actividad de Microsoft Graph y adónde van?
Para habilitarlos, debes configurar los servicios de Microsoft 365 y el servicio Microsoft Graph para enviar la actividad de la API de Graph a un espacio de trabajo de Log Analytics (o a un SIEM externo). Utiliza la configuración de diagnóstico de Microsoft Entra ID para enrutar las solicitudes de la API de Graph, los registros de Entra ID y los eventos de inicio de sesión a un identificador de espacio de trabajo de Log Analytics, donde podrás consultar los registros de la API de Graph y ejecutar consultas de detección de amenazas con Kusto (registro de actividad y consulta Kusto).
¿Qué indicadores en las llamadas a la API de Graph revelan actividad sospechosa de OAuth?
Busca solicitudes inusuales a la API de Graph, como llamadas de gran volumen desde un mismo identificador de aplicación, concesiones de consentimiento repetidas, reutilización de tokens entre inquilinos o actividad de la API de Graph desde direcciones IP desconocidas. Correlaciónalos con los registros de inicio de sesión de Entra ID, los eventos del agente de autenticación de Microsoft y las anomalías en el momento de las llamadas a la API para detectar amenazas con la actividad de Microsoft Graph y un posible abuso de aplicaciones OAuth.
¿Cómo puedo investigar aplicaciones OAuth de riesgo con Log Analytics y consultas Kusto?
Utiliza el espacio de trabajo de Log Analytics para centralizar los registros de la API de Graph y ejecutar consultas Kusto sobre la serie de registros de actividad de Graph. Los pasos habituales son: ingerir las solicitudes de la API de Microsoft Graph y los registros de Entra ID, escribir KQL para detectar actividad inusual de la API de Graph, pivotar por identificador de aplicación y usuario, y correlacionarlos con los eventos de los servicios de Microsoft 365. Un manual de procedimientos para usar Graph incluye ejemplos de KQL para detectar tokens OAuth sospechosos y actividad de API.
¿Qué papel desempeña Entra ID en la detección del abuso de OAuth?
Microsoft Entra ID (antes Azure AD) proporciona las señales de identidad y acceso —los registros de Entra ID y los registros de inicio de sesión de Entra ID— que muestran qué aplicación solicitó acceso y qué usuario dio su consentimiento. Si usas estos registros junto con la API de Microsoft Graph y los registros de actividad de Graph, puedes relacionar los eventos de autorización OAuth 2.0 con las solicitudes de API, identificar credenciales comprometidas o aplicaciones maliciosas, y aplicar el acceso condicional o revocar los permisos de las aplicaciones.
¿Puedo automatizar la detección de amenazas y la respuesta ante el abuso de aplicaciones OAuth?
Sí. Combina los registros de actividad de la API de Graph en un espacio de trabajo de Log Analytics con alertas automatizadas y playbooks para detectar amenazas con Microsoft Graph. Usa KQL para activar alertas ante anomalías y, después, ejecuta una remediación automatizada (revocar tokens, bloquear el identificador de aplicación y deshabilitar el consentimiento) mediante llamadas a la API de Microsoft Graph y al servicio de Microsoft Graph, para contener la actividad maliciosa y reducir el acceso a los recursos de Microsoft 365.
¿Cuáles son las mejores prácticas para reducir el riesgo de las aplicaciones OAuth sospechosas y de las aplicaciones OAuth de riesgo?
Las mejores prácticas incluyen: aplicar el principio de mínimo privilegio a las aplicaciones; supervisar las solicitudes a la API de Graph y los registros de inicio de sesión de Entra ID; exigir el consentimiento de administrador solo cuando sea necesario; usar el acceso condicional y MFA; centralizar los registros de la API de Graph en un espacio de trabajo de Log Analytics con su identificador de espacio de trabajo; y realizar investigaciones periódicas con el registro de actividad de Graph y consultas de Kusto para detectar amenazas con la actividad de Microsoft Graph de forma temprana.
¿Cómo integro Microsoft Teams u otros servicios de Microsoft 365 en las investigaciones?
Incluye la telemetría de Microsoft Teams y de otros servicios de Microsoft 365 en tus registros de actividad de la API de Graph, y correlaciónala con las solicitudes a la API de Graph. Muchos casos de abuso de OAuth implican acceso al correo, a los archivos o a los mensajes de Teams. Al usar la API de Microsoft Graph para obtener la actividad específica de cada servicio y combinarla con los registros de Entra ID en Log Analytics, puedes ver la cadena completa desde la solicitud a la API hasta el acceso al recurso y detectar actividad maliciosa en todo el ecosistema de Microsoft.