A Microsoft 365 tenant compromised through business email compromise: malicious inbox rules, an OAuth consent grant and token theft, contained and hardened
A professional services firm of about 120 people on Microsoft 365 and Entra ID, with no dedicated security staff.
- Scale
- 1 Microsoft 365 tenant, 1 confirmed mailbox compromise, ~120 users, 1 malicious app consent
- Engagement
- 2 days of containment, 3 weeks of hardening
The challenge
An executive's mailbox sent a payment-change request that the executive never wrote. The firm used multi-factor authentication, yet someone had signed in, and nobody could say how, what else they could read, or whether they were still inside.
A professional services firm found out about its compromise from a customer, who questioned a request to change bank details. The client is not named on this page, and this is an illustrative engagement that describes the kind of work our team does; details are composite. The first call was to us, and the first instruction was to preserve evidence and avoid deleting anything.
The pattern was a common one. An employee had followed a link in a message that looked like a shared document and signed in on a lookalike page that relayed the login to Microsoft in real time. Because the relay captured the session token after multi-factor authentication was satisfied, the attacker did not need the password again. Ordinary SMS or app-code multi-factor authentication does not stop this; sign-in methods bound to the real site, such as passkeys and FIDO2 security keys, do.
Containment came first. Our team reset the password, revoked every session and refresh token for the account, and removed authentication methods and devices the attacker had added. Then came the part that is easy to miss: inbox rules that hid replies from the finance team and forwarded copies outside, and an OAuth app that the user had been tricked into consenting to, which would have kept access after a password reset. Both were removed, and the app's consent was revoked tenant-wide.
Log review answered the owner's questions. Sign-in logs, audit events and message trace showed when the attacker arrived, which mailboxes were read, and which messages were sent, so the firm's counsel could decide whom to notify instead of guessing. The finance team confirmed the payment request through a callback to a known number, so no money moved. Anyone who may have paid a similar request is told to contact their bank and law enforcement at once.
Hardening followed in order of risk. Conditional Access now requires phishing-resistant sign-in for administrators and finance staff, then for everyone, blocks legacy authentication and requires admin approval for new app consent. Defender for Office 365 policies cover impersonation and alert on new inbox rules and external forwarding, and staff training uses the real message as a lesson. This is the work our team does under cybersecurity and Microsoft Exchange services; it reduces the chance and the damage of a repeat, and it is not a guarantee.
What our team delivered
- Immediate containment: reset the account's credentials, revoke all refresh tokens and sessions, and block the attacker's sign-in locations while evidence was preserved
- Review of the mailbox for malicious inbox rules, forwarding and hidden folders, and of the tenant for added authentication methods, new devices and suspicious OAuth app consent grants; the rogue rules and the consented app were removed
- Log review of sign-ins, audit events and message trace to find what was read, what was sent and which other accounts and recipients were touched
- Conditional Access with phishing-resistant multi-factor authentication (passkeys or FIDO2 security keys) for administrators and finance staff first, then everyone, plus blocking of legacy authentication and restricted user consent to apps
- Defender for Office 365 tuned for impersonation and anti-phishing, with alerts on new inbox rules and external forwarding
- A written timeline and a notification assessment for the firm's counsel, plus a payment callback rule for any change of bank details
Result
The attacker was out within hours, the rogue rule and app consent were gone, and the firm knew which mailboxes and messages were affected. Phishing-resistant sign-in now protects the accounts that attackers aim for. This is an illustrative engagement, a modeled outcome and not a promise that a compromise cannot happen again.
Get this for your company
Related services with fixed prices and a written scope.
Emergency package: security engineer in 1 hour
Is your company in a cybersecurity crisis? Purchase this package and a security engineer will call you within 1 hour.
Callback within 1 hour, 24 hours a day, 365 days a year
$1,950 per incident
Initial assessment of public endpoints
What an attacker can see and reach from the internet: your domains, mail, websites, remote access and cloud exposure.
Report within 5 business days of kickoff
$1,000 per assessment
Insurance-ready bundle
The three things cyber insurers and clients ask for most: an external assessment, a phishing simulation for 25 users and a disaster recovery plan.
Assessment report in 5 business days; plan draft in 15 business days
$5,400 per bundle, phishing simulation for 25 users
Show 3 more
Active Directory health check
Find the misconfigurations that let an attacker go from one stolen password to full control of your domain.
Report within 5 business days
$1,800 per domain
Microsoft Exchange emergency recovery
Mail is down or an Exchange server is compromised. We stabilize, restore and secure it.
Engineer engaged within 2 hours
$2,900 per incident
Phishing simulation
A realistic, authorized phishing campaign with short training for anyone who clicks. Priced per person.
Campaign launches within 5 business days of approval
$12 per user, per campaign
After you purchase, we contact you within 1 hour, any time of day or night, to start onboarding.
No payment is taken online. When we call you within the hour we confirm the scope and send an invoice (ACH, card or crypto).
Every sign-in, verified
Staff sign in once, but behind the scenes the device, the identity, a phone approval and your access policy are all checked before any app opens, and strangers are turned away.
Mail that keeps flowing
Incoming mail is authenticated and scanned before it reaches anyone, mailboxes are copied across three regions so a server failure goes unnoticed, and outgoing mail leaves signed and encrypted.
Five million events, three escalations
What a managed SOC does to a day of log volume for a 250‑seat organisation. Collection produces millions of events; correlation rules turn them into a thousand or so alerts; triage merges and dismisses most of those into dozens of incidents; only a few need a human on the customer side. Bar length is the logarithm of the count, so each step is orders of magnitude. Illustrative figures.
Facing something similar?
Tell us about your environment. We will tell you plainly what we would do and what it would take.