Back to blog
Threat Intel
Phishing Forensics

Postmortem: The Phish That Passed SPF But Failed a Category Check

A pristine business email compromise lure bypassed standard authentication, but an overlooked domain categorization revealed the entire operation.

MailSleuth Research
Email Security Team
September 6, 20267 min read
Editorial illustration of a pristine wax seal casting a corrupted, jagged shadow

Tier 1 analysts closed the ticket as a false positive within four minutes. The user had reported a suspicious wire transfer request, but the triage dashboard painted a picture of absolute legitimacy. The sender IP belonged to a massive, reputable cloud provider. The domain was not on any blocklist. Every cryptographic check glowing green in the secure email gateway interface suggested the sender was exactly who they claimed to be.

I pulled the ticket back out of the queue after the user forwarded the message directly to the security team inbox, insisting the vendor contact was acting out of character. This is the operational reality of modern business email compromise. Attackers are no longer relying on spoofed headers or compromised infrastructure with terrible sender reputations. They are building pristine infrastructure from scratch, fully compliant with modern email standards, specifically designed to glide through automated defenses.

The ensuing investigation revealed a sophisticated attack chain that completely inverted our standard assumptions about sender trust. The breakthrough did not come from a hidden macro, a malicious payload, or a failed signature. It came from querying the architectural purpose of the domain itself, exposing a domain category mismatch phishing attack that our gateway was fundamentally blind to.

The Illusion of Cryptographic Authenticity

When the escalation reached my desk, the first step was a manual teardown of the email headers. The message was masquerading as an urgent accounts payable update from a known logistics vendor. The domain in the From address was a near-perfect lookalike, swapping a single character that was almost impossible to spot without a monospaced font. But lookalike domains are common. What made this payload dangerous was the infrastructure backing it.

The threat actor had not simply registered a typo-squatted domain and fired off emails from a bulletproof host in a non-extradition jurisdiction. They had gone through the entire administrative lifecycle of setting up a legitimate tenant on a major cloud provider. They configured their DNS records meticulously. When the email hit our boundary, the secure email gateway executed its standard battery of checks.

Authentication-Results: spf=pass (sender IP is 40.107.X.X) smtp.mailfrom=logistics-update.com; dkim=pass header.d=logistics-update.com; dmarc=pass action=none header.from=logistics-update.com;

Seeing this exact log line during an investigation is often where junior analysts drop the thread. According to RFC 7208, SPF passed because the sender IP was authorized by the domain owner. According to RFC 6376, DKIM passed because the cryptographic body hash matched the signature. And because the domain in the header matched the domain in the signature, DMARC alignment was perfect. The email was cryptographically flawless. The gateway did exactly what it was programmed to do: it trusted the math.

Pivoting Away from the Payload

When Safe Links Lie

With the headers offering no leverage, the next logical pivot was the payload. The email contained a single hyperlink directing the user to a secure document portal. Detonating the link in a sandbox returned a clean verdict. The URL did not point to a known credential harvesting framework, nor did it attempt to drop a binary payload. It was a redirect chain.

The initial link pointed to a legitimate, highly trusted marketing analytics platform. The attacker was utilizing an open redirect vulnerability on a platform with immense domain reputation. Our gateway saw the trusted domain, checked its static lists, and allowed the link through. By the time the sandbox followed the redirect chain to its final destination, the credential harvesting page had already fingerprinted the sandbox environment and served a benign 404 error page instead.

The Categorization Blind Spot

We were staring at a clean IP, a clean domain reputation, perfect authentication, and a sandbox-evading payload. The breakthrough happened when we stopped looking at what the email was doing and started looking at what the apex domain was supposed to be. I took the lookalike domain and queried it against our enterprise web proxy threat intelligence feed, looking for historical web traffic data.

The API response came back with a categorization that broke the case wide open. The threat intelligence provider had classified the apex domain not as Business, Finance, or Technology, but as a Parked Domain. This was the smoking gun. There is no legitimate business reason for a parked domain, which by definition exists only to serve registrar holding pages or ad networks, to be sending strictly authenticated financial invoices via a premium cloud tenant.

The Physics of Categorization Exploitation

To understand why this attack worked, you have to look at the latency inherent in global threat intelligence networks. When an attacker registers a new domain, they immediately stand up an MX record and configure their TXT records for SPF and DMARC. Within minutes, they are capable of sending fully authenticated mail.

Web categorization, however, relies on crawlers. When a domain is first registered, the registrar often points it to a default holding page. Threat intelligence crawlers hit this page, see the generic registrar template, and assign the Parked Domain category. If the attacker leaves the HTTP side of the domain alone and only uses the SMTP side for phishing, that categorization remains static.

This creates a massive operational advantage for the adversary. Secure email gateways heavily weight sender IP reputation and cryptographic authentication. They rarely cross-reference the web categorization of the sender domain during the SMTP transaction because performing an external API call for every inbound message introduces unacceptable latency. The attacker slips perfectly authenticated mail through the gap between SMTP trust and HTTP categorization.

Rebuilding the Triage Playbook

Context Over Cryptography

This incident forced a complete rewrite of our tier-one escalation criteria. We could no longer rely on a green dashboard light to determine the safety of an inbound message. Authentication proves that a sender controls the domain, but it tells you absolutely nothing about the intent of that domain. Passing DMARC is not a substitute for benign intent.

We instituted a mandatory context check for all reported messages. If an email requests financial action, credential input, or sensitive data transfer, the analyst must verify the functional reality of the sending domain. Does the domain actually host a corporate website? Was the domain registered within the last thirty days? What is the web proxy categorization for the apex domain?

Automating the Disconnect

Manual checks are a stopgap. To operate at scale, we had to push this logic back into our automated defenses. We built a custom detection playbook in our SOAR platform to bridge the gap between our email gateway and our web proxy intelligence. We could not inspect every inbound email, but we could inspect the high-risk ones.

The logic is straightforward. If an email contains financial keywords or file sharing links, the SOAR extracts the sender domain and queries the web categorization API. If the domain returns a category of Parked, Newly Registered, Personal Pages, or Unknown, the playbook automatically yanks the message from the user inbox and isolates it in a quarantine container. We traded a few seconds of post-delivery analysis time for a massive increase in defensive visibility.

The takeaway

Threat actors understand exactly how our defensive appliances make decisions. They know that a clean sender IP and a valid DKIM signature will act as a VIP pass through most enterprise gateways. By exploiting the latency in domain categorization and the inherent silos between email security and web intelligence, they can deliver payloads that look mathematically identical to legitimate business correspondence.

Defeating this class of attack requires breaking those silos. Security operations teams must stop treating authentication as a proxy for safety. When you encounter an investigation that feels too clean, stop looking at the cryptographic math and start looking at the structural context of the sender. Tools like MailSleuth.AI are built to surface these exact structural anomalies automatically, but whether you build the automation yourself or buy it, the mandate remains the same. You have to verify the business reality of the sender, not just the signatures on their envelopes.

#incident-response#email-forensics#phishing#detection-engineering#threat-intel
MailSleuth Research
Email Security Team

We dissect phishing campaigns and email infrastructure so you don't have to.