Microsoft 365 high privilege consent

Severity highCloud & SaaSSingle eventstablecloud.identity.m365_high_privilege_consent · v1.0.0

An OAuth application was consented to (or granted) HIGH-PRIVILEGE Microsoft Graph permissions — mailbox, files, or directory read/write, or app-only…

What it detects

An OAuth application was consented to (or granted) HIGH-PRIVILEGE Microsoft Graph permissions — mailbox, files, or directory read/write, or app-only access. Illicit consent grants ("consent phishing") give an attacker-controlled app durable, user-independent access to mail and files that bypasses password resets and MFA; app-only scopes like full_access_as_app are especially dangerous.

MITRE ATT&CK mapping

  • T1528Steal Application Access Token· Credential Access
  • T1550.001Use Alternate Authentication Material: Application Access Token· Defense Evasion

False positives and triage

Legitimate apps request these scopes too. The signal is consent to an unfamiliar app, app-only (application) permissions, or consent right after a suspicious sign-in / a consent-phishing lure. Review the app, who consented, and whether it was admin consent (tenant-wide) — tenant-wide grants are the most dangerous.

The rule

Declarative YAML read by the detection engine — data, never executed. Confidence 70%. Source: rules/cloud/m365_high_privilege_consent.yaml, licensed under the Apache License 2.0.

id: cloud.identity.m365_high_privilege_consent
version: 1.0.0
status: stable
severity: high
confidence: 0.7
platforms: [application]
mitre_techniques: [T1528, T1550.001]
description: |
  An OAuth application was consented to (or granted) HIGH-PRIVILEGE Microsoft Graph
  permissions — mailbox, files, or directory read/write, or app-only access. Illicit
  consent grants ("consent phishing") give an attacker-controlled app durable,
  user-independent access to mail and files that bypasses password resets and MFA;
  app-only scopes like full_access_as_app are especially dangerous.
match:
  provider: Office365
  event_action_any:
    - "Consent to application."
    - "Add delegated permission grant."
    - "Add app role assignment grant to user."
    - "Add OAuth2PermissionGrant."
  raw_message_contains_any:
    - "Mail.Read"
    - "Mail.ReadWrite"
    - "Mail.Send"
    - "MailboxSettings.ReadWrite"
    - "Files.ReadWrite.All"
    - "Files.Read.All"
    - "Directory.ReadWrite.All"
    - "Application.ReadWrite.All"
    - "full_access_as_app"
    - "offline_access"
correlation_keys: [target_user_name]
false_positive_guidance: |
  Legitimate apps request these scopes too. The signal is consent to an unfamiliar
  app, app-only (application) permissions, or consent right after a suspicious
  sign-in / a consent-phishing lure. Review the app, who consented, and whether it
  was admin consent (tenant-wide) — tenant-wide grants are the most dangerous.

Related detections

Run this rule on your own logs — offline

KIROSEC runs this rule and the rest of the library over Windows, Linux, macOS and cloud audit logs on the analyst's own machine. Every alert links to the events that raised it, and nothing leaves the device.

Browse all detections