Impact
T1485 — Data Destruction
Adversaries may destroy data and files on specific systems or in large numbers on a network to interrupt availability to systems, services, and network resources. Data destruction is likely to render stored data irrecoverable by forensic techniques through overwriting files or data on local and remote drives...
Investigate Data Destruction activity in the context of Impact: confirm scope, affected host/identity, and whether it matches expected administrative behaviour before deciding this is benign.
Platforms
Containers, ESXi, IaaS, Linux, macOS, Windows
Priority / status
high / complete
Evidence to collect
- Host or resource affected
- Account or identity involved
- Timestamp of the activity
- Related process, file, or network artifact
- Any preceding or follow-on alerts
D3-NTA · detect
Network Traffic Analysis
Monitor for Network Traffic Analysis indicators relevant to this technique.
Tooling: Sentinel, Defender for Endpoint
| ATT&CK Technique | D3FEND Technique | Practical SOC Action | Tooling |
|---|---|---|---|
| T1485 Data Destruction | Network Traffic Analysis | Monitor for Network Traffic Analysis indicators relevant to this technique. | Sentinel, Defender for Endpoint |
T1485 Data Destruction → D3FEND → SOC action
Investigation steps — Microsoft
- Review Defender for Endpoint / Defender XDR alerts and timeline for the affected host or identity.
- Check Sentinel analytics rules and incidents correlated with this technique.
- Review Entra ID sign-in and audit logs if the technique involves an identity or cloud resource.
Investigation steps — generic
- Confirm whether the observed data destruction activity matches expected administrative or application behaviour.
- Identify the host, account, or resource where the activity occurred and its business criticality.
- Check for related alerts before and after this activity to reconstruct the broader intrusion timeline.
- Real detection reference: "CTERA Mass Deletions Detection Analytic" -- This analytic rule detects and alerts when large amount of deletion operations generated by the CTERA Edge Filer
Response actions
| Action | Risk | Automation safe | Approval required |
|---|---|---|---|
| Isolate device IMMEDIATELY | Medium | No | Yes |
| Preserve forensic image before any further disk activity | Low | No | Yes |
| Notify SOC Manager and customer CISO | Low | Yes | No |
| Assess whether data can be recovered from backups | Low | No | Yes |
| If nation-state indicators: NCSC notification | Low | No | Yes |
KQL
5365f294-0c67-432a-bacf-b1282a3b6c46 — CTERA Mass Deletions Detection Analytic
Syslog
| where ProcessName == 'gw-audit'
| extend
TenantName = extract("\"vportal\":\"([^\"]*)\"", 1, SyslogMessage),
UserName = extract("user=([^|]*)", 1, SyslogMessage),
Permission = extract("op=([^|]*)", 1, SyslogMessage),
EdgeFiler = extract("\"client\":\"([^\"]*)\"", 1, SyslogMessage),
RootPath = extract("rootPath=([^|]*)", 1, SyslogMessage),
Share = extract("share=([^|]*)", 1, SyslogMessage),
LocalPath = extract("path=([^|]*)", 1, SyslogMessage),
Timestamp = todatetime(extract("\"@timestamp\":\"([^\"]*)\"", 1, SyslogMessage))
| where Permission == 'delete'
| summarize Count = count() by UserName, bin(Timestamp, 5m)
| where Count > 5000 c919c911-8b01-44f8-9c3b-60b1edfc417f — CYFIRMA - High severity File Hash Indicators with Monitor Action and Malware
// File Hash Indicators with Monitor Action and Malware
let timeFrame = 5m;
CyfirmaIndicators_CL
| where ConfidenceScore >= 80
and TimeGenerated between (ago(timeFrame) .. now())
and pattern contains 'file:hashes' and RecommendedActions has 'Monitor' and (Roles contains 'Malware')
| extend MD5 = extract(@"file:hashes\.md5\s*=\s*'([a-fA-F0-9]{32})'", 1, pattern)
| extend SHA1 = extract(@"file:hashes\.'SHA-1'\s*=\s*'([a-fA-F0-9]{40})'", 1, pattern)
| extend SHA256 = extract(@"file:hashes\.'SHA-256'\s*=\s*'([a-fA-F0-9]{64})'", 1, pattern)
| extend
Algo_MD5='md5',
Algo_SHA1= 'SHA1',
Algo_SHA256='SHA256',
ProviderName = 'CYFIRMA',
ProductName = 'DeCYFIR/DeTCT'
| project
MD5,
Algo_MD5,
SHA1,
Algo_SHA1,
SHA256,
Algo_SHA256,
ThreatActors,
Sources,
RecommendedActions,
Roles,
Country,
name,
Description,
ConfidenceScore,
SecurityVendors,
IndicatorID,
created,
modified,
valid_from,
Tags,
ThreatType,
TimeGenerated,
ProductName,
ProviderName dfdffdc7-929f-4c7e-8f48-30e5ffddb067 — GCP Audit Logs - Detect Bulk VM Snapshot Deletion
// Update these thresholds if noisy in your environment
let SnapshotDeletionThreshold = 10;
let TimeWindow = 1m;
GCPAuditLogs
| where ServiceName == "compute.googleapis.com"
| where MethodName has "compute.snapshots.delete"
| where GCPResourceType == "gce_snapshot" and Severity == "NOTICE"
| extend
AuthzInfoJson = parse_json(AuthorizationInfo),
RequestMetadataJson = parse_json(RequestMetadata),
ResponseJson = parse_json(Response)
| extend PermissionType = tostring(AuthzInfoJson[0].permissionType)
| where PermissionType == "ADMIN_WRITE"
| extend
CallerIpAddress = tostring(RequestMetadataJson.callerIp),
UserAgent = tostring(RequestMetadataJson.callerSuppliedUserAgent),
SnapshotName = extract(@"snapshots/([^/]+)", 1, GCPResourceName),
OperationType = tostring(ResponseJson.operationType),
OperationId = tostring(ResponseJson.id)
| summarize
SnapshotCount = count(),
SnapshotList = make_set(SnapshotName, 100),
FirstDeletion = min(TimeGenerated),
LastDeletion = max(TimeGenerated),
OperationIds = make_set(OperationId, 100),
CallerIPs = make_set(CallerIpAddress, 10)
by PrincipalEmail, ProjectId, UserAgent
| where SnapshotCount >= SnapshotDeletionThreshold
| extend DeletionTimeSpan = LastDeletion - FirstDeletion
| where DeletionTimeSpan <= TimeWindow
| extend
AccountName = tostring(split(PrincipalEmail, "@")[0]),
AccountUPNSuffix = tostring(split(PrincipalEmail, "@")[1])
| project
TimeGenerated = FirstDeletion,
PrincipalEmail,
ProjectId,
SnapshotCount,
SnapshotList,
FirstDeletion,
LastDeletion,
DeletionTimeSpan,
CallerIPs,
UserAgent,
OperationIds,
AccountName,
AccountUPNSuffix Escalation criteria
- Data Destruction activity observed on a privileged account or critical system.
- Activity follows or precedes other suspicious behaviour in the same investigation.
- Automated triage cannot confidently rule out malicious intent.
False positive considerations
- Legitimate administrative or maintenance activity matching this pattern.
- Approved security testing or red team exercise.
- Known benign software producing similar telemetry.
# T1485 - Data Destruction
## SOC Recommendation
Investigate Data Destruction activity in the context of Impact: confirm scope, affected host/identity, and whether it matches expected administrative behaviour before deciding this is benign.
## D3FEND Mappings
| D3FEND Technique | Relationship | Practical SOC Action |
|---|---|---|
| Network Traffic Analysis | Detect | Monitor for Network Traffic Analysis indicators relevant to this technique. |
## Investigation Steps
1. Review Defender for Endpoint / Defender XDR alerts and timeline for the affected host or identity.
2. Check Sentinel analytics rules and incidents correlated with this technique.
3. Review Entra ID sign-in and audit logs if the technique involves an identity or cloud resource.
## Evidence to Collect
- Host or resource affected
- Account or identity involved
- Timestamp of the activity
- Related process, file, or network artifact
- Any preceding or follow-on alerts
## Response Actions
| Action | Risk | Automation Safe | Approval Required |
|---|---|---|---|
| Isolate device IMMEDIATELY | Medium | No | Yes |
| Preserve forensic image before any further disk activity | Low | No | Yes |
| Notify SOC Manager and customer CISO | Low | Yes | No |
| Assess whether data can be recovered from backups | Low | No | Yes |
| If nation-state indicators: NCSC notification | Low | No | Yes |
## KQL
```kql
Syslog
| where ProcessName == 'gw-audit'
| extend
TenantName = extract("\"vportal\":\"([^\"]*)\"", 1, SyslogMessage),
UserName = extract("user=([^|]*)", 1, SyslogMessage),
Permission = extract("op=([^|]*)", 1, SyslogMessage),
EdgeFiler = extract("\"client\":\"([^\"]*)\"", 1, SyslogMessage),
RootPath = extract("rootPath=([^|]*)", 1, SyslogMessage),
Share = extract("share=([^|]*)", 1, SyslogMessage),
LocalPath = extract("path=([^|]*)", 1, SyslogMessage),
Timestamp = todatetime(extract("\"@timestamp\":\"([^\"]*)\"", 1, SyslogMessage))
| where Permission == 'delete'
| summarize Count = count() by UserName, bin(Timestamp, 5m)
| where Count > 5000
```
```kql
// File Hash Indicators with Monitor Action and Malware
let timeFrame = 5m;
CyfirmaIndicators_CL
| where ConfidenceScore >= 80
and TimeGenerated between (ago(timeFrame) .. now())
and pattern contains 'file:hashes' and RecommendedActions has 'Monitor' and (Roles contains 'Malware')
| extend MD5 = extract(@"file:hashes\.md5\s*=\s*'([a-fA-F0-9]{32})'", 1, pattern)
| extend SHA1 = extract(@"file:hashes\.'SHA-1'\s*=\s*'([a-fA-F0-9]{40})'", 1, pattern)
| extend SHA256 = extract(@"file:hashes\.'SHA-256'\s*=\s*'([a-fA-F0-9]{64})'", 1, pattern)
| extend
Algo_MD5='md5',
Algo_SHA1= 'SHA1',
Algo_SHA256='SHA256',
ProviderName = 'CYFIRMA',
ProductName = 'DeCYFIR/DeTCT'
| project
MD5,
Algo_MD5,
SHA1,
Algo_SHA1,
SHA256,
Algo_SHA256,
ThreatActors,
Sources,
RecommendedActions,
Roles,
Country,
name,
Description,
ConfidenceScore,
SecurityVendors,
IndicatorID,
created,
modified,
valid_from,
Tags,
ThreatType,
TimeGenerated,
ProductName,
ProviderName
```
```kql
// Update these thresholds if noisy in your environment
let SnapshotDeletionThreshold = 10;
let TimeWindow = 1m;
GCPAuditLogs
| where ServiceName == "compute.googleapis.com"
| where MethodName has "compute.snapshots.delete"
| where GCPResourceType == "gce_snapshot" and Severity == "NOTICE"
| extend
AuthzInfoJson = parse_json(AuthorizationInfo),
RequestMetadataJson = parse_json(RequestMetadata),
ResponseJson = parse_json(Response)
| extend PermissionType = tostring(AuthzInfoJson[0].permissionType)
| where PermissionType == "ADMIN_WRITE"
| extend
CallerIpAddress = tostring(RequestMetadataJson.callerIp),
UserAgent = tostring(RequestMetadataJson.callerSuppliedUserAgent),
SnapshotName = extract(@"snapshots/([^/]+)", 1, GCPResourceName),
OperationType = tostring(ResponseJson.operationType),
OperationId = tostring(ResponseJson.id)
| summarize
SnapshotCount = count(),
SnapshotList = make_set(SnapshotName, 100),
FirstDeletion = min(TimeGenerated),
LastDeletion = max(TimeGenerated),
OperationIds = make_set(OperationId, 100),
CallerIPs = make_set(CallerIpAddress, 10)
by PrincipalEmail, ProjectId, UserAgent
| where SnapshotCount >= SnapshotDeletionThreshold
| extend DeletionTimeSpan = LastDeletion - FirstDeletion
| where DeletionTimeSpan <= TimeWindow
| extend
AccountName = tostring(split(PrincipalEmail, "@")[0]),
AccountUPNSuffix = tostring(split(PrincipalEmail, "@")[1])
| project
TimeGenerated = FirstDeletion,
PrincipalEmail,
ProjectId,
SnapshotCount,
SnapshotList,
FirstDeletion,
LastDeletion,
DeletionTimeSpan,
CallerIPs,
UserAgent,
OperationIds,
AccountName,
AccountUPNSuffix
```
## Escalation Criteria
- Data Destruction activity observed on a privileged account or critical system.
- Activity follows or precedes other suspicious behaviour in the same investigation.
- Automated triage cannot confidently rule out malicious intent.
## False Positive Considerations
- Legitimate administrative or maintenance activity matching this pattern.
- Approved security testing or red team exercise.
- Known benign software producing similar telemetry.
Generated by SOC Response Atlas by Basyrix.
Want to push this directly to Confluence? Upgrade to Basyrix Pro.
- /api/techniques/T1485.json
- /api/recommendations/T1485.json
- /api/d3fend/T1485.json
- /api/mappings/T1485.json
- /api/confluence/T1485.md
Example curl:
curl https://atlas.basyrix.com/api/recommendations/T1485.json Response:
{
"technique_id": "T1485",
"name": "Data Destruction",
"priority": "high",
"status": "complete",
"version": "0.1.0",
"last_reviewed": "2026-07-23",
"generated_by": "SOC Response Atlas by Basyrix",
"tactics": [
"Impact"
],
"platforms": [
"Containers",
"ESXi",
"IaaS",
"Linux",
"macOS",
"Windows"
],
"summary": "Adversaries may destroy data and files on specific systems or in large numbers on a network to interrupt availability to systems, services, and network resources. Data destruction is likely to render stored data irrecoverable by forensic techniques through overwriting files or data on local and remote drives...",
"soc_recommendation": "Investigate Data Destruction activity in the context of Impact: confirm scope, affected host/identity, and whether it matches expected administrative behaviour before deciding this is benign.",
"d3fend_mappings": [
{
"id": "D3-NTA",
"name": "Network Traffic Analysis",
"relationship": "detect",
"practical_action": "Monitor for Network Traffic Analysis indicators relevant to this technique.",
"tooling": [
"Sentinel",
"Defender for Endpoint"
]
}
],
"investigation_steps": {
"microsoft": [
"Review Defender for Endpoint / Defender XDR alerts and timeline for the affected host or identity.",
"Check Sentinel analytics rules and incidents correlated with this technique.",
"Review Entra ID sign-in and audit logs if the technique involves an identity or cloud resource."
],
"generic": [
"Confirm whether the observed data destruction activity matches expected administrative or application behaviour.",
"Identify the host, account, or resource where the activity occurred and its business criticality.",
"Check for related alerts before and after this activity to reconstruct the broader intrusion timeline.",
"Real detection reference: \"CTERA Mass Deletions Detection Analytic\" -- This analytic rule detects and alerts when large amount of deletion operations generated by the CTERA Edge Filer"
]
},
"evidence_to_collect": [
"Host or resource affected",
"Account or identity involved",
"Timestamp of the activity",
"Related process, file, or network artifact",
"Any preceding or follow-on alerts"
],
"response_actions": [
{
"name": "Isolate device IMMEDIATELY",
"category": "Response",
"risk": "Medium",
"automation_safe": false,
"approval_required": true,
"tool": "See investigation guide"
},
{
"name": "Preserve forensic image before any further disk activity",
"category": "Response",
"risk": "Low",
"automation_safe": false,
"approval_required": true,
"tool": "See investigation guide"
},
{
"name": "Notify SOC Manager and customer CISO",
"category": "Response",
"risk": "Low",
"automation_safe": true,
"approval_required": false,
"tool": "See investigation guide"
},
{
"name": "Assess whether data can be recovered from backups",
"category": "Response",
"risk": "Low",
"automation_safe": false,
"approval_required": true,
"tool": "See investigation guide"
},
{
"name": "If nation-state indicators: NCSC notification",
"category": "Response",
"risk": "Low",
"automation_safe": false,
"approval_required": true,
"tool": "See investigation guide"
}
],
"queries": {
"kql": [
{
"name": "5365f294-0c67-432a-bacf-b1282a3b6c46 — CTERA Mass Deletions Detection Analytic",
"description": "This analytic rule detects and alerts when large amount of deletion operations generated by the CTERA Edge Filer (Source: Microsoft's official Azure-Sentinel Detections (MIT licensed).)",
"query": "Syslog\n| where ProcessName == 'gw-audit'\n| extend\n TenantName = extract(\"\\\"vportal\\\":\\\"([^\\\"]*)\\\"\", 1, SyslogMessage),\n UserName = extract(\"user=([^|]*)\", 1, SyslogMessage),\n Permission = extract(\"op=([^|]*)\", 1, SyslogMessage),\n EdgeFiler = extract(\"\\\"client\\\":\\\"([^\\\"]*)\\\"\", 1, SyslogMessage),\n RootPath = extract(\"rootPath=([^|]*)\", 1, SyslogMessage),\n Share = extract(\"share=([^|]*)\", 1, SyslogMessage),\n LocalPath = extract(\"path=([^|]*)\", 1, SyslogMessage),\n Timestamp = todatetime(extract(\"\\\"@timestamp\\\":\\\"([^\\\"]*)\\\"\", 1, SyslogMessage))\n| where Permission == 'delete'\n| summarize Count = count() by UserName, bin(Timestamp, 5m)\n| where Count > 5000"
},
{
"name": "c919c911-8b01-44f8-9c3b-60b1edfc417f — CYFIRMA - High severity File Hash Indicators with Monitor Action and Malware",
"description": "\"This KQL query retrieves file hash indicators (MD5, SHA1, SHA256) from the CyfirmaIndicators_CL table within the last 5 minutes. It filters records with a confidence score of 80 or higher, containing file hash patterns, a recommended action of 'Monitor', and roles marked as 'Malware'. Extracted hashes and key threat intelligence details are projected for monitoring and investigation.\" (Source: Microsoft's official Azure-Sentinel Detections (MIT licensed).)",
"query": "// File Hash Indicators with Monitor Action and Malware\nlet timeFrame = 5m;\nCyfirmaIndicators_CL \n| where ConfidenceScore >= 80\n and TimeGenerated between (ago(timeFrame) .. now())\n and pattern contains 'file:hashes' and RecommendedActions has 'Monitor' and (Roles contains 'Malware')\n| extend MD5 = extract(@\"file:hashes\\.md5\\s*=\\s*'([a-fA-F0-9]{32})'\", 1, pattern)\n| extend SHA1 = extract(@\"file:hashes\\.'SHA-1'\\s*=\\s*'([a-fA-F0-9]{40})'\", 1, pattern)\n| extend SHA256 = extract(@\"file:hashes\\.'SHA-256'\\s*=\\s*'([a-fA-F0-9]{64})'\", 1, pattern)\n| extend\n Algo_MD5='md5',\n Algo_SHA1= 'SHA1',\n Algo_SHA256='SHA256',\n ProviderName = 'CYFIRMA',\n ProductName = 'DeCYFIR/DeTCT'\n| project \n MD5,\n Algo_MD5,\n SHA1,\n Algo_SHA1,\n SHA256,\n Algo_SHA256,\n ThreatActors,\n Sources,\n RecommendedActions,\n Roles,\n Country,\n name,\n Description,\n ConfidenceScore,\n SecurityVendors,\n IndicatorID,\n created,\n modified,\n valid_from,\n Tags,\n ThreatType,\n TimeGenerated,\n ProductName,\n ProviderName"
},
{
"name": "dfdffdc7-929f-4c7e-8f48-30e5ffddb067 — GCP Audit Logs - Detect Bulk VM Snapshot Deletion",
"description": "Detects bulk deletion of Google Cloud VM snapshots within a short time period, which may indicate data destruction or defense evasion activities. VM snapshots are critical for backup and disaster recovery. Bulk deletion of snapshots can prevent recovery from incidents and may indicate malicious activity such as ransomware, data destruction, or an attempt to cover tracks after a security breach. Adversaries may delete snapshots to maximize damage, prevent forensic investigation, or hinder recovery efforts. This rule triggers when multiple snapshots are deleted by the same user within a 1-minute window.' (Source: Microsoft's official Azure-Sentinel Detections (MIT licensed).)",
"query": "// Update these thresholds if noisy in your environment\nlet SnapshotDeletionThreshold = 10;\nlet TimeWindow = 1m;\nGCPAuditLogs\n| where ServiceName == \"compute.googleapis.com\"\n| where MethodName has \"compute.snapshots.delete\"\n| where GCPResourceType == \"gce_snapshot\" and Severity == \"NOTICE\"\n| extend \n AuthzInfoJson = parse_json(AuthorizationInfo),\n RequestMetadataJson = parse_json(RequestMetadata),\n ResponseJson = parse_json(Response)\n| extend PermissionType = tostring(AuthzInfoJson[0].permissionType)\n| where PermissionType == \"ADMIN_WRITE\"\n| extend \n CallerIpAddress = tostring(RequestMetadataJson.callerIp),\n UserAgent = tostring(RequestMetadataJson.callerSuppliedUserAgent),\n SnapshotName = extract(@\"snapshots/([^/]+)\", 1, GCPResourceName),\n OperationType = tostring(ResponseJson.operationType),\n OperationId = tostring(ResponseJson.id)\n| summarize \n SnapshotCount = count(),\n SnapshotList = make_set(SnapshotName, 100),\n FirstDeletion = min(TimeGenerated),\n LastDeletion = max(TimeGenerated),\n OperationIds = make_set(OperationId, 100),\n CallerIPs = make_set(CallerIpAddress, 10)\n by PrincipalEmail, ProjectId, UserAgent\n| where SnapshotCount >= SnapshotDeletionThreshold\n| extend DeletionTimeSpan = LastDeletion - FirstDeletion\n| where DeletionTimeSpan <= TimeWindow\n| extend \n AccountName = tostring(split(PrincipalEmail, \"@\")[0]), \n AccountUPNSuffix = tostring(split(PrincipalEmail, \"@\")[1])\n| project \n TimeGenerated = FirstDeletion,\n PrincipalEmail,\n ProjectId,\n SnapshotCount,\n SnapshotList,\n FirstDeletion,\n LastDeletion,\n DeletionTimeSpan,\n CallerIPs,\n UserAgent,\n OperationIds,\n AccountName,\n AccountUPNSuffix"
}
],
"spl": [],
"esql": [
{
"name": "89b68231-5134-4499-8eca-20e5d9c90cce — AWS Bedrock API Key Used for Destructive or Anti-Recovery Action",
"description": "(ESQL) Identifies an Amazon Bedrock API key (bearer token) being used to perform a destructive or anti-recovery control-plane action, such as deleting a guardrail, deleting a custom or imported model, removing provisioned throughput, or disabling model invocation logging... (Source: Elastic's official detection-rules repository (Elastic License v2).)",
"query": "FROM logs-aws.cloudtrail-* METADATA _id, _version, _index\n| WHERE event.provider == \"bedrock.amazonaws.com\"\n AND aws.cloudtrail.additional_eventdata RLIKE \"\"\".*callWithBearerToken=true.*\"\"\"\n AND event.action IN (\n \"DeleteGuardrail\",\n \"DeleteModelInvocationLoggingConfiguration\",\n \"PutModelInvocationLoggingConfiguration\",\n \"DeleteImportedModel\",\n \"DeleteCustomModel\",\n \"DeleteModelCustomizationJob\",\n \"DeleteProvisionedModelThroughput\",\n \"DeleteMarketplaceModelEndpoint\"\n )\n| KEEP _id, _version, _index, @timestamp, aws.*, cloud.*, event.*, source.*, user.*, user_agent.*"
},
{
"name": "098bd5cc-fd55-438f-b354-7d6cd9856a08 — High Number of Closed Pull Requests by User",
"description": "(ESQL) Detects a high number of closed pull requests by a single user within a short time frame. Adversaries may close multiple pull requests to disrupt development workflows or hide malicious changes. (Source: Elastic's official detection-rules repository (Elastic License v2).)",
"query": "from logs-github.audit-* metadata _id, _index, _version\n| where\n data_stream.dataset == \"github.audit\" and\n github.category == \"pull_request\" and\n event.type == \"change\" and\n event.action == \"pull_request.close\"\n| stats\n Esql.document_count = COUNT(*),\n Esql.github_org_values = values(github.org),\n Esql.github_repo_values = values(github.repo),\n Esql.github_user_agent_values = values(github.user_agent),\n Esql.github_pull_request_url_values = values(github.pull_request_url),\n Esql.user_name_values = values(user.name),\n Esql.agent_id_values = values(agent.id),\n Esql.data_stream_dataset_values = values(data_stream.dataset),\n Esql.data_stream_namespace_values = values(data_stream.namespace)\n\n by user.name\n\n| keep Esql.*\n\n| where\n Esql.document_count >= 10"
}
]
},
"automation": {
"safe": [
"Add recommendation as Sentinel incident comment.",
"Run enrichment queries.",
"Create ServiceNow SecOps task."
],
"approval_required": [
"Contain or disable the affected host/account.",
"Any change to production configuration."
]
},
"escalation_criteria": [
"Data Destruction activity observed on a privileged account or critical system.",
"Activity follows or precedes other suspicious behaviour in the same investigation.",
"Automated triage cannot confidently rule out malicious intent."
],
"false_positive_considerations": [
"Legitimate administrative or maintenance activity matching this pattern.",
"Approved security testing or red team exercise.",
"Known benign software producing similar telemetry."
],
"confluence": {
"title": "T1485 - Data Destruction Response Guidance",
"labels": [
"mitre",
"attack",
"d3fend",
"secops",
"basyrix"
],
"sections": [
"summary",
"d3fend_mappings",
"investigation_steps",
"response_actions",
"queries",
"automation",
"escalation_criteria",
"false_positive_considerations"
]
}
}