← Back to SOC feed Coverage →

Top accounts performing Teams admin submissions FN or FP

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

Hunt Hypothesis

Adversaries may be exploiting Teams admin submission capabilities to manipulate message visibility by submitting false negatives or positives, indicating potential abuse of administrative privileges. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify and mitigate unauthorized manipulation of Teams message compliance data.

KQL Query

CloudAppEvents
| where ActionType == "AdminSubmissionSubmitted"
| extend SubmissionType = tostring((parse_json(RawEventData)).SubmissionType),SubmissionContentType=tostring((parse_json(RawEventData)).SubmissionContentType),SubmittedBy=tostring((parse_json(RawEventData)).UserId)
| where SubmissionContentType == "ChatMessage" and SubmissionType in ("1","2","3")
| summarize count() by SubmittedBy
| project SubmittedBy, TeamsMessages = count_
|top 10 by TeamsMessages desc

Analytic Rule Definition

id: 0a29c9f0-e8d4-4339-a196-52bb3a090a79
name: Top accounts performing Teams admin submissions FN or FP
description: |
  This query visualises the top admins performing false negative or false positive admin submissions of Teams messages
description-detailed: |
  This query visualises the top admins performing false negative or false positive admin submissions of Teams messages
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
  dataTypes:
  - EmailEvents
tactics:
  - InitialAccess
relevantTechniques:
  - T1566
query: |
  CloudAppEvents
  | where ActionType == "AdminSubmissionSubmitted"
  | extend SubmissionType = tostring((parse_json(RawEventData)).SubmissionType),SubmissionContentType=tostring((parse_json(RawEventData)).SubmissionContentType),SubmittedBy=tostring((parse_json(RawEventData)).UserId)
  | where SubmissionContentType == "ChatMessage" and SubmissionType in ("1","2","3")
  | summarize count() by SubmittedBy
  | project SubmittedBy, TeamsMessages = count_
  |top 10 by TeamsMessages desc
version: l.0.0

Required Data Sources

Sentinel TableNotes
CloudAppEventsEnsure 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/Top accounts performing Teams admin submissions FN or FP.yaml