← Back to SOC feed Coverage →

Teams communication to suspicious external users

kql MEDIUM Azure-Sentinel
T1566
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-11T23:00:00Z · Confidence: medium

Hunt Hypothesis

Teams users are communicating with external users that are flagged as suspicious, indicating potential exfiltration or lateral movement. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify and mitigate early-stage adversarial activity that could compromise organizational data.

KQL Query

//This query uses MessageEvents to detect bi-directional outbound communication to suspicious external Help Desk\Support representatives
MessageEvents 
| where Timestamp > ago(30d) 
| where (RecipientDetails contains "help" and RecipientDetails contains "desk") 
  or (RecipientDetails contains "it" and RecipientDetails contains "support") 
  or (RecipientDetails contains "working" and RecipientDetails contains "home") 
| where IsExternalThread == true 
| project Timestamp, SenderDisplayName, SenderEmailAddress, RecipientDetails, IsOwnedThread, ThreadType

Analytic Rule Definition

id: 389ead4a-6dfe-47e1-9236-165eb08f1017
name: Teams communication to suspicious external users
description: |
  This query helps hunt for communication with suspicious external users.
description-detailed: |
  This query helps hunt for Teams users communicating with suspicious external users using Microsoft Defender for Office 365 and Advance hunting in Microsoft Defender XDR
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
  dataTypes:
  - MessageEvents
tactics:
  - InitialAccess
relevantTechniques:
  - T1566
query: |
  //This query uses MessageEvents to detect bi-directional outbound communication to suspicious external Help Desk\Support representatives
  MessageEvents 
  | where Timestamp > ago(30d) 
  | where (RecipientDetails contains "help" and RecipientDetails contains "desk") 
    or (RecipientDetails contains "it" and RecipientDetails contains "support") 
    or (RecipientDetails contains "working" and RecipientDetails contains "home") 
  | where IsExternalThread == true 
  | project Timestamp, SenderDisplayName, SenderEmailAddress, RecipientDetails, IsOwnedThread, ThreadType
version: 1.0.0

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/Communication to suspicious external users.yaml