Back to blog
Threat Intel
Phishing Forensics

Beyond the Exit Node: Triaging Phish from Anonymizing Proxies

A VPN IP in your email logs isn't a dead end—it's the starting point for a deeper hunt through headers, ASNs, and authentication chains.

MailSleuth Research
Email Security Team
July 22, 20267 min read
An illustration of a server rack with a glowing cable that becomes tangled in a knot of other wires, symbolizing a phish

It’s a familiar moment for any analyst. You’re tracing a nasty phish and you pull the last external `Received` header. The source IP resolves to a household-name VPN provider. It feels like a dead end, a digital brick wall. But it’s not. The presence of an anonymizer isn't the end of the investigation; it's a signal to change your tactics.

Treating that VPN IP as the final word is a critical mistake. It's just one piece of routing data in a much larger puzzle. The attacker is counting on you to give up. We’re going to do the opposite. We’re going to pivot, dig deeper into the infrastructure, and use the email’s own authentication mechanisms against its sender.

This isn't about magically unmasking a Tor user. This is a practical incident response workflow for when the easy answers are gone. We'll focus on what you *can* control and what the headers *do* tell you, even when the source IP is a ghost.

Confirm the Anonymizer, Categorize the Threat

First, verify your assumption. Don't just `whois` the IP and call it a day. Use a proper IP intelligence tool to determine if you’re looking at a commercial VPN service, a datacenter proxy, or a Tor exit node. Each has different implications for the attacker’s sophistication and intent.

VPNs, Proxies, and Tor Nodes

A commercial VPN IP suggests a low-to-medium skill attacker. It’s simple, cheap, and effective for bypassing basic geofencing. A datacenter proxy, especially from a cloud provider like AWS, Azure, or GCP, is more ambiguous. It could be a legitimate service, a compromised server, or an attacker who spun up a VM just for this campaign. The crucial detail is that they chose a specific provider and region. A Tor exit node indicates a desire for high anonymity, often at the cost of speed and reliability. This choice reveals something about the attacker’s threat model.

Why does this classification matter? It frames your next move. An attack from a residential IP in an unexpected country is a different problem than an attack from a known 'bulletproof' hosting provider’s IP block. The former might be a compromised home computer; the latter is a deliberate choice of infrastructure.

Pivot from IP to ASN: Hunt in the Neighborhood

Blocking the single VPN IP is reactive and pointless. The attacker has a near-infinite supply. The real intelligence lies in the Autonomous System Number (ASN). An ASN is a collection of IP ranges operated by a single entity—an ISP, a university, a cloud provider. Pivoting to the ASN tells you who owns the digital real estate where the attacker is operating.

Once you have the ASN, you can assess its reputation. Is it a major, reputable provider where one bad actor is hiding among millions of legitimate users? Or is it a small, shady ASN known for hosting malware C2 servers and phishing sites? This context determines the viability of any large-scale blocking. You can't block all of Google Cloud, but you can certainly consider blocking an entire ASN that has a terrible reputation and no legitimate business with your organization.

Bulletproof Hosting vs. Cloud Providers

The ASN reveal is often a clear signal. If the IP belongs to AS-CHOOPA (Vultr) or AS-DIGITALOCEAN, you're likely dealing with a technically competent adversary who can easily spin up new infrastructure. If it resolves to an ASN known for lax abuse policies—often called 'bulletproof hosting'—you've found a strong signal of malicious intent. That ASN is a candidate for proactive monitoring or even outright blocking at the firewall or mail gateway, depending on your risk tolerance.

Walk the 'Received' Chain: Hunt for the Leak

Email headers are a forensics goldmine. The `Received` headers form a breadcrumb trail showing the path an email took from the sender's mail user agent (MUA) to your user's inbox. You must read this chain from bottom to top to trace it back in time. Even if the final hop into your environment was via a VPN, an earlier hop might betray the true origin.

Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by mx.example.com (Postfix) with ESMTPS id 4E8C1800F5 for <analyst@example.com>; Tue, 15 Oct 2023 10:30:15 -0400 (EDT)

Each `Received` header is added by the server that accepted the email. The topmost `Received` header is the one added by your own mail server. The one below that is the server that connected to yours, and so on. The attacker's VPN IP will be in one of the last few hops you can see. But what if they made a mistake? What if their own mail client, configured on their local machine, first sent the email to their legitimate ISP's smarthost, which *then* relayed it? The IP of that smarthost might be present, and it's another piece of the puzzle.

X-Originating-IP and Other Header Anomalies

Keep an eye out for non-standard but highly revealing headers like `X-Originating-IP` or `X-Sender-IP`. These are often added by the very first mail server that received the message from the user's email client (like Outlook or Thunderbird). A properly configured anonymizer setup will obscure this, but attackers make mistakes. They might use a webmail client that leaks their IP or a misconfigured local proxy. Finding a non-RFC, private IP address in one of these headers can reveal information about the attacker's internal network setup, which is an invaluable indicator.

Correlate Anonymity with Authentication Failures

A VPN IP alone is not conclusive evidence of malice. Many legitimate users, including your own traveling executives, use them for privacy and security. The anonymizing IP becomes a major red flag when it's correlated with other suspicious signals, especially email authentication failures.

This is where SPF (RFC 7208), DKIM (RFC 6376), and DMARC (RFC 7489) become your best friends. These mechanisms are designed to answer one question: Is this email really from who it says it's from? A phisher using a VPN and spoofing a legitimate brand is almost guaranteed to fail these checks.

Reading the Authentication-Results Header

Check the `Authentication-Results` header. Did SPF `fail` because the VPN IP is not listed in the sending domain's SPF record? Of course it did. Did DKIM `fail`? Maybe the signature was invalid or nonexistent. Did DMARC `fail` because the `From` header domain doesn't align with the domains verified by SPF or DKIM? When you see a VPN IP paired with a `dmarc=fail` and a policy of `p=reject`, you have high confidence that this is a malicious message. The VPN isn't just for privacy; it’s a tool being used to bypass basic source IP reputation.

This correlation is the core of modern email threat hunting. You are building a case. The VPN IP is circumstantial evidence. The DMARC failure is forensic proof. Together, they tell a compelling story of malicious intent.

Refine Containment: Beyond Whack-a-Mole

So, you've confirmed a malicious campaign is using a VPN provider's network. Your impulse is to block. Resist the urge to just block the single /32 IP address. That’s a losing game.

Broadly blocking the entire ASN of a major cloud or VPN provider will cause massive collateral damage, blocking legitimate email and services. A smarter strategy involves creating more nuanced rules at your mail gateway or EDR. Instead of `BLOCK SRC_IP=x.x.x.x`, think in terms of compound logic.

For example, create a rule that triggers on a combination of factors: `IF (Source ASN is in [list of high-risk VPN/proxy ASNs]) AND (DMARC result is 'fail') THEN (Quarantine or Reject)`. This approach reduces false positives dramatically. You aren't punishing the VPN user; you're punishing the email that fails authentication *and* comes from a suspicious network neighborhood. It's a precise, evidence-based containment strategy.

This also allows you to be more aggressive. You might build a reputation score for various ASNs. An email originating from an ASN with a terrible reputation might need only one other negative signal (like a failed SPF check) to be blocked, while an email from a major cloud provider's ASN might need multiple failures before action is taken.

The takeaway

An anonymized IP in an email header isn't a dead end. It's a pivot point. It forces you to move beyond simplistic IP-based reputation and engage with the richer, more reliable data within the email itself. The attacker's use of a VPN is a tactic to hide their location, but it does nothing to hide a failed DMARC alignment or an invalid DKIM signature.

By shifting your focus from the attacker's disposable IP to their less disposable attack patterns—the domains they spoof, the ASNs they favor, the authentication failures they generate—you move from playing whack-a-mole to building a resilient, intelligent defense. Seeing these patterns across thousands of messages is where tools like MailSleuth.AI help turn individual incident data into proactive security posture.

#email-security#phishing#incident-response#dmarc#threat-hunting#vpn
MailSleuth Research
Email Security Team

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