TL;DR A notice about held messages reached a regional hospital system's fundraising foundation carrying one call to action. The link was a social-platform bio-link redirector whose query string was dressed to look like an ad-network click pass-through, and it named its landing domain in its own parameters. Automated scanning called it clean. The scanner's own screenshot showed the successful attempt resolving to a different, unrelated domain behind a verify-access bot gate. The display name impersonated the hospital while the address sat on an unrelated nonprofit domain published with a non-enforcing DMARC policy.
Severity: High Brand-Impersonation Open-Redirect-Abuse Credential-Harvesting Esp-Infrastructure-Abuse MITRE: T1566.002 MITRE: T1036.005

One button. A notice about messages being held undelivered reached the philanthropic-fundraising arm of a regional hospital system, offering a single orange call to action reading "View Emails." Underneath it sat a bio-link redirector on TikTok, its query string padded with parameters shaped exactly like a Google DoubleClick ad-click pass-through, including a field naming the campaign's own landing domain.

Automated scanning rated the link clean. Both copies of it, in fact. So the verify pass pulled the scanner's stored screenshots instead. The page that came back was not on the domain the URL's own parameter named. It was a bot gate on an entirely different domain, one that appears nowhere in the link and nowhere else in the case record.

A Call to Action Dressed as Ad-Tech Plumbing

What is verifiable, verbatim out of the raw HTML, is the shape of the string. The button pointed at a tiktok[.]com/link/v2 endpoint carrying an application id and a scene=bio_url marker, the profile bio-link handler, not an ordinary content URL. Threaded into it was a target= parameter formatted as adclick[.]g[.]doubleclick[.]net/pcs/click with an opaque tracking token, and then an adurl= parameter naming a privacy-registered domain that had been sitting quietly well over a year before this send.

The reasoning is not subtle. Every early hop a reputation engine encounters belongs to a household name. A major social platform. A major ad-serving network. Neither is blockable, neither carries a fresh-registration signal, and both hold valid certificates and real traffic. MITRE ATT&CK files the delivery under spearphishing link, and the 2026 Verizon Data Breach Investigations Report puts phishing behind 16% of breaches as an initial access vector, with credentials in play across 39%. Reputation-first URL analysis is the control this shape is built to satisfy.

One caution, because the record supports no more than this: what was confirmed is that the string exists in the message. Nobody watched the ad-network hop function as a working pass-through, and text is not a traversal.

The Screenshot and the URL Named Different Domains

The message carried two near-identical copies of the call to action, and the platform scanned both. One screenshot shows an error page rendered at the social platform itself, the attempt dying before it went anywhere. The other, the one that actually got somewhere, is tagged with a different domain, tristateindustrialsupplwixy[.]vu, a random-suffix name on a disposable country-code namespace, WHOIS-dark. It displayed an interstitial demanding a checkbox before continuing, the familiar verify-access challenge.

Set the two artifacts side by side and the disagreement is the finding. The URL says its endpoint is one domain. The only capture of a successful resolution says another. Either the chain hops onward past what the parameters describe, or those ad-network parameters are decoration rather than working plumbing, and the record does not settle which. What it does settle is the general lesson: a URL's parameters are an assertion by whoever wrote them, while a screenshot is evidence. Even a fully expanded, fully readable redirect chain can misdescribe its own terminus.

The bot gate deserves the same discipline. An interstitial that will not render until a human clicks is an anti-automation control, and a plausible reason a link scan came back clean twice. It is not a credential form. Whatever waits behind it was never observed, and CISA's phishing guidance is direct about how routinely campaigns hide the payload one interaction deeper than a crawler goes.

The Fragment That Spelled Out the Target

Appended to the link, after the hash, was a base64 blob. Decoding it independently, rather than trusting any narrative about it, returns the recipient's exact mailbox address. This link was minted for one person.

That matters twice over. Per-target personalization lets the landing page greet the victim by address and prefill a username field, the strongest trust cue a credential page has. It also means the address rode along encoded, and a URL fragment is never sent to the server at all, so a control grepping link strings for plaintext addresses sees nothing to flag.

The footer undercut the performance. It named the recipient's own address, then declared the message intended for that address "only for" the webmail service of an unrelated business, with a mailbox at that business beside it, neither connected to the hospital system or the sending domain. That is kit residue, boilerplate left unscrubbed from a previous target.

See Your Risk: Calculate how many threats your SEG is missing

The Display Name Did All the Impersonating

The visible sender read as the hospital system's own name followed by "Exchange" and a hex string, the sort of alias that scans as internal mail plumbing. The address behind it sat on a long-established European nonprofit domain created back in 2001, on a mainstream registrar with national DNS hosting, a real organization with a real mail history. The platform's own impersonation detector flagged the mismatch independently: the name in view was not the domain in the header.

That nonprofit is a bystander, not a participant. SPF and DKIM at every hop align to Amazon SES, the ESP account the attacker was sending through, and never to the nonprofit's domain. Nothing of theirs was touched. DMARC for their domain failed outright at the origin hop, and the only reason that cost the attacker nothing is that the domain publishes p=none, report-only, with no enforcement behind it. RFC 9989 evaluates alignment, never intent, and a non-enforcing policy is the gap that DMARC monitoring and management exists to close.

