THREAT-Recon-PretextingReconEmailTrackingBeacon Sumo Logic CSE · Sumo

Detect Pretexting Reconnaissance Email with Tracking Pixel / Beacon Link in Sumo Logic CSE

Before committing to a spearphishing attachment (T1598.002) or spearphishing link (T1598.003) payload, adversaries increasingly send an innocuous, low-payload pretexting email first — a brief 'checking in', 'meeting request', or 'invoice follow-up' message with no attachment and no overt malicious link. The email instead embeds a uniquely-tokenized tracking pixel (a 1x1 image or invisible-CSS beacon) or a benign-looking beacon link, where the token is minted per-recipient. When the recipient's mail client renders the image or a human clicks the link, the beacon fires a GET request back to adversary-controlled infrastructure, confirming the mailbox is live, fingerprinting the recipient's IP address, approximate geolocation, mail client/user agent, and open time, and validating that a real human (not a sandbox or secure email gateway detonation chamber) triggered it. Star Blizzard, TA453, and TA427 have been documented using single-pixel and unique-URL tracking beacons in low-content reconnaissance emails to qualify targets and time follow-on credential-harvesting or malware-laden messages for when the mailbox is confirmed active. Because these emails carry no attachment and no overtly malicious URL pattern, they routinely pass secure email gateway and sandbox scoring; detection instead relies on correlating the low-payload email itself (via EmailEvents/EmailUrlInfo) with the subsequent beacon fetch observed in web proxy/gateway logs.

MITRE ATT&CK

Tactic
Reconnaissance

Sumo Detection Query

Sumo Logic CSE (Sumo)
sql
_sourceCategory=*o365*email* OR _sourceCategory=*exchange*
| where Operation = "MessageReceived"
| where AttachmentCount = 0
| parse field=Urls "*" as UrlList nodrop
| where UrlList matches "*uid=*" or UrlList matches "*token=*" or UrlList matches "*tid=*" or UrlList matches "*track=*" or UrlList matches "*.gif*" or UrlList matches "*.png*"
| eval HasTrackingToken = if (UrlList matches "*uid=*" or UrlList matches "*token=*" or UrlList matches "*tid=*" or UrlList matches "*track=*", "YES", "NO")
| eval IsPixelUrl = if (UrlList matches "*.gif*" or UrlList matches "*.png*" or UrlList matches "*.jpg*", "YES", "NO")
| eval ThreatType = "PretextingRecon_TrackingBeaconEmail"
| fields _messageTime, SenderAddress, RecipientAddress, Subject, UrlList, HasTrackingToken, IsPixelUrl, ThreatType
| count by SenderAddress, RecipientAddress, HasTrackingToken, IsPixelUrl, ThreatType
| sort - _count
medium severity medium confidence

Sumo Logic query detecting low-payload pretexting emails via Office 365 Management Activity API logs. Flags zero-attachment inbound messages whose embedded URL contains a per-recipient tracking token or points to a raster image beacon file, consistent with reconnaissance emails used to fingerprint and validate live mailboxes ahead of follow-on spearphishing or BEC attacks.

Data Sources

Sumo Logic Cloud SIEMOffice 365 Management Activity API

Required Tables

Office 365 MessageReceived events ingested under the appropriate _sourceCategory

False Positives & Tuning

  • Marketing platform tracking pixels (Mailchimp, HubSpot) — add a Sumo Logic allowlist lookup table of approved marketing sender domains
  • Sales engagement tool tracking links (Outreach.io, Salesloft) for legitimate outbound sales campaigns
  • Automated meeting/scheduling confirmations (Calendly, Doodle) with tracking parameters in confirmation links

Other platforms for THREAT-Recon-PretextingReconEmailTrackingBeacon


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Low-Payload Email with Unique Tracking Token URL

    Expected signal: EmailEvents record with AttachmentCount=0, UrlCount=1; EmailUrlInfo record for the tracking URL containing a uid= query parameter matching the tracking token regex.

  2. Test 2Tracking Pixel Beacon Fetch Simulation

    Expected signal: Web proxy/gateway access log entry showing a GET request to status-updates-portal.example/px.gif with the uid= tracking parameter, timestamped shortly after the simulated email delivery.

  3. Test 3Bulk Freemail Sender Recon Email Without Tracking Token (Negative Control)

    Expected signal: EmailEvents record with AttachmentCount=0, UrlCount=0; no EmailUrlInfo record for this NetworkMessageId.


Response Playbook

Triage

  1. Retrieve the full email including headers from the mail store or gateway quarantine — do not click any embedded links or allow the mail client to auto-render remote images on an analyst workstation; disable automatic image download before review
  2. Extract the tracking URL/pixel domain and the per-recipient token from the URL query string; check whether the domain is newly registered (WHOIS < 30 days), uses a URL shortener, or resolves to infrastructure with no legitimate business purpose
  3. Check SPF/DKIM/DMARC authentication results and the reply-to/return-path headers for mismatches against the claimed sender identity — pretexting emails frequently spoof or closely mimic a known contact or vendor
  4. Search web proxy/gateway logs for any outbound request to the tracking domain from the recipient's device around or after the email delivery time — a hit confirms the beacon fired and the target was fingerprinted
  5. Determine whether this is a single targeted email or part of a low-and-slow campaign: search email logs for the same tracking domain, URL path pattern, or sender infrastructure across other mailboxes over the past 30 days
  6. Review the recipient's role and access level — pretexting recon is frequently a precursor to BEC or targeted spearphishing against finance, executive, IT admin, or HR personnel

Containment

  1. Block the tracking/beacon domain at the web proxy, DNS filtering layer, and email gateway to prevent the beacon from firing for any additional recipients who have not yet opened the email
  2. Quarantine or purge the pretexting email across all mailboxes that received it, using Exchange Admin Center or Purview Content Search, before recipients render remote images or click the link
  3. If the beacon already fired (confirmed via proxy logs), treat the recipient as a validated, fingerprinted target and increase monitoring for follow-on spearphishing attachment/link or BEC attempts against that mailbox for the following 30 days
  4. Add the sender domain and tracking infrastructure indicators to the email gateway and threat intelligence platform blocklists

Evidence Collection

  1. Full email with headers exported as .eml, preserving SPF/DKIM/DMARC results and originating IP
  2. The tracking/beacon URL and any resolvable image asset, submitted to URLscan.io or a sandboxed browser to observe the exact beacon request and response without revealing the analyst's real IP/user agent
  3. Web proxy/gateway log entries showing the outbound request to the tracking domain: source IP, user agent, timestamp relative to email delivery
  4. Exchange/O365 Message Trace and Unified Audit Log entries for the NetworkMessageId — delivery path and any MessageOpened/read activity
  5. WHOIS and passive DNS history for the tracking domain and any associated infrastructure

Escalation Criteria

  • !Beacon confirmed fired (proxy log correlation) for a high-value target (executive, finance, IT admin) — treat as active reconnaissance against a validated live target
  • !Same tracking infrastructure or token pattern observed across multiple recipients in the organization — indicates a coordinated targeting campaign, not opportunistic spam
  • !Follow-on spearphishing attachment or link email arrives at the same recipient within days of the beacon firing — strong indicator the recon-to-attack pipeline is active and time-critical response is needed
  • !Sender infrastructure overlaps with known threat actor indicators from threat intelligence feeds

Investigation Guide

Related Techniques

Forensic Artifacts

  • >Email headers: SPF/DKIM/DMARC results, X-Originating-IP, reply-to/return-path mismatches
  • >EmailUrlInfo / EmailAttachmentInfo entries for the NetworkMessageId — confirms zero attachments and the exact embedded URL(s)
  • >Web proxy/gateway access logs for the recipient's device — the outbound GET to the tracking domain, including user agent and response code
  • >DNS query logs for the tracking domain around and after email delivery
  • >Passive DNS and WHOIS history for the tracking/beacon domain — recently registered domains or bulletproof hosting are strong indicators

Tuning Guidance

Legitimate marketing platforms, sales engagement tools, and CRM read-receipt features all use structurally identical per-recipient tracking pixels and tokenized links, so this detection will have a meaningful false-positive rate out of the box. Build an allow-list of known-good tracking domains observed from your organization's actual marketing/sales tooling (Mailchimp, HubSpot, Outreach.io, Salesloft, Calendly, etc.) and exclude those domains from Alert 1. Prioritize triage on Alert 2 (confirmed beacon fire correlated with an external, non-allow-listed sender) since it proves live human interaction rather than just delivery, and weight further by recipient sensitivity (finance, executives, IT admins) and by whether the sender domain is newly registered or otherwise unfamiliar to the organization.


Hunting Queries

Hunt for tracking-token domains that appear across multiple recipients in the organization over the past 30 days — a single tracking domain hitting several unrelated mailboxes indicates a coordinated pretexting reconnaissance campaign rather than a single opportunistic message.

