Investigating Subject in Microsoft Defender XDR.
The sender looked ordinary.
The message was short.
But the subject line created urgency.
Agent Foskett needed to understand whether this was one email or part of a wider campaign.
The answer started with Subject.
In Microsoft Defender XDR, Subject helps defenders investigate phishing lures, invoice themes, credential harvesting attempts and related messages across email investigations.
Lesson overview
Learn how to investigate Subject in EmailEvents and use subject lines to identify phishing themes, campaign patterns, suspicious lures and related email activity.
Why Subject matters
The fields used in this lesson
Step 1 — Review Subject activity
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
EmailEvents
| where Timestamp > ago(30d)
| where isnotempty(Subject)
| project Timestamp,
Subject,
SenderFromAddress,
SenderDisplayName,
RecipientEmailAddress
| order by Timestamp desc
Step 2 — Count messages by subject
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
EmailEvents
| where Timestamp > ago(30d)
| where isnotempty(Subject)
| summarize MessageCount = count(),
RecipientCount = dcount(RecipientEmailAddress)
by Subject
| order by MessageCount desc
Step 3 — Hunt common phishing subject themes
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
EmailEvents
| where Timestamp > ago(30d)
| where Subject has_any (
"invoice", "payment", "password", "urgent", "verify",
"document", "shared", "voicemail", "sign in", "account"
)
| project Timestamp,
Subject,
SenderFromAddress,
RecipientEmailAddress,
DeliveryAction,
ThreatTypes
| order by Timestamp desc
Step 4 — Review suspicious subjects with threat evidence
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
EmailEvents
| where Timestamp > ago(30d)
| where isnotempty(Subject)
| where isnotempty(ThreatTypes)
| project Timestamp,
Subject,
SenderFromAddress,
RecipientEmailAddress,
ThreatTypes,
DeliveryAction
| order by Timestamp desc
Step 5 — Measure campaign reach by subject
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
EmailEvents
| where Timestamp > ago(30d)
| where isnotempty(Subject)
| summarize RecipientCount = dcount(RecipientEmailAddress),
MessageCount = count()
by Subject,
SenderFromAddress
| order by RecipientCount desc
Step 6 — Compare subjects with delivery outcomes
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
EmailEvents
| where Timestamp > ago(30d)
| where isnotempty(Subject)
| summarize MessageCount = count()
by Subject,
DeliveryAction,
DeliveryLocation
| order by MessageCount desc
How to read the results
Common investigation uses
Common mistakes
What you learned
Related Agent Foskett Academy lessons
Coming next
Final thought
Investigating Subject in Microsoft Defender XDR
Agent Foskett Academy Lesson 70 teaches defenders how to investigate Subject during Microsoft Defender XDR email investigations.
Learn Subject investigation in Defender XDR
This lesson explains how Subject, SenderFromAddress, SenderDisplayName, RecipientEmailAddress, DeliveryAction, DeliveryLocation and ThreatTypes help defenders identify phishing lures, invoice fraud, credential harvesting attempts and suspicious email campaigns.
