Investigar rutas de ataque de aplicaciones OAuth en Defender for Cloud Apps (versión preliminar)

Administración de exposición de seguridad Microsoft le ayuda a administrar la superficie expuesta a ataques de su empresa y el riesgo de exposición de forma eficaz. Mediante la combinación de recursos y técnicas, las rutas de ataque ilustran las rutas de acceso de un extremo a otro que los atacantes pueden usar para pasar de un punto de entrada dentro de la organización a los recursos críticos. Microsoft Defender for Cloud Apps observó un aumento en los atacantes que usan aplicaciones de OAuth para acceder a datos confidenciales en aplicaciones críticas para la empresa, como Microsoft Teams, SharePoint, Outlook, etc. Para facilitar la investigación y la mitigación, estas aplicaciones se integran en las vistas de la ruta de ataque y del mapa de la superficie de ataque en Seguridad de Microsoft Exposure Management.

Requisitos previos

Para empezar a usar las funciones de la ruta de ataque de aplicaciones OAuth en Gestión de la exposición, asegúrese de cumplir estos requisitos.

Permisos y roles necesarios

Para acceder a todas las experiencias de gestión de la exposición, se necesita un rol de Control de acceso basado en roles unificado (RBAC) o un rol de Entra ID. Solo se requiere uno.

  • Gestión de la exposición (lectura) (RBAC unificado)

Como alternativa, puede utilizar uno de los siguientes roles de Entra ID:

Permiso Acciones
Administración de seguridad (permisos de lectura y escritura)
Operador de seguridad (permisos de lectura y escritura limitados)
Global Reader (permisos de lectura)
Lector de seguridad (permisos de lectura)

Nota:

Actualmente solo está disponible en entornos de nube comercial. Los datos y las funcionalidades de Seguridad de Microsoft Exposure Management no están disponibles actualmente en las nubes del Gobierno de EE. UU. —GCC, GCC High, DoD y China Gov.

Administración de recursos críticos: entidades de servicio

Las entidades de servicio son identidades que Microsoft Entra ID asignan a las aplicaciones para que puedan autenticarse y acceder a los recursos en nombre de la aplicación en lugar de a un usuario. Microsoft Defender for Cloud Apps define un conjunto de permisos de OAuth con privilegios críticos. Las aplicaciones de OAuth con estos permisos se consideran recursos de alto valor. Si se pone en peligro, un atacante puede obtener privilegios elevados para las aplicaciones SaaS. Para reflejar este riesgo, las rutas de acceso de ataque tratan a las entidades de servicio con estos permisos como objetivos de destino.

Visualización de permisos para recursos críticos

Para ver la lista completa de permisos, vaya al portal de Microsoft Defender y vaya a Configuración > Microsoft Defender XDR > Reglas > Administración de recursos críticos.

Captura de pantalla de la página Administración de recursos críticos en el portal de Microsoft Defender.

Flujo de investigación del usuario: ver rutas de ataque en las que intervienen aplicaciones OAuth

Una vez que comprenda qué permisos representan destinos de alto valor, siga estos pasos para investigar cómo aparecen estas aplicaciones en las rutas de acceso de ataque del entorno. Para organizaciones más pequeñas con un número administrable de rutas de ataque, se recomienda seguir este enfoque estructurado para investigar cada ruta de acceso de ataque:

Nota:

Las aplicaciones de OAuth se muestran en el mapa de superficie de la ruta de acceso de ataque solo cuando se detectan condiciones específicas.
Por ejemplo, una aplicación de OAuth podría aparecer en la ruta de acceso de ataque si se detecta un componente vulnerable con un punto de entrada que se puede aprovechar fácilmente. Este punto de entrada permite el movimiento lateral a las entidades de servicio con privilegios elevados.

  1. Vaya a Gestión de la exposición > Superficie de ataque > Rutas de ataque.

  2. Filtre por "Tipo de destino: entidad de servicio de AAD"

    Captura de pantalla del tipo de destino pricipal del servicio de rutas de acceso a ataques

  3. Seleccione la ruta de ataque titulada: "Dispositivo con vulnerabilidades graves permite el movimiento lateral al service principal con permisos sensibles"

    Captura de pantalla del nombre de la ruta de acceso de ataque

  4. Haga clic en el botón «Ver en el mapa» para ver la ruta de ataque.

    Captura de pantalla de la vista en el botón de mapa

  5. Seleccione el signo + para expandir los nodos y ver las conexiones detalladas.

    Captura de pantalla del mapa de superficie expuesta a ataques

  6. Mantenga el puntero o seleccione nodos y bordes para explorar datos adicionales, como los permisos que tiene esta aplicación de OAuth.

    Captura de pantalla que muestra los permisos asignados a la aplicación OAuth, como se muestra en el mapa de superficie expuesta a ataques

  7. Copie el nombre de la aplicación OAuth y péguelo en la barra de búsqueda de la página Aplicaciones.

    Captura de pantalla que muestra la pestaña Aplicaciones de OAuth

  8. Seleccione el nombre de la aplicación para revisar los permisos asignados y la información de uso, incluido si se usan activamente los permisos con privilegios elevados.

    Captura de pantalla que muestra los permisos asignados a la aplicación Oauth

  9. Opcional: si determina que se debe deshabilitar la aplicación OAuth, puede deshabilitarla desde la página Aplicaciones.

