THREAT-M365-SuspiciousOAuthConsent CrowdStrike LogScale · LogScale

Detect Suspicious OAuth Application Consent Grant in Microsoft 365 in CrowdStrike LogScale

Illicit OAuth consent grants are a persistent M365 attack vector where users are tricked into granting third-party applications excessive permissions to their Microsoft 365 data. Attackers register OAuth apps with convincing names ('HR Document Portal', 'Microsoft Security Update', 'Teams Bot') and send phishing emails directing users to 'consent' to the app. Once consented, the attacker's app has persistent API access (often with Mail.Read, Contacts.Read, Files.Read, or offline_access) without needing the user's credentials or bypassing MFA. Microsoft documented Storm-0558 and Midnight Blizzard using this technique. NCSC UK warns that illicit consent grants are particularly effective against SMBs because many lack admin consent workflows. Attackers can also use 'consent phishing' through OAuth apps registered in the same Entra ID tenant after initial compromise.

MITRE ATT&CK

Tactic
Credential Access Collection

LogScale Detection Query

CrowdStrike LogScale (LogScale)
cql
#type=azure_ad_audit_log
| OperationName in values=[
    "Consent to application",
    "Add delegated permission grant",
    "Add OAuth2PermissionGrant",
    "Add app role assignment to service principal"
  ]
| Result="success"
| test(
    regex("(?i)(Mail\\.Read|Mail\\.ReadWrite|Mail\\.Send|Mail\\.ReadBasic\\.All|Files\\.Read\\.All|Files\\.ReadWrite\\.All|offline_access|Directory\\.Read\\.All|User\\.Read\\.All|User\\.ReadWrite\\.All|Contacts\\.Read|Contacts\\.ReadWrite|Sites\\.Read\\.All|Sites\\.ReadWrite\\.All|MailboxSettings\\.ReadWrite|Calendars\\.ReadWrite|Group\\.Read\\.All)",
    field=AdditionalDetails)
  OR OperationName="Add app role assignment to service principal"
)
| groupBy(
    [ConsentorIP, AppName, ConsentorUPN],
    function=[
      count(as=ConsentEvents),
      collect([OperationName, AdditionalDetails, AppId], limit=20)
    ]
  )
| sort(ConsentEvents, order=desc)
| ConsentEvents > 0
| ThreatType := "SuspiciousOAuth_ConsentGrant"
| ThreatActors := "Storm-0558, Midnight Blizzard"
high severity medium confidence

CrowdStrike Falcon LogScale (Humio CQL) query detecting illicit OAuth consent grants in Azure Active Directory / Entra ID. Correlates consent and delegation grant operations where sensitive API permission scopes are assigned to OAuth applications, aggregated by consenting IP and user to surface bulk or anomalous consent activity. Covers TTPs attributed to Storm-0558 and Midnight Blizzard persistent access via OAuth token abuse.

Data Sources

Azure Active Directory Audit Logs forwarded to CrowdStrike Falcon LogScale via Azure Event HubMicrosoft 365 Unified Audit Logs ingested into Falcon LogScaleCrowdStrike Falcon Identity Protection Azure AD telemetry

Required Tables

azure_ad_audit_log

False Positives & Tuning

  • IT-sanctioned enterprise application onboarding where administrators intentionally consent to broad OAuth permission scopes for business-critical integrations such as backup, compliance, or CASB solutions
  • OAuth re-consent flows triggered by Microsoft tenant policy updates, Conditional Access enforcement changes, or permission scope modifications to existing trusted applications
  • Development and test environments where developers register OAuth applications and grant broad scopes during integration testing or pre-production validation cycles
Download portable Sigma rule (.yml)

Other platforms for THREAT-M365-SuspiciousOAuthConsent


Testing Methodology

Validate this detection against 1 adversary technique from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Illicit OAuth Consent Grant Simulation

    Expected signal: Azure AD Audit log records 'Consent to application' event with Mail.Read, offline_access, and Files.Read.All permissions for the test user.

Unlock Pro Content

Get the full detection package for THREAT-M365-SuspiciousOAuthConsent including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections