CASE-2026-0313-F · 2026-03-13 Malicious STANDARD HUNT · HASH-PIVOT CAMPAIGN CONFIRMED

Three CRITICAL fileless alerts.
One hash. One email subject.

The 12-hour intake returned seven PowerShell detections, three of them CRITICAL fileless executions across three hosts. The agent pivoted on the file hash across event types and found it in a still-active phishing campaign. Five emails matching the subject “Important Information About Your Account – Must Read” had been delivered earlier the same day.

What fired
7 PowerShell detection findings in 12h. 3 CRITICAL fileless executions (BD-3263, NY-2162, TS-872), 2 MEDIUM, 2 LOW (PSAttackTool blocked via AMSI).
What the pivot revealed
The fileless hash matched an active phishing campaign. 225+ records across 3 event types over 7 days, including 5 inbound emails delivered today.
Delivery vector
"Important Information About Your Account - Must Read" · 3 delivered today, 1 blocked, 1 from yesterday. Active phishing ongoing.
19
FSQL queries
14m
Workers time
3
Mesh sources
225+
Cross-source records
5
Compromised hosts
$360-720
Analyst cost saved
→ Cross-event-type correlation.

The hash existed in three event types: endpoint detections, mail flow, OSINT inventory. A single discovery query surfaced all three. Single-source tools see one event type. The mesh connects all three.

→ Hunt mode means following the IOC.

Three CRITICAL alerts were the starting point, not the case. The hunt mattered because the hash traced back to the delivery vector.

→ One hash, three event types, one query.

A single discovery scan connected endpoint detections to active email delivery. The mesh made that a one-query pivot.

Fileless Pattern

Three CRITICAL alerts. Same message body.

A 12-hour intake on PowerShell detection findings returned 7 records. Three of them carried CRITICAL severity and the exact same alert text: “powershell.exe is executing a fileless script or command.” Three different hosts, three different users, all within 4 hours.

  • 02:11 UTC, BD-3263 (edward.h***), title ENUMERATE_PROCESSES, hash f6c3023f..., source IP 136.179.10.135
  • 04:03 UTC, NY-2162 (virginia.a***), title FILELESS, hash 6d05be44..., source IP 52.39.83.27
  • 05:40 UTC, TS-872 (barbara.e***), title FILELESS, hash f7de7d87..., same source IP 52.39.83.27

Three hosts. Two different hashes. One shared source IP for two of them. The shape was suggestive of campaign activity, but a campaign of what? Fileless PowerShell can ride in via a dozen vectors. The agent’s next move decided whether the case stayed at three alerts or grew.

Hash-Pivot

From one hash to three event types.

Instead of chasing each host individually, the agent pivoted on the file hash. One discovery scan on the IOC, across every event type in the mesh:

# Hash-pivot — sweep every event type that knows this hash QUERY *.message, *.time WITH %hash = ‘f6c3023f9309bb45733c5d8fce78de79’ AFTER 7d → ~225 records across 3 event types

That single query hit three event types. The third one made the case.

Hash f6c3023f… across 3 event types · 7 days

osint_inventory_info

1 record
Last seen 2026-03-13T13:37:18
Hash is tracked in OSINT inventory. Known sample, active reputation.

detection_finding

~160 records
CrowdStrike process telemetry: ProcessRollup2, ImageHash, EndOfProcess
Earlier fileless events 03/07, 03/08. Case is older than today’s intake

email_activity

~62 records
messageDelivered / messageBlocked / messageQuarantined over 7d
Hash present in actual mail flow. Delivery vector confirmed.

The hash isn’t just on three endpoints. It’s in the mail flow. 62 email activity records, including 5 in the last 24 hours. The agent’s follow-up query confirmed the campaign was still running:

# Focused email query — active campaign check QUERY email_activity.message, email_activity.time, email_activity.actor.user.email_addr, email_activity.email.subject WITH %hash = ‘f6c3023f9309bb45733c5d8fce78de79’ AFTER 24h → 5 records · subject “Important Information About Your Account – Must Read” → 3 delivered today (05:44, 09:30, 10:47) · 1 blocked · 1 from yesterday
Three Hashes. Same Campaign.

The other two pivots told the same story.

Each of the other two CRITICAL hashes got the same hash-pivot treatment. 6d05be44... (NY-2162) returned 300+ cross-event records over 7 days. The timeline told the story: an earlier “encoded fileless script” variant on 03/10, an svchost.exe injected code into iexplore.exe alert (T1055 process injection) on 03/06, and twin “known virus detected” alerts on 03/12 with Deny + Terminate actions. Same campaign, evolving payloads.

The 7-day per-host O365 sweeps confirmed the delivery vector across all three CRITICAL hosts: three O365 ATP Phishing alerts on BD-3263 (03/06, 03/07, 03/12), three on NY-2162 (03/08, 03/10, 03/11), and the same pattern on TS-872. Every CRITICAL fileless host had been receiving phishing for at least seven days before the fileless alert fired.

