Adversary-in-the-middle phishing and session token theft at an accounting firm in tax season, contained and closed off
An accounting and tax firm of about 60 people on Microsoft 365, a leader in its segment.
- Scale
- 1 Microsoft 365 tenant, ~60 users, 3 accounts phished, 1 malicious inbox rule set removed
- Engagement
- 1 day of containment, 2 weeks of hardening, during the busiest weeks of the tax season
The challenge
A partner noticed replies in a client thread that she had never written. Staff used multi-factor authentication, yet someone had read client mail and sent messages from three accounts. It was the middle of tax season, with client tax documents, identity details and filing deadlines all in mailboxes, and the firm could not afford to take email offline.
An accounting firm of about 60 people called us during tax season after a partner saw replies in a client thread that she had never written. The client is not named on this page. This is an illustrative engagement that describes the kind of work our team does; details are composite. Email could not go offline: returns, identity documents and filing deadlines all lived in mailboxes, so the first instruction was to contain the attacker without stopping the firm.
The cause was an adversary-in-the-middle phishing attack. Three staff had followed a link in a message that looked like a document share and signed in on a lookalike page. The page relayed each login to Microsoft in real time, so the staff member passed multi-factor authentication, and the attacker kept the session token that Microsoft issued. With the token the attacker did not need the password or a second code. App-code and text-message sign-in do not stop this pattern.
Containment came first. Our team revoked every session and refresh token for the three accounts, reset the credentials and removed sign-in methods and devices the attacker had registered. Then we searched every mailbox for what attackers leave behind: rules that hid replies, moved messages to obscure folders or forwarded copies to outside addresses. Those rules were removed tenant-wide, and the firm's counsel received a timeline built from sign-in logs, audit events and message trace.
Closing the door took three controls. Conditional Access now requires phishing-resistant sign-in, passkeys or FIDO2 security keys, for partners, staff who handle client documents and administrators, because those methods are bound to the real site and a lookalike page cannot relay them. Token protection ties a session to the device it started on, so a stolen token is far less useful elsewhere. Legacy authentication is blocked, and alerts fire on new inbox rules and external forwarding.
The firm stayed open through the filing deadline, and staff learned from the real message instead of a canned example. Any change to a client's bank or refund details now needs a callback to a known number. This is the work our team does under cybersecurity and email security services; it reduces the chance and the damage of a repeat, and it is not a guarantee.
What our team delivered
- Immediate containment: revoke every session and refresh token for the affected accounts, reset credentials and remove sign-in methods and devices the attacker had registered
- Conditional Access with phishing-resistant multi-factor authentication (passkeys or FIDO2 security keys) for partners, staff who handle client documents and administrators, with legacy authentication blocked
- Token protection and sign-in session controls that bind a session to the device it started on, so a stolen token is far less useful elsewhere
- Mailbox rule cleanup: hidden rules, forwarding to outside addresses and rules that moved replies out of sight were found and removed across the tenant
- Review of sign-in logs, audit events and message trace to show which mailboxes were read and which client messages were sent
- A written timeline and a notification assessment for the firm's counsel, plus a callback rule for any change of bank or refund details
Result
The attacker's access was cut within hours, the rogue rules were gone and the firm knew which mailboxes were touched. Email stayed online through the filing deadline, and phishing-resistant sign-in now protects the accounts attackers aim for. This is an illustrative engagement that describes the kind of work our team does; details are composite.
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
Email security with AI detection and DLP
Inbound and outbound protection: phishing, malware and impersonation caught by AI detection, with data loss prevention for what leaves.
Live within 7 business days
$7 per mailbox, per month
Compromised-mailbox monitoring and alerts
We watch each mailbox for signs of takeover, such as odd logins, forwarding rules and mass sending, and alert you fast.
Live within 5 business days
$4 per mailbox, per month
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.