Investigating ThreatTypes in Microsoft Defender XDR.
The email was suspicious.
The sender looked unusual.
Authentication checks were failing.
But before Agent Foskett reviewed URLs, attachments or mailbox activity, he wanted to know one thing.
What did Microsoft think this message was?
In Microsoft Defender XDR, ThreatTypes helps defenders understand whether Microsoft classified a message as phishing, malware, spoofing, spam, bulk mail or another email threat category.
Lesson overview
Learn how to investigate Microsoft threat classifications and connect those classifications to delivery, detection and user exposure evidence.
Why ThreatTypes matters
The fields used in this lesson
Step 1 — Review recent threat classifications
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
EmailEvents | where Timestamp > ago(30d) | where isnotempty(ThreatTypes) | project Timestamp, SenderFromAddress, RecipientEmailAddress, Subject, ThreatTypes | order by Timestamp desc
Step 2 — Summarise threat classifications
- 1
- 2
- 3
- 4
- 5
- 6
- 7
EmailEvents | where Timestamp > ago(30d) | where isnotempty(ThreatTypes) | summarize MessageCount = count() by ThreatTypes | order by MessageCount desc
Step 3 — Investigate phishing messages
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
EmailEvents | where Timestamp > ago(30d) | where ThreatTypes has "Phish" | project Timestamp, SenderFromAddress, RecipientEmailAddress, Subject, ThreatTypes, DeliveryAction, DeliveryLocation | order by Timestamp desc
Step 4 — Investigate malware messages
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
EmailEvents | where Timestamp > ago(30d) | where ThreatTypes has "Malware" | project Timestamp, SenderFromAddress, RecipientEmailAddress, Subject, ThreatTypes, DeliveryAction, DeliveryLocation, NetworkMessageId | order by Timestamp desc
Step 5 — Investigate spoofing activity
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
EmailEvents | where Timestamp > ago(30d) | where ThreatTypes has "Spoof" | project Timestamp, SenderFromAddress, SenderMailFromAddress, RecipientEmailAddress, Subject, ThreatTypes, SpoofedDomain, DeliveryAction | order by Timestamp desc
Step 6 — Compare ThreatTypes with delivery outcomes
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
EmailEvents | where Timestamp > ago(30d) | where isnotempty(ThreatTypes) | summarize MessageCount = count() by ThreatTypes, DeliveryAction, DeliveryLocation, EmailDirection | order by MessageCount desc