Flujo de usuario del responsable de decisiones: priorizar el camino de ataque mediante puntos críticos

Para organizaciones más grandes con numerosas rutas de ataque que no pueden investigarse manualmente, recomendamos usar los datos de rutas de ataque y utilizar la experiencia Choke Points para priorizar. Este enfoque le permite:

  • Identifique los recursos conectados con la mayoría de las rutas de acceso de ataque.
  • Tome decisiones informadas sobre los recursos que se deben priorizar para la investigación.
  • Filtrar por aplicación OAuth de Microsoft Entra para ver qué aplicaciones OAuth participan en el mayor número de rutas de ataque.
  • Decida a qué aplicaciones de OAuth se van a aplicar los permisos con privilegios mínimos.

Para empezar:

  1. Vaya a la página Attack Paths > Choke Points.

    Captura de pantalla que muestra la página de puntos de ahogamiento

  2. Seleccione un nombre de punto de atragantamiento para ver más detalles sobre las rutas de acceso de ataque principales, como el nombre, el punto de entrada y el destino.

  3. Haz clic en Ver radio de explosión para investigar aún más el punto de atraque en el Mapa de superficie expuesta a ataques. Captura de pantalla que muestra el botón para ver el alcance

Si el punto de ahogamiento es una aplicación de OAuth, continúe la investigación buscando la aplicación por su nombre en la página Aplicaciones , revisando sus permisos asignados y conclusiones de uso, y, opcionalmente, deshabilitando la aplicación si procede.

Analice el mapa de la superficie de ataque y busque con consultas

En el mapa de la superficie expuesta a ataques, puede ver conexiones de aplicaciones propiedad de usuarios, aplicaciones OAuth y entidades de seguridad de servicio. Estos datos de relación están disponibles en:

  • Tabla ExposureGraphEdges (muestra las conexiones)

  • Tabla ExposureGraphNodes (incluye propiedades de nodo como permisos)

Use la siguiente consulta de búsqueda avanzada para identificar todas las aplicaciones de OAuth con permisos críticos. Esta consulta combina las tablas ExposureGraphNodes y ExposureGraphEdges para buscar registros de aplicaciones OAuth de Microsoft Entra que pueden autenticarse como entidades de servicio clasificadas como críticas (nivel de criticidad 0) y que tienen permisos sobre Microsoft Graph. Úselo para detectar qué aplicaciones de OAuth del inquilino tienen acceso con privilegios elevados y priorizarlas para su revisión:

let RelevantNodes = ExposureGraphNodes
| where NodeLabel == "Microsoft Entra OAuth App" or NodeLabel == "serviceprincipal"
| project NodeId, NodeLabel, NodeName, NodeProperties;
ExposureGraphEdges
| where EdgeLabel == "has permissions to" or EdgeLabel == "can authenticate as"
| make-graph SourceNodeId --> TargetNodeId with RelevantNodes on NodeId
| graph-match (AppRegistration)-[canAuthAs]->(SPN)-[hasPermissionTo]->(Target)
        where AppRegistration.NodeLabel == "Microsoft Entra OAuth App" and
        canAuthAs.EdgeLabel == "can authenticate as" and
        SPN.NodeLabel == "serviceprincipal" and
        SPN.NodeProperties["rawData"]["criticalityLevel"]["criticalityLevel"] == 0 and
        hasPermissionTo.EdgeLabel == @"has permissions to" and
        Target.NodeLabel == "Microsoft Entra OAuth App" and
        Target.NodeName == "Microsoft Graph"
        project AppReg=AppRegistration.NodeLabel,
         canAuthAs=canAuthAs.EdgeLabel, SPN.NodeLabel, DisplayName=SPN.NodeProperties["rawData"]["accountDisplayName"],
         Enabled=SPN.NodeProperties["rawData"]["accountEnabled"], AppTenantID=SPN.NodeProperties["rawData"]["appOwnerOrganizationId"],
         hasPermissionTo=hasPermissionTo.EdgeLabel, Target=Target.NodeName,
         AppPerm=hasPermissionTo.EdgeProperties["rawData"]["applicationPermissions"]["permissions"]
| mv-apply AppPerm on (summarize AppPerm = make_list(AppPerm.permissionValue))
| project AppReg, canAuthAs, DisplayName, Enabled, AppTenantID, hasPermissionTo, Target, AppPerm

Siguientes pasos

Para más información, vea: