Back to blog
Threat Intel
Phishing Forensics

Postmortem: The Phish That Wore a Ghost's Skin

An attacker bypassed our gateway using an expired domain that inherited years of good reputation. This is how we found it.

MailSleuth Research
Email Security Team
July 28, 20267 min read
An illustration of a shadowy figure putting on a ghostly suit, symbolizing a threat actor stealing the reputation of an

The alert looked like a false positive. The reported email, a simple 'document shared with you' notification, came from a five-year-old domain. It passed SPF and DKIM. Our gateway's threat feed had it categorized as 'Business & Economy.' Everything screamed benign, except for the user who reported it and the credential harvesting link tucked inside.

This wasn't a sophisticated, zero-day exploit. It was something far more common and, in many ways, more insidious. It was an attack that weaponized the security community's own heuristics and the very concept of digital trust. The attacker didn't bother creating a new, suspicious-looking domain.

They just bought a dead one and wore its skin.

The Incident: A 'Trusted' Domain Goes Rogue

The initial user report was for an email from `shipping@global- logistical.net`. The body was spartan: a link to review a 'pending shipment manifest'. The domain itself felt plausible, even boring. It didn't have the typical hallmarks of a phishing domain—no `global-logistical-net.com` typosquatting, no long, randomized subdomain. It just felt like a small business domain.

Our automated defenses saw the same thing. The first-pass analysis showed a clean sheet. SPF, as defined in RFC 7208, returned a 'pass'. DKIM, per RFC 6376, also yielded a 'pass' with a valid signature. DMARC (RFC 7489) alignment checked out, though the policy was a permissive `p=none`—still, not a hard failure. The first `Received` header showed it originated from an IP that wasn't on any major blocklist. Based on these signals, the mail gateway let it through.

The failure point wasn't in the authentication checks themselves. The attacker, having legally registered the expired `global-logistical.net` domain, had full control of its DNS records. Of course they could create SPF and DKIM records that validated against their own sending infrastructure. A 'pass' verdict only confirms that the email came from a server authorized by the *current* domain owner. It's a check of authenticity, not intent. This is a critical distinction that trips up junior analysts and, as we saw, automated systems.

Initial Triage Failure: The Domain Age Mirage

Every SOC analyst has an instinctual checklist. One of the first is to check the domain's age. A domain created three hours ago sending password reset links is an immediate red flag. So, when the first analyst on duty pulled the WHOIS record for `global-logistical.net`, the result was disarming.

Creation Date: 2017-08-22T14:30:11Z

A domain created over five years ago. In the world of email security, that's ancient. It implies stability and a history of legitimate behavior. This single data point did more to delay a proper incident response than anything else. It anchored the investigation in the assumption that this was a compromised legitimate account, not a purpose-built phishing campaign.

Clean Authentication Isn't Trust

The email headers further muddied the waters. The `Authentication-Results` header, a machine-readable summary of the email's security posture defined in RFC 8601, provided a clean bill of health. It looked something like this:

Authentication-Results: mta.mycorp.com; dkim=pass header.d=global-logistical.net; spf=pass (sender IP is 198.51.100.24) smtp.mailfrom=shipping@global-logistical.net; dmarc=pass action=none header.from=global-logistical.net

Again, everything is technically correct. The attacker set up their sending server at `198.51.100.24`, added it to the `global-logistical.net` SPF record, signed the message with a valid DKIM key, and reaped the reward: a `dmarc=pass` that told our mail gateway, 'all clear'. This wasn't a forgery; it was a legitimate message from an illegitimate owner.

The Reputation Feed Lag

The final piece of the puzzle was the domain category. Our gateway, like most, subscribes to multiple threat intelligence and web categorization feeds. For years, `global-logistical.net` was a real, albeit defunct, small logistics blog. Crawlers had indexed it, categorized it as 'Business', and moved on. When the domain expired and the site went dark, that categorization lingered. The domain never resolved to a parked page long enough to get re-classified. The attacker simply picked it up before the world's security infrastructure noticed it was empty. They were exploiting the latency inherent in a global, distributed system of reputation.

The WHOIS Deep Dive: Uncovering the Seam

The breakthrough came when a senior analyst, bothered by the discrepancy between the 'trusted' signals and the malicious payload, went beyond the surface-level WHOIS data. The `Creation Date` is a historical artifact; it never changes. The real story is often in the `Updated Date`.

'Updated Date' Is the Real Tell

A deeper look at the full WHOIS record revealed the critical clue:

Creation Date: 2017-08-22T14:30:11Z
Registry Expiry Date: 2022-08-22T14:30:11Z
Updated Date: 2023-11-15T08:12:45Z

There it is. The domain was created in 2017 but expired in August 2022. After a grace period and redemption hold, it was dropped from the registry and became available again. The `Updated Date` of November 15, 2023—less than 24 hours before the phishing campaign began—showed the exact moment the attacker's registration script snagged it. That `Updated Date`, when correlated with the domain's expiration, tells a story of death and rebirth. For a security analyst, that story is always a thriller.

Chasing Nameservers and Registrars

This discovery led to pulling the domain's historical DNS and WHOIS data. For years, the domain was registered via a reputable US-based registrar and used common hosting provider nameservers. The historical records for the day of the attack, however, showed a sudden shift. The registrar was now a notorious 'bulletproof' provider known for ignoring abuse complaints, and the nameservers had changed from a familiar brand to two obscure, self-hosted servers in an unrelated country. The transfer of control was clear and absolute. The old domain was a ghost, and a new entity was now pulling the strings.

Playbook Revision: Trust Is a Moving Target

An incident like this forces a re-evaluation of triage procedure. Relying on a single 'domain age' data point is no longer sufficient. We need to teach our analysts—and our automated systems—to view domain trust as a fluid, not static, property.

Integrate Historical Context

The first change is procedural: the `Updated Date` in a WHOIS record is now a primary field for review, right alongside the `Creation Date`. A recent update to an old domain is now a flag for escalation, not a sign of routine maintenance. It prompts the question: what changed?

To answer that, passive DNS (pDNS) is non-negotiable. An analyst must be able to see the domain's historical IP resolutions and nameserver records at a glance. A domain that has resolved to the same IP block for five years and then suddenly shifts to a new, unrelated ASN (Autonomous System Number) yesterday is one of the strongest indicators of an ownership change. This context, which was previously a nice-to-have for deep forensics, must become part of the initial triage.

Correlate Disparate Signals

The new playbook emphasizes correlation. Does the `Received` header's source IP exist in the domain's pDNS history? Does the new nameserver's TLD match the supposed registrar country? Does the historical WHOIS show a recent change from a major corporate registrar to one that deals in cryptocurrency payments? Each data point alone might be weak, but together they paint a clear picture of an expired domain security risk being actively exploited.

This isn't about discarding SPF, DKIM, or DMARC. These standards are essential for preventing basic spoofing. But we must treat them for what they are: technical checks on message authenticity, not character references for the sender. The real work of threat hunting begins after the authentication check passes.

The takeaway

Reputation is rented, not owned. A domain's good name, built over years, can be bought for pocket change by an attacker the moment it expires. They are banking on our security tools being slow, our analysts being overworked, and our heuristics being simplistic. They are betting that we check the creation date, not the update date.

This incident was a stark reminder that our tooling needs to evolve beyond simple, point-in-time checks. Analysts need tools that can automatically surface historical context—DNS changes, WHOIS updates, and reputation shifts—and flag the discrepancies that signal a hostile takeover of a previously benign asset. Platforms like MailSleuth.AI exist to connect these dots automatically, turning a 30-minute deep dive into a 30-second verdict. In the end, the human analyst still makes the call, but they must be armed with the right history to see the ghost in the machine.

#email-security#phishing-analysis#threat-intelligence#expired-domains#dns-security#incident-response
MailSleuth Research
Email Security Team

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