The two MEDIUM findings, BD-1158 (ryan.j***, ENUMERATE_PROCESSES) and BD-2820 (daniel.k***, BYPASS_POLICY), came from a different but related source IP (8.39.141.5) and matched the same campaign’s pre-execution phase. Two hosts probed, not yet escalated to fileless.

One IP discovery scan errored. The agent ran QUERY *.message, *.time WITH %ip = '52.39.83.27' AFTER 7d and the query timed out. Too many records across all event types. Rather than retrying blindly, the agent narrowed to host-scoped queries and documented the gap.

01

Hash-pivot is the highest-leverage single query.

One QUERY *.message, *.time WITH %hash = ... AFTER 7d returned 225 records across three event types. Mail flow + endpoint detections + OSINT in a single result. The mesh-level discovery scan beats five single-source queries.

02

The delivery vector is the threat chain’s root.

Three CRITICAL fileless alerts didn’t tell the campaign story. The email_activity records did. With the delivery vector confirmed, the recommendation shifted from “investigate each host” to “block the campaign at the gateway and quarantine inboxes.”

03

Document timeouts as findings, not failures.

The broad IP scan timed out. Instead of retrying blindly, the agent narrowed to host-scoped queries and logged the gap. The narrow query produced the host context. The gap got an explicit follow-up.

04

Track hashes across days, not just the alert window.

Both CRITICAL hashes had history: earlier fileless variants on 03/10, process injection on 03/06, repeated phishing on the same hosts since 03/06. The 12h intake was the tip; the 7d hash-pivot was the iceberg.

Queries, sources & gaps

Key queries: intake + hash-pivot + delivery confirmation

Q112h PowerShell detection_finding intakeINTAKE
QUERY detection_finding.message, detection_finding.severity_id, detection_finding.status_id, detection_finding.time, detection_finding.observables, detection_finding.attacks WITH detection_finding.message ICONTAINS ‘powershell’ AFTER 12h
7 records: 3 CRITICAL (null status), 2 MEDIUM (null status), 2 LOW (RESOLVED — PSAttackTool blocked via AMSI)
Q5Hash discovery scan, f6c3023f… across all event typesCORE PIVOT
QUERY *.message, *.time WITH %hash = ‘f6c3023f9309bb45733c5d8fce78de79’ AFTER 7d
~225 records across osint_inventory_info, detection_finding (~160), and email_activity (~62). Hash present in mail flow — delivery vector confirmed.
Q6Hash discovery scan, 6d05be44… (the second CRITICAL)CAMPAIGN CONFIRMED
QUERY *.message, *.time WITH %hash = ‘6d05be441fdfc9a3b7ee7a6c2d416f49’ AFTER 7d
~300 records. Earlier fileless events 03/10, process injection 03/06, known-virus detections 03/12. Same campaign, evolving payloads.
Q7IP discovery scan, 52.39.83.27 (shared across two CRITICALs)TIMEOUT
QUERY *.message, *.time WITH %ip = ‘52.39.83.27’ AFTER 7d
ERROR — query timed out. Too many records across all event types. Narrowed to host-scoped queries; IP enrichment deferred.
Q11Email activity for hash f6c3023f… (24h focused)CAMPAIGN ACTIVE
QUERY email_activity.message, email_activity.time, email_activity.actor.user.email_addr, email_activity.email.subject WITH %hash = ‘f6c3023f9309bb45733c5d8fce78de79’ AFTER 24h
5 records. Subject: “Important Information About Your Account – Must Read”. 3 delivered today, 1 blocked, 1 yesterday. Campaign still active.

Showing 5 of 19 queries. Full audit trail in queries.md.

Sources queried · with status

SourceStatusNotes
detection.crowdstrikeHIT~160 detection events; per-host process telemetry
email.o365 (ATP + mail flow)HIT62 email_activity events; subject + sender + delivery status confirmed
osint.inventory_infoHITHash reputation tracking; “last seen” timestamps
detection.o365_per_host (7d)PARTIALPer-host phishing alerts with UNKNOWN severity/status (O365 connector limitation)
IP-scoped cross-event lookupGAPQ7 timed out on broad IP query. Too many records across all event types

Gaps explicitly catalogued

  • Broad IP discovery query timeout: narrowed to host-scoped follow-ups. Documented as connector budget limit, not data gap.
  • O365 phishing alerts have UNKNOWN severity / status: connector mapping issue. Phishing delivery confirmed via mail flow records, not ATP alerts.
  • Process_activity for the 5 affected hosts not queried: the agent confirmed fileless execution but not the parent process chain. Budget-bounded. Follow-up recommended.
  • 52.39.83.27 source IP not enriched: OSINT reputation lookup deferred. Two CRITICAL fileless events share this source; recommend prioritization.