← Back to SOC feed Coverage →

Bulk Emails by Sender Bulk Complaint level

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

Hunt Hypothesis

Adversaries may use bulk email campaigns with high complaint levels to distribute malicious content or phishing payloads. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify potential spear-phishing or malware distribution attempts early.

KQL Query

//This query visualises total inbound emails which has any Bulk complaint level. It is summarizing the data by the various Bulk Complaint levels to understand how many messages are detected with each Bulk Complaint level.
EmailEvents
| where EmailDirection == "Inbound" and BulkComplaintLevel !=""
| where Timestamp > ago(30d) // last 30 days by default, replace 30d with the desired period
| summarize count() by BulkComplaintLevel
| sort by BulkComplaintLevel desc
| project BulkComplaintLevel,Emails=count_

Analytic Rule Definition

id: 46837704-62cb-4e37-ae25-eecced47c0f4
name: Bulk Emails by Sender Bulk Complaint level
description: |
  This query visualises total inbound emails which has any Bulk complaint level.
description-detailed: |
  This query visualises total inbound emails which has any Bulk complaint level. It is summarizing the data by the various Bulk Complaint levels to understand how many messages are detected with each Bulk Complaint level in Microsoft Defender for Office 365.
  Taken from the the Microsoft Defender for Office 365 Detections and Insights - Microsoft Sentinel workbook.
  https://techcommunity.microsoft.com/blog/microsoftdefenderforoffice365blog/part-2-build-custom-email-security-reports-and-dashboards-with-workbooks-in-micr/4411303
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
  dataTypes:
  - EmailEvents
tactics:
  - InitialAccess
relevantTechniques:
  - T1566
query: |
  //This query visualises total inbound emails which has any Bulk complaint level. It is summarizing the data by the various Bulk Complaint levels to understand how many messages are detected with each Bulk Complaint level.
  EmailEvents
  | where EmailDirection == "Inbound" and BulkComplaintLevel !=""
  | where Timestamp > ago(30d) // last 30 days by default, replace 30d with the desired period
  | summarize count() by BulkComplaintLevel
  | sort by BulkComplaintLevel desc
  | project BulkComplaintLevel,Emails=count_
version: 1.0.0

Required Data Sources

Sentinel TableNotes
EmailEventsEnsure 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/Spam/Spam Detection Mails with BCL.yaml