TL;DR Four mailboxes at a national insurance and employee-benefits brokerage received a personalized missed-message notification styled as a Microsoft Teams alert. The sending domain was newly registered and unrelated to Teams, but the message passed SPF and DMARC and scored a perfect composite authentication result. The interesting part is DKIM: the security relay in the middle recorded a pass, and Microsoft recorded a body-hash failure for the same signature, because the relay rewrote links after verifying them. The call to action promised a Teams thread and delivered a marketing asset instead.
Severity: Medium Brand-Impersonation Malicious-Link Mailbox-Validation MITRE: T1566.002 MITRE: T1036.005 MITRE: T1656 MITRE: T1583.001

Four mailboxes at a national insurance and employee-benefits brokerage received the same notification inside a three-minute window. Each copy said a message was waiting, and each was addressed to a different person, a first name merged into an otherwise identical template, which made a bulk send read like personal correspondence. The subject line carried a stray leading period, the artifact a template engine leaves when a preceding merge field resolves to nothing: . Missed message for [FirstName].

The display name was the phrase Message Notifications. The visible call to action read "Message in Teams." Everything in the framing pointed at Microsoft Teams. Nothing in the infrastructure did.

The sending domain that thought it was a moving company

The From address was supportselfservice@globalmovermuscatoman[.]com, a domain registered recently through a budget hosting provider. Its name has no relationship to Microsoft, to Teams, or to the brokerage that received it. It reads like a moving-company name, which is to say it reads like a domain bought in bulk and pointed at whatever campaign needed a sender that afternoon.

That is the whole deception at the identity layer, and the reason authentication was never going to help. The attacker was not spoofing Microsoft. They registered a domain, configured its sending infrastructure properly, and let it authenticate on its own terms while the body did the impersonating. MITRE ATT&CK tracks the acquisition step as T1583/001, domain acquisition and the costume as T1656, impersonation. Neither leaves a fingerprint on an SPF record.

Where the authentication story splits

Delivery ran through three hops: SendGrid, at s[.]wrqvtnrb[.]outbound-mail[.]sendgrid[.]net, client IP 149[.]72[.]114[.]91; then a Mimecast security relay at relay[.]mimecast[.]com over STARTTLS; then Microsoft 365.

At the mailbox, the surviving results were mostly green. SPF passed against the bounce subdomain em2838[.]globalmovermuscatoman[.]com, exactly what a correctly configured SendGrid tenant produces. DMARC passed against a policy of p=none, which means the domain owner asked for no enforcement at all. Composite authentication came back compauth=pass reason=100, the strongest result Microsoft issues. Read that trio in isolation and this is a well-behaved sender.

DKIM is where it comes apart. The final Microsoft check recorded a failure for header.d=globalmovermuscatoman[.]com, selector s1, with the reason "body hash did not verify." That does not mean a key was wrong or a selector was missing. It means the content that arrived is not the content that was signed.

Now look one hop earlier. The ARC seal written by the Mimecast relay recorded DKIM as a pass for the same domain and the same selector. Both verifiers were almost certainly correct, and the most likely explanation for the split is that between them the relay did what a link-protection gateway is built to do: rewrite the URLs in the body, wrapping them in its own click-inspection domain. The delivered message carries that wrapper, so the rewriting demonstrably happened, after the relay validated the signature and before Microsoft validated it again. On that reading, the gateway broke the signature it had just approved.

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

This is the part most authentication explainers skip. DKIM is not a property of a message, it is a property of a message at a point in the delivery path. Every rewriting intermediary, every appended disclaimer, every sanitized attachment resets that verdict for everyone downstream. So "DKIM failed" reaches the mailbox carrying two meanings that look identical: someone tampered with this, or a security product touched it. RFC 7489 lets DMARC pass on SPF alignment alone precisely because signature survival through relays is unreliable. Treat a DKIM failure as decisive and you chase gateway artifacts. Treat it as ignorable and you miss real tampering. Neither is a control.

The click that went somewhere real

The "Message in Teams" call to action pointed first at the relay's own protection domain, url[.]us[.]m[.]mimecastprotect[.]com, which follows from the rewriting above. Unwrap it and the real destination was a click-tracking subdomain on the attacker's own domain, hxxp://url1211[.]globalmovermuscatoman[.]com/ls/click?upn= plus a long tokenized string. Plain HTTP, no encryption, a per-recipient token.

Follow that and the chain terminates at hxxps://assets-usa[.]mkt[.]dynamics[.]com/, a legitimate Microsoft Dynamics marketing asset host. Not a credential form. Not a fake sign-in page. A real Microsoft-owned page.

