Defender for Office 365 ATP content threat intelligence

OperationDescriptionSampleRule
anyCatch-all for M365-ThreatIntelligenceAtpContent rules matching the RecordType but no specific Operation.NY
AtpDetectionA Microsoft Defender for Office 365 (ATP) content detection fired on a message or file (Safe Attachments / Safe Links / anti-phishing). Real UAL sample: Operation AtpDetection, RecordType 47, Workload ThreatIntelligence.YY

any: Defender for Office 365 ATP content threat intelligence (catch-all)

#
RecordType
ThreatIntelligenceAtpContent

Description

Catch-all for M365-ThreatIntelligenceAtpContent rules matching the RecordType but no specific Operation.

Detection Rules #

Full rule details for this event, including ATT&CK technique mappings and native queries →

Elastic #

  • M365 Threat Intelligence Signal source low: Identifies Microsoft 365 audit logs generated for Threat Intelligence signals by Microsoft Defender for Office 365. This includes phishing and malware events, campaign-related threat detections, file-based threats in SharePoint, OneDrive, and Teams, as well as Microsoft Threat Intelligence Center (MSTIC) signals. These events provide early indicators of compromise attempts and can be correlated with other signals for threat hunting and detection.T1204, T1204.001, T1204.002, T1566, T1566.001, T1566.002

References #

AtpDetection

#
RecordType
ThreatIntelligenceAtpContent

Description

A Microsoft Defender for Office 365 (ATP) content detection fired on a message or file (Safe Attachments / Safe Links / anti-phishing). Real UAL sample: Operation AtpDetection, RecordType 47, Workload ThreatIntelligence.

Example Audit Record #

{
  "CreationTime": "2024-03-20T19:37:12",
  "DetectionDate": "2024-03-20T19:36:17",
  "DetectionMethod": "AntiMalware",
  "EventDeepLink": "https://security.microsoft.com/threatexplorer?dltarget=Explorer&dlstorage=Url&viewid=MalwareContent&starttime=2024-02-18T23:59:59.002Z&endtime=2024-03-22T23:59:59.002Z&query-Id=feb1738d-d06d-4c05-6934-08dc49150132",
  "FileData": {
    "DocumentId": "aeea621a-9b0d-4be9-b9a7-874014e870b3",
    "FileName": "Magic8.exe",
    "FilePath": "https://attack_range-my.sharepoint.com/personal/attacker_attack_range_lan/Documents/Microsoft Teams Chat Files/Magic8.exe",
    "FileSize": "46592",
    "FileVerdict": 1,
    "MalwareFamily": "Malicious Payload",
    "SHA256": "6iQudVL0FxDOV0suDB5gmV5/WUCG3Sxgc6JdGOXe3Lc="
  },
  "Id": "feb1738d-d06d-4c05-6934-08dc49150132",
  "LastModifiedBy": "attacker@attack_range.lan",
  "LastModifiedDate": "2024-03-20T19:27:57",
  "Operation": "AtpDetection",
  "OrganizationId": "6915b1e0-b081-4829-8866-f1a3e883a9ae",
  "RecordType": 47,
  "SourceWorkload": 1,
  "UserId": "attacker@attack_range.lan",
  "UserKey": "ThreatIntel",
  "UserType": 4,
  "Version": 1,
  "Workload": "ThreatIntelligence"
}

Detection Rules #

Full rule details for this event, including ATT&CK technique mappings and native queries →

Splunk #

References #

M365 audit records use different field names on each surface #

The same Unified Audit Log record uses different field names on each surface. A query built for one surface can silently miss on another. These pages document the Management Activity API JSON names, the same names Search-UnifiedAuditLog and the Office 365 Management Activity API return.

  • Purview CSV export flattens each record to four columns (CreationDate, UserIds, Operations, AuditData). The API field names live only inside the AuditData JSON blob. Expand it with ConvertFrom-Json. The wrapper columns are renamed too: CreationDate not CreationTime, UserIds not UserId, Operations not Operation.
  • Sentinel's OfficeActivity table renames several fields and turns two integer enum columns into strings. The table below maps them.
API JSON (event pages)OfficeActivity columnNote
IdOfficeIdRenamed.
WorkloadOfficeWorkloadRenamed.
ObjectIdOfficeObjectIdRenamed.
CreationTimeTimeGeneratedRenamed. OfficeActivity has no CreationTime column.
SiteUrlSite_UrlRenamed (SharePoint family).
RecordTypeRecordTypeSame name; the Int32 enum becomes its string enum name.
UserTypeUserTypeSame name; the Int32 enum becomes a string.
ClientIPClientIP, Client_IPAddressBoth columns present on OfficeActivity.
Scope(none)No OfficeActivity equivalent under any name. Recover it from the API JSON or the Purview AuditData blob.
Operation, UserId, ResultStatus, UserKey, AppAccessContext, OrganizationIdsame namesUnchanged. No _s / _d suffixes (a native table, not a custom log).

Mapping verified against the OfficeActivity table reference, the Management Activity API schema, and the Purview audit-record export format.