Detection rules › Splunk
Microsoft Intune Bulk Wipe
The following analytic detects a high volume of "wipe ManagedDevice" events from the Intune admin portal (5+ per hour by default). It leverages Intune audit logs to identify when this action is triggered. This activity is significant beacuse the "wipe ManagedDevice" action factory resets devices connected to your Microsoft Intune tenant. If confirmed malicious, an attacker can abuse this action to perform a large-scale data wiping attack against your managed endpoints.
Known false positives
- Legitimate adminstrative usage of the "wipe ManagedDevice" action might trigger this detection. This action is typically used for offboarding endpoints or in response to a lost or stolen device.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Impact |
Telemetry coverage
| Platform | Record / event type |
|---|---|
| Intune | wipe ManagedDevice |
Rule body
name: Microsoft Intune Bulk Wipe
id: c3f48aa9-878e-443f-8889-e42a11a9bea9
version: 2
creation_date: '2026-04-15'
modification_date: '2026-05-13'
author: Jake Enea
status: production
type: TTP
description: |-
The following analytic detects a high volume of "wipe ManagedDevice" events from the Intune admin portal (5+ per hour by default).
It leverages Intune audit logs to identify when this action is triggered. This activity is significant beacuse the "wipe ManagedDevice" action factory resets devices connected to your Microsoft Intune tenant.
If confirmed malicious, an attacker can abuse this action to perform a large-scale data wiping attack against your managed endpoints.
data_source:
- Azure Monitor Activity
search: |-
`azure_monitor_activity`
operationName="wipe ManagedDevice"
| rename identity as user
resultType as result
| fillnull
| table _time action command dest user src
vendor_account vendor_product change_type
properties.Targets.*
| stats min(_time) as firstTime
max(_time) as lastTime
values(*) as *
count by user
| where count >= 5
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `microsoft_intune_bulk_wipe_filter`
how_to_implement: |-
The Splunk Add-on for Microsoft Cloud Services add-on is required to ingest Intune audit logs via Azure EventHub.
To configure this logging, visit Intune > Tenant administration > Diagnostic settings > Add diagnostic settings & send events to the activity audit event hub.
Deploy as an event-based detection rule for quick deployment.
Adjust the count threshold according to expected activity in your environment.
known_false_positives: |-
Legitimate adminstrative usage of the "wipe ManagedDevice" action might trigger this detection.
This action is typically used for offboarding endpoints or in response to a lost or stolen device.
references:
- https://www.lumos.com/blog/stryker-hack
- https://www.covertswarm.com/post/swarm-intelligence-strykers-intune-wipe-proves-your-bcdr-plan-has-a-single-point-of-failure
- https://www.wwt.com/blog/how-the-stryker-intune-wipe-incident-highlights-a-critical-gap-in-endpoint-control
finding:
title: Bulk wipe action executed by user $user$ on $dest$
entity:
field: user
type: user
score: 50
analytic_story:
- Azure Active Directory Account Takeover
asset_type: Azure Tenant
mitre_attack_id:
- T1561.001
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
category: cloud
security_domain: threat
Stages and Predicates
Stage 1: search
`azure_monitor_activity`
operationName="wipe ManagedDevice"
Stage 2: rename
| rename identity as user
resultType as result
Stage 3: fillnull
| fillnull
Stage 4: table
| table _time action command dest user src
vendor_account vendor_product change_type
properties.Targets.*
Stage 5: stats
| stats min(_time) as firstTime
max(_time) as lastTime
values(*) as *
count by user
Stage 6: where
| where count >= 5
Stage 7: search
| `security_content_ctime(firstTime)`
Stage 8: search
| `security_content_ctime(lastTime)`
Stage 9: search
| `microsoft_intune_bulk_wipe_filter`
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
count | ge |
| field:"count" kind:ge value:"5" |
operationName | eq |
| field:"operationName" kind:eq |
sourcetype | eq |
| field:"sourcetype" kind:eq value:"azure:monitor:activity" |