That is the deception, and it is more efficient than a harvest page. The recipient was promised a waiting Teams message and handed a marketing asset, which maps to T1566/002 for the link delivery and T1036/005 for the gap between what the CTA claimed and where it went. Meanwhile the per-recipient token confirmed which mailboxes were live and which humans clicked, with no attacker-controlled landing infrastructure exposed to any scanner. The 2024 Verizon Data Breach Investigations Report puts the median time from receiving a phishing link to clicking it at 21 seconds, roughly how long this reconnaissance needs to pay off, and CISA's phishing guidance treats validated-target lists as fuel for the next, sharper campaign.

What actually caught it

No one reported this message. Detection came from the shape of the send rather than any single verdict: a first-time external sender, four personalized variants of one template landing across one organization within minutes, a brand claim contradicted by every domain in the headers, and a CTA whose visible promise did not match its destination. IRONSCALES Adaptive AI resolved all four copies as phishing automatically, and the mailboxes were remediated as one cluster rather than four separate tickets. Microsoft's own filter had already landed on SCL=5, a spam score, despite issuing that perfect composite authentication pass a few header lines earlier.

Two things are worth keeping. First, a security gateway in your delivery path is also a content-modifying intermediary, and its protective rewriting degrades the authentication evidence available to everything behind it. That argues for putting behavioral analysis downstream of the gateway rather than treating the gateway's verdict as final, the practical case for augmenting a gateway instead of stacking more of the same inspection. Second, this message never lied about its authentication. It authenticated honestly, as itself, from a domain nobody had a reason to trust. The lie lived entirely in the body, and the body is not something SPF, DKIM, or DMARC has ever claimed to evaluate.

Indicators of Compromise

TypeIndicatorContext
Domainglobalmovermuscatoman[.]comNewly registered sender and tracking domain; name unrelated to the impersonated brand or the recipient organization
Emailsupportselfservice@globalmovermuscatoman[.]comFrom address, sent under the display name Message Notifications
Subdomainem2838[.]globalmovermuscatoman[.]comReturn-Path / bounce subdomain; the identity SPF actually passed for
URLhxxp://url1211[.]globalmovermuscatoman[.]com/ls/click?upn= (token truncated)Click-tracking link behind the "Message in Teams" CTA; plain HTTP, per-recipient token
Hosthxxps://assets-usa[.]mkt[.]dynamics[.]com/Final destination of the redirect chain; legitimate Microsoft Dynamics marketing asset host, not attacker-controlled
IP149[.]72[.]114[.]91Originating SendGrid client IP for the send
Relays[.]wrqvtnrb[.]outbound-mail[.]sendgrid[.]netFirst hop; ESP lending the new domain clean sending reputation
Relayrelay[.]mimecast[.]comSecond hop; recorded DKIM pass in its ARC seal, then rewrote body links through url[.]us[.]m[.]mimecastprotect[.]com, breaking the signature downstream
Auth resultSPF pass, DMARC pass (p=none), compauth=pass reason=100, DKIM fail ("body hash did not verify", selector s1), SCL=5Same signature verified as pass at the relay hop and fail at the mailbox
Subject pattern. Missed message for [FirstName]Bulk template with a merged first name; leading period is an empty-merge-field artifact

MITRE ATT&CK Mapping

  • T1583/001, Acquire Infrastructure: Domains. A freshly registered throwaway domain, configured to authenticate properly on its own name.
  • T1566/002, Phishing: Spearphishing Link. The "Message in Teams" CTA was the only payload; no attachments, no QR codes.
  • T1036/005, Masquerading: Match Legitimate Name or Location. The link's visible promise of a Teams thread against a tracking hop and a marketing-asset terminus.
  • T1656, Impersonation. Microsoft Teams notification framing carried entirely by body content, with zero Microsoft infrastructure in the sending path.
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
When the SharePoint Notification Is Real But the Share Is the AttackA file-sharing notification arrived from what looked like a vendor contact.
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.
The Law Firm Name That Used Invisible Characters to Pass AuthenticationA phishing email impersonating Alston & Bird LLP used homoglyph characters in the display name and rode Google Drive sharing infrastructure to pass SPF.
The LinkedIn Invoice That Passed Every Email CheckA recently registered LinkedIn lookalike domain passed SPF, DKIM, and DMARC, then sent a one-line invoice probe to an accounts payable mailbox.
The Procore Footer Was Real. The Document Was Not.Every link scanner called the Procore and ExxonMobil URLs clean.

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.