One line in the case notes is worth deflating. The final-hop verdict shows SPF failing, which read alone looks like header manipulation. It was not. That check ran against the relay IP of the recipient organization's own inbound gateway, which had already forwarded the mail, and SPF passed legitimately at the earlier hop against the true sending IP. An ordinary forwarding artifact, and calling it tradecraft sends triage after a technique nobody used.

What Actually Carried the Verdict

Our Adaptive AI scored the message at 90% confidence and labeled it credential theft, and it got there without help from the link. The URL scan was clean on both elements, and there were no attachments. What remained was content and language pattern analysis, the sender-behavior inconsistency between the alias in view and the address in the header, and community reputation signals from similar previously reported mail. The single affected mailbox, a gift-officer role in the foundation, was quarantined and the incident auto-resolved as phishing.

That division of labor is the point. When every scannable hop is reputable and the terminus hides behind an anti-bot challenge, URL verdicts stop saying much about credential harvesting. Sender behavior, brand-to-domain consistency and language stay readable. NIST defines phishing around deception rather than payload, and the deception was legible in the headers even while the destination refused to show itself.

Indicators of Compromise

TypeIndicatorContext
CTA URLhxxps://tiktok[.]com/link/v2?aid=1988&scene=bio_url&target=adclick[.]g[.]doubleclick[.]net//pcs/click?...&adurl=//[claimed-domain][.]com/api/...The one call to action; tracking token, ad parameters and per-recipient fragment elided. Scanner verdict clean
Redirector endpointtiktok[.]com/link/v2 with scene=bio_urlSocial platform bio-link handler used as the first hop; also present as a www variant
Decoy parameter hostadclick[.]g[.]doubleclick[.]netAd-network click path present in the query string; never observed working as a live pass-through
Claimed landing domain[claimed-domain][.]comNamed by the URL's own adurl= field, genericized; privacy-registered well over a year earlier and NOT confirmed as the resolved destination
Resolved domaintristateindustrialsupplwixy[.]vuDomain in the screenshot of the one successful traversal, serving a checkbox verify-access gate; content behind the gate never captured. WHOIS returns no data
Sender addressinfo@[nonprofit-domain][.]orgHeader-From, genericized bystander mailbox; spoofed, not compromised
Sender domain[nonprofit-domain][.]orgCreated 2001, mainstream registrar, national DNS hosting; publishes p=none
Envelope-from[bounce-token]@amazonses[.]comAttacker-controlled ESP sending identity, token elided; where SPF and DKIM actually aligned
Origin IP54[.]240[.]8[.]98Amazon SES outbound relay, the true origin where SPF legitimately passed for the ESP
Sender aliasHospital system name plus Exchange plus a hex stringImpersonation lived entirely in the display name
Subject[**EXTERNAL**][recipient-domain] Undeliverable Email Notification - Action RequiredHeld-mail pretext, recipient domain genericized
URL fragmentBase64 blob decoding to the recipient mailbox (value withheld)Per-target personalization; fragments never reach the server, so plaintext link grepping cannot see it
Auth artifactdmarc=fail with p=none for the header-From domain at every hopNon-enforcing policy is the only reason nothing rejected the spoof

MITRE ATT&CK Mapping

  • T1566.002, phishing via spearphishing link, delivered as one per-recipient redirector URL
  • T1036.005, masquerading by matching a legitimate name, the display name rewritten to the target organization's own brand

The Takeaway

Two habits break here at once. The expensive one is reading a redirect URL as documentation of where a click lands, because a target= or adurl= value is authored by the attacker and costs nothing to falsify. Our own URL and our own screenshot disagreed about the endpoint, and only one of them was a measurement. The cheaper one is treating a clean link verdict as a statement about a page: when a chain opens on platforms nobody can block and closes on a challenge no crawler will pass, that verdict describes reachability, not content. Expand redirect chains, check the expansion against a capture, and keep the controls that read the sender and the language.

Email Attack of the Day is a daily series from IRONSCALES spotlighting real phishing attacks caught by Adaptive AI and our community of 35,000+ security professionals. Each post breaks down a real attack. What it looked like, why it worked, and what to do about it.

Related attacks

Attack What happened
A Fake DocuSign That Never Touches DocuSignA fake DocuSign notice reached a US accounting firm carrying zero DocuSign infrastructure.
Every Link Is Amazon: How Legitimate Infrastructure Becomes the Phishing PayloadA phishing email passed SPF, DKIM, and DMARC with a perfect compauth score of 100.
Closing Settlement for Ironscales: A Trello Template Weaponized with Stolen Brand IdentityA Trello notification template carrying Atlassian branding, a Brazilian sending domain with full SPF/DKIM/DMARC authentication.
A Voicemail That Never Rang: How Attackers Chained Three ESPs to Launder Email AuthenticationAttackers chained SendGrid, Mailchimp, and ActiveCampaign Pages to deliver a voicemail-themed credential harvester that passed SPF and DKIM while...
The Fireflies Meeting Recap That Never Happened: Dual-Brand Impersonation via Amazon SESA phishing campaign combined Fireflies.ai meeting recap templates with Microsoft Teams branding to target a financial controller.

Explore More Articles

Say goodbye to Phishing, BEC, and QR code attacks. Our Adaptive AI automatically learns and evolves to keep your employees safe from email attacks.