← Back to SOC feed Coverage →

Teams users clicking on suspicious URL domains

kql MEDIUM Azure-Sentinel
T1566
UrlClickEvents
huntingmicrosoftofficial
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at Azure-Sentinel →
Retrieved: 2026-05-12T11:00:00Z · Confidence: medium

Hunt Hypothesis

Teams users may be interacting with malicious or phishing URLs, which could indicate credential theft or lateral movement. SOC teams should proactively hunt for this behavior to identify potential compromise and prevent further damage in their Azure Sentinel environment.

KQL Query

//This Query uses MessageUrlInfo, MessageEvents and UrlClickEvents to find external Teams messages with low reputation URL doamins (.xyz) and identify the top 10 users clicking on them. 
MessageUrlInfo
| extend Domain = extract(@"^(?:https?://)?([^/]+)", 1, Url)
| extend TLD = tostring(split(Domain, ".")[-1])
| where TLD has_any ("dev","app","zip","solutions","io","top")
| join MessageEvents on TeamsMessageId
| join UrlClickEvents on Url
| project Timestamp,Url,UrlDomain,TLD,TeamsMessageId, ReportId, Timestamp2,ActionType,AccountUpn,Workload, SenderDisplayName, SenderEmailAddress, ThreatTypes, DetectionMethods, RecipientDetails

Analytic Rule Definition

id: 0d70619d-b6a5-4958-8721-3f4001dc0472
name: Teams users clicking on suspicious URL domains
description: |
  This query helps hunt for Teams users clicking on suspicious URL domains.
description-detailed: |
  This query helps hunt for Teams users clicking on suspicious URL domains using Microsoft Defender for Office 365 and Advance hunting in Microsoft Defender XDR
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
  dataTypes:
  - UrlClickEvents
  - MessageEvents
  - MessageUrlInfo
tactics:
  - InitialAccess
relevantTechniques:
  - T1566
query: |
  //This Query uses MessageUrlInfo, MessageEvents and UrlClickEvents to find external Teams messages with low reputation URL doamins (.xyz) and identify the top 10 users clicking on them. 
  MessageUrlInfo
  | extend Domain = extract(@"^(?:https?://)?([^/]+)", 1, Url)
  | extend TLD = tostring(split(Domain, ".")[-1])
  | where TLD has_any ("dev","app","zip","solutions","io","top")
  | join MessageEvents on TeamsMessageId
  | join UrlClickEvents on Url
  | project Timestamp,Url,UrlDomain,TLD,TeamsMessageId, ReportId, Timestamp2,ActionType,AccountUpn,Workload, SenderDisplayName, SenderEmailAddress, ThreatTypes, DetectionMethods, RecipientDetails
version: 1.0.0

Required Data Sources

Sentinel TableNotes
UrlClickEventsEnsure this data connector is enabled

MITRE ATT&CK Context

References

False Positive Guidance

Original source: https://github.com/Azure/Azure-Sentinel/blob/main/Hunting Queries/Microsoft 365 Defender/Email and Collaboration Queries/Microsoft Teams protection/Teams users clicking on suspicious URL domains.yaml