Hunting — KQL
kql
EmailUrlInfo
| where Timestamp > ago(30d)
| where Url matches regex @"[?&](uid|id|token|tid|rid|cid|pid|mid|track|beacon|open|px)=[A-Za-z0-9\-_]{8,}"
| join kind=inner (
    EmailEvents
    | where Timestamp > ago(30d)
    | where AttachmentCount == 0
    | project NetworkMessageId, SenderFromAddress, SenderFromDomain, RecipientEmailAddress, Subject
) on NetworkMessageId
| summarize RecipientCount = dcount(RecipientEmailAddress), Recipients = make_set(RecipientEmailAddress), Subjects = make_set(Subject) by UrlDomain
| where RecipientCount >= 2
| sort by RecipientCount desc
Hunting — SPL
spl
index=o365 sourcetype="o365:management:activity" Workload=Exchange Operation=MessageReceived earliest=-30d
| eval HasTrackingToken=if(match(Urls, "[?&](uid|id|token|tid|rid|cid|pid|mid|track|beacon|open|px)=[A-Za-z0-9_\-]{8,}"), 1, 0)
| where HasTrackingToken=1
| rex field=Urls "(?<UrlDomain>https?://[^/]+)"
| stats dc(RecipientAddress) as RecipientCount, values(RecipientAddress) as Recipients, values(Subject) as Subjects by UrlDomain
| where RecipientCount>=2
| sort - RecipientCount

Atomic Red Team Tests

Test 1 Low-Payload Email with Unique Tracking Token URL
windows

Simulates delivery of a brief pretexting email containing a single link whose query string carries a unique per-recipient tracking token, with no attachment — the core structural signature this detection targets.

Command

powershell
powershell.exe -Command "$token = [guid]::NewGuid().ToString('N'); $body = \"Hi, just checking if you got a chance to review the attached update. Details here: https://status-updates-portal.example/track?uid=$token\"; Send-MailMessage -To '[email protected]' -From '[email protected]' -Subject 'Quick follow-up' -Body $body -SmtpServer 'localhost'"

Cleanup

powershell
None required — no artifacts are left on the endpoint; remove the test message from the target mailbox if delivered to a live environment.

Expected Telemetry

EmailEvents record with AttachmentCount=0, UrlCount=1; EmailUrlInfo record for the tracking URL containing a uid= query parameter matching the tracking token regex.

Expected Detection

Alert 1 fires: HasTrackingToken=true, SuspicionScore>=1, ThreatType=PretextingRecon_TrackingBeaconEmail.

Test 2 Tracking Pixel Beacon Fetch Simulation
windows

Simulates the recipient's mail client or browser fetching the embedded tracking pixel image, generating the outbound web request that the proxy-correlation alert (Alert 2) is designed to catch.

Command

powershell
powershell.exe -Command "Invoke-WebRequest -Uri 'https://status-updates-portal.example/px.gif?uid=abcdef1234567890' -UseBasicParsing -TimeoutSec 5"

Cleanup

powershell
None required — this generates only an outbound HTTP request; no local artifacts persist.

Expected Telemetry

Web proxy/gateway access log entry showing a GET request to status-updates-portal.example/px.gif with the uid= tracking parameter, timestamped shortly after the simulated email delivery.

Expected Detection

Alert 2 fires: proxy log RequestURL joins to the EmailUrlInfo tracking URL within the 4320-minute (3-day) correlation window, ThreatType=PretextingRecon_BeaconFired_TargetValidated.

Test 3 Bulk Freemail Sender Recon Email Without Tracking Token (Negative Control)
windows

Sends a similar low-payload email from a freemail domain but with no tracking token and no pixel-style URL, to validate the detection does not over-fire on freemail sender alone.

Command

powershell
powershell.exe -Command "Send-MailMessage -To '[email protected]' -From '[email protected]' -Subject 'Long time no speak' -Body 'Hey, hope things are going well on your end. Lets catch up soon.' -SmtpServer 'localhost'"

Cleanup

powershell
None required — no artifacts are left on the endpoint; remove the test message from the target mailbox if delivered to a live environment.

Expected Telemetry

EmailEvents record with AttachmentCount=0, UrlCount=0; no EmailUrlInfo record for this NetworkMessageId.

Expected Detection

Alert 1 does not fire (no URL to join against, SuspicionScore condition unmet) — confirms the detection requires a tracking-token or pixel URL, not freemail sender alone.

Related Detections