The User Clicked Accept… And Gave Away The Entire Mailbox
The user never typed their password into a fake website.
They never downloaded malware.
Microsoft Defender showed no obvious infection. No suspicious attachment was opened. No endpoint alert immediately explained what happened.
The sign-in passed MFA successfully.
Everything looked legitimate — until the mailbox activity told a different story.
This Agent Foskett briefing looks at one of the most misunderstood attack paths in Microsoft 365: OAuth consent phishing.
The attacker did not need the password. They did not need malware. They simply convinced the user to approve an application that requested access to the mailbox.
The user clicked Accept — and authorised the attacker to stay.
Briefing summary
OAuth consent attacks abuse legitimate Microsoft authentication workflows to gain access without stealing the user's password. MFA may succeed, the login may look normal, and the user may still grant a malicious application permission to read mailbox data.
The attack nobody notices
Why MFA did not stop it
First hunt: suspicious OAuth consent grants
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
AuditLogs | where TimeGenerated > ago(30d) | where OperationName has_any ("Consent", "Add delegated permission grant", "Add app role assignment") | project TimeGenerated, OperationName, InitiatedBy, TargetResources, Result | order by TimeGenerated desc
Common permission requests to investigate
Second hunt: risky application activity
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
CloudAppEvents | where Timestamp > ago(14d) | where ActionType has_any ("Consent", "Add service principal", "Add app role assignment") | project Timestamp, AccountDisplayName, Application, IPAddress, ActionType, RawEventData | order by Timestamp desc
Third hunt: mailbox behaviour after consent
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
CloudAppEvents | where Timestamp > ago(14d) | where Application has_any ("Exchange", "Office 365", "Microsoft 365") | where ActionType has_any ("MailItemsAccessed", "New-InboxRule", "Set-InboxRule", "UpdateInboxRules") | project Timestamp, AccountDisplayName, ActionType, Application, IPAddress, RawEventData | order by Timestamp desc
Where defenders get caught
How GEMXIT approaches this type of investigation
Final thought
In reality, they were authorising the attacker to stay.
Modern Microsoft security investigations are no longer only about stolen passwords, malware and failed sign-ins. Sometimes the compromise begins with a legitimate login, a successful MFA prompt and one dangerous approval screen.
The real question becomes:
“What did the user authorise?”
It is: “What access was granted after MFA?”
Continue the investigation with The User Passed MFA But It Wasn't Really Them, The Session Token Never Expired, The Login Came Through A Trusted Device, The Inbox Rule Was Created At 2:13AM, Microsoft Defender KQL Threat Hunting Guide, Agent Foskett Academy, Microsoft Security and the GEMXIT Security Review.
Develop IT. Protect IT.GEMXIT PTY LTD | GEMXIT UK LTD