TL;DR A logistics technology provider received what looked like a notification that a meeting recording was ready. The payload was a base64 encoded calendar part rather than a normal HTML body, and the sender name presented the recipient's own employer while the header From belonged to a real mailbox at an unrelated packaging manufacturer. The message transited a large shared outbound relay, which stamped its own status header with the value Bad because the submitting account did not match the From domain. SPF still passed, DMARC still passed, and the single button led to a serverless function URL carrying the recipient's address encoded in a query parameter.
Severity: High Credential-Harvesting Brand-Impersonation Trusted-Infrastructure-Abuse MITRE: T1566.002 MITRE: T1656 MITRE: T1204.001

A message with the subject Project Meeting arrived in a mailbox at a logistics technology provider. The sender name presented the recipient's own employer in capitals, followed by the word Meeting. The address beside that name was a generic meeting alias on the company's own domain. Neither belonged to the company.

The header From resolved somewhere else entirely: a real employee mailbox at an unrelated packaging manufacturer, a business with no correspondence history with the recipient.

And sitting in the same header block, written by the relay that carried the message rather than by the attacker, was a status field whose value was Bad. The relay that delivered this message had already concluded something was wrong with it.

A Calendar Part That Rendered as a Recording Alert

The lure was not an HTML body in the ordinary sense. The message carried a base64 encoded calendar part, the same MIME type a genuine meeting invitation uses, and the decoded content was styled as a notification that a Teams meeting recording was ready to view. One button, labeled OPEN. No attachment, no second link, no signature block.

Two things follow from that packaging choice. The first is inspection. Text based content analysis tuned for HTML bodies has materially less to grade when the payload arrives as encoded scheduling data, and the outer message carries almost no visible text of its own. The second is rendering. Mail clients treat calendar content as a special object and wrap it in scheduling chrome, which reads as machine generated rather than as prose someone typed. A recipient who has accepted the frame of a calendar notification has stopped evaluating the sender.

There was also no meeting. The recording alert referenced a session the recipient had never attended, from an organizer who did not exist, on a calendar the sender had never been invited to.

The Relay Wrote Its Own Verdict Into the Headers

The authentication block looks unremarkable on a fast read. SPF passed for the packaging manufacturer's domain from an egress IP belonging to a large shared outbound relay service. There was no DKIM signature at all. DMARC passed on SPF alignment alone, under a policy of none. Microsoft's composite authentication returned a pass with reason code 100, the value it reserves for a message that satisfied every identity check the service knows how to run.

The mechanism worth understanding is the SPF include. When a domain authorizes a large shared relay, it does not authorize one account on that relay. It authorizes the relay's whole outbound estate, because the published record is a list of IP ranges and the relay's customers all share them. Any account able to submit mail through that service can therefore produce a passing SPF result for any domain that includes it, without compromising a mail server, buying a domain, or forging a single header.

The relay operator knows this, which is why it stamps its own trace header on outbound mail. On this message that header carried the value Bad, indicating a mismatch between the authenticated account that submitted the message and the domain the message was claiming in its From header. The relay saw the contradiction, recorded it, and delivered the mail regardless. The receiving tenant read the SPF pass, read the DMARC pass, treated the relay's header as ordinary trace data, and delivered it too.

That is the whole gap in one message. A verdict existed. Nothing in the delivery path was configured to consume it, and DMARC monitoring would not have surfaced it either, because the domain's own policy of none meant even an alignment failure carried no instruction to act on.

One Query Parameter, One Named Target

The OPEN button was wrapped in a link protection style rewrite before it reached the recipient, which is a trust signal in itself: a scanned link that was not blocked reads to most people as a link that was checked and cleared.

Its final destination was a bare serverless function URL on a major cloud provider, in that provider's us-east-1 region. A random thirty two character function identifier, the provider's own domain, no path that resembled a meeting, no branding of any kind.

The interesting part is what rode in the query string. A single parameter carried the recipient's own email address, base64 encoded. That value is withheld here for the obvious reason, but its presence answers a question a bare link cannot. This was not a blast to a purchased list with one shared landing page. Each recipient got a URL built for them, which lets the credential page prefill the account name and present itself as a session that already knows who is arriving. It also doubles as delivery confirmation the moment the page loads.

The defensive blind spot is worth naming. Encoded parameters do not read as addresses to plaintext scanning, so the strongest evidence of targeting in this message is also the least likely to be noticed by tooling.

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

The Signal That Caught It

Adaptive AI scored the message at 90 percent confidence for credential theft, and the case was automatically resolved as phishing without waiting on an analyst. Ninety percent is worth reporting honestly as what it is: high, and reached from behavioral signals rather than from a failed technical control, because no technical control failed.

The signals available were relational. A sender with no correspondence history. A display identity asserting the recipient's own employer while the address belonged to a company in an unrelated industry. A calendar object from a party with no scheduling relationship to the recipient. A destination unconnected to either organization or to any meeting platform. The NIST definition of phishing turns on deception and objective, both of which this message supplied while passing every check designed to establish who sent it.

Three Changes Worth Making

The 2024 Verizon Data Breach Investigations Report puts the human element in 68% of breaches, phishing in 15%, and stolen credentials in 38% as the top initial action, with a median of 21 seconds to click a phishing link and 28 more to submit data on the page behind it. Messages that satisfy the identity layer instead of evading it are what keep those numbers steady.

Three practices follow. Parse third party relay verdicts instead of consuming only their SPF outcome, because a relay that flags its own mail has handed you a scored signal for free. Treat calendar parts as content to be inspected rather than as scheduling metadata to be rendered. And score the shape of a link's query string, since a parameter that encodes the recipient's own identity is a targeting artifact no legitimate notification needs. Credential harvesting defenses that stop at the authentication result, as CISA's phishing guidance warns, will keep passing mail that is technically authentic and substantively false.

Indicators of Compromise

TypeIndicatorContext
URLhxxps://txfvn3svgkgdek3swot3pl2x2e0ebqbk[.]lambda-url[.]us-east-1[.]on[.]aws/Destination of the OPEN button. Bare serverless function URL, no branding. The only attacker owned asset in the record.
URL parametere= carrying the recipient address, base64 encodedPer recipient personalization and load confirmation. Encoded value withheld because it decodes to a real address.
Relaymailchannels[.]net, egress IP 23[.]83[.]217[.]32Large shared outbound relay used for delivery. Shared infrastructure, not attacker owned.
Header flagX-MC-Relay with value BadRelay's own finding: the authenticated submitting account did not match the From domain. Delivered anyway.
Submitting accountRelay sub-account unrelated to the From domain (withheld)Identifies a third party customer of the relay, so the name is not printed.
Display nameRecipient company name in capitals, then the word Meeting (genericized)Free text impersonation of the recipient's own employer.
Envelope aliasGeneric meeting alias on the recipient's own domain (genericized)Presented address, unrelated to the header From.
Emailsender-mailbox@packaging-domain[.]example (genericized)Bystander mailbox at a real packaging manufacturer. Appears in the header From.
Domainpackaging-domain[.]example (genericized)Bystander sending domain. Publishes an SPF include for the shared relay, which is why SPF passed.
SubjectProject MeetingGeneric scheduling pretext with no meeting behind it.
PayloadBase64 encoded text/calendar partLure delivered as a calendar object styled as a meeting recording notification with one OPEN button.
Auth resultSPF pass, no DKIM signature, DMARC pass under a policy of none, composite authentication pass reason code 100Every check the receiving service ran returned a pass.
Detection signalAdaptive AI, 90 percent confidence, credential theftBehavioral scoring only, since nothing technical failed.
DispositionAutomatically resolved as phishingNo analyst action required.

MITRE ATT&CK Mapping

TechniqueIDHow it appeared
ImpersonationT1656The display identity asserted the recipient's own employer, and the alias beside it used the recipient's own domain, while the message came from an unrelated manufacturer's mailbox.
Phishing: Spearphishing LinkT1566.002A single link behind an OPEN button, delivered inside a calendar part through a relay that authenticated the send.
User Execution: Malicious LinkT1204.001Collection required the recipient to open a serverless function URL built with their own address encoded into it.
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 Company Impersonating Itself, From Someone Else's MailboxA document assignment notice named the recipient's own employer in its subject line and its sender display name, then passed SPF.
Real Retailer Infrastructure, Someone Else's HR PhishA compensation review notice reached employees at a global technology company with SPF, DKIM and DMARC all passing.
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...

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.