Pivot from suspicious email to URL clicks
Find delivered inbound messages from a suspicious sender domain, join URL metadata, then pivot into user click activity.
- Run surface
- Defender XDR Advanced Hunting, Sentinel Logs
- Required tables
- EmailEventsEmailUrlInfoUrlClickEvents
- License context
- Microsoft Defender for Office 365 Plan 2
let lookback = {lookback};
let senderDomain = "{sender_domain}";
let suspiciousMessages = EmailEvents
| where Timestamp > ago(lookback)
| where EmailDirection == "Inbound"
| where SenderFromDomain =~ senderDomain
| project Timestamp, NetworkMessageId, SenderFromAddress, SenderFromDomain, RecipientEmailAddress, Subject, DeliveryAction, DeliveryLocation, ThreatTypes;
suspiciousMessages
| join kind=leftouter (
EmailUrlInfo
| project NetworkMessageId, Url, UrlDomain, UrlLocation
) on NetworkMessageId
| join kind=leftouter (
UrlClickEvents
| where Timestamp > ago(lookback)
| project ClickTimestamp=Timestamp, NetworkMessageId, AccountUpn, Url, ActionType, IsClickedThrough, ThreatTypes
) on NetworkMessageId, Url
| order by Timestamp desc, ClickTimestamp descSource: KQLMSPress/definitive-guide-kql Chapter 5: KQL for Cyber Security/Query Samples. Adapted from phishing investigation themes with tenant-specific placeholders and current MDO table names.