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. Unlike simple deletion commands (del, rm) that only remove file pointers, data destruction involves overwriting file contents with random data, zeroes, or image files to prevent forensic recovery. Real-world examples include Shamoon (overwrites with image files), WhisperGate (corrupts first 1MB with 0xCC bytes), HermeticWiper (recursive folder wiping via FSCTL_MOVE_FILE), Industroyer (clears registry keys and overwrites ICS configuration files), and Olympic Destroyer (overwrites local and remote shares). Adversaries commonly pair file destruction with Volume Shadow Copy deletion and boot recovery disabling to maximize irrecoverability. In cloud environments, adversaries may delete storage objects, VM images, database instances, and backup vaults to damage an organization's operational continuity.

Microsoft Sentinel / Defender
kusto
let LookbackWindow = 24h;
let DestructionTools = dynamic(["sdelete.exe", "sdelete64.exe", "cipher.exe", "eraser.exe", "wipe.exe"]);
let VSSDestructionPatterns = dynamic(["delete shadows", "shadowcopy delete", "delete catalog", "resize shadowstorage"]);
let PowerShellDestructionPatterns = dynamic([
  "Clear-Content",
  "[IO.File]::WriteAllBytes",
  "[System.IO.File]::WriteAllBytes",
  "Remove-Item -Recurse -Force",
  "Remove-Item -Force -Recurse",
  "-Recurse -Force -ErrorAction SilentlyContinue"
]);
DeviceProcessEvents
| where Timestamp > ago(LookbackWindow)
| where (
    // Known secure deletion tools
    FileName in~ (DestructionTools)
    // cipher.exe /w overwrites free space to prevent recovery of previously deleted files
    or (FileName =~ "cipher.exe" and ProcessCommandLine has "/w")
    // VSS and backup catalog destruction — near-zero legitimate use
    or (FileName in~ ("vssadmin.exe", "wmic.exe", "wbadmin.exe") and ProcessCommandLine has_any (VSSDestructionPatterns))
    or (FileName =~ "wbadmin.exe" and ProcessCommandLine has "delete")
    // Boot/recovery configuration destruction
    or (FileName =~ "bcdedit.exe" and ProcessCommandLine has_any ("/set {default} recoveryenabled no", "/deletevalue", "/delete"))
    // Disk format command
    or (FileName =~ "format.exe" and ProcessCommandLine matches regex @"[A-Za-z]:")
    // Unix/Linux wipers — dd targeting /dev/zero or /dev/urandom as input
    or ProcessCommandLine has_any ("dd if=/dev/zero", "dd if=/dev/urandom", "shred -", "wipe -rf")
    // PowerShell file overwrite and mass deletion
    or (FileName in~ ("powershell.exe", "pwsh.exe") and ProcessCommandLine has_any (PowerShellDestructionPatterns))
    // Mass deletion via cmd.exe (/f /s /q flags combined)
    or (FileName =~ "cmd.exe" and ProcessCommandLine has "del" and ProcessCommandLine has "/s" and ProcessCommandLine has "/f")
)
| extend IsVSSDestruction = (
    ProcessCommandLine has_any (VSSDestructionPatterns)
    or (FileName in~ ("vssadmin.exe", "wbadmin.exe") and ProcessCommandLine has "delete")
    or (FileName =~ "wmic.exe" and ProcessCommandLine has "shadowcopy" and ProcessCommandLine has "delete")
)
| extend IsSecureDelete = (
    FileName in~ (DestructionTools)
    or (FileName =~ "cipher.exe" and ProcessCommandLine has "/w")
)
| extend IsBootConfigDestruction = (
    FileName =~ "bcdedit.exe"
    and ProcessCommandLine has_any ("/set {default} recoveryenabled no", "/deletevalue", "/delete")
)
| extend IsUnixWiper = (
    ProcessCommandLine has_any ("dd if=/dev/zero", "dd if=/dev/urandom", "shred -", "wipe -rf")
)
| extend IsPowerShellDestruction = (
    FileName in~ ("powershell.exe", "pwsh.exe")
    and ProcessCommandLine has_any (PowerShellDestructionPatterns)
)
| extend IsMassDeletion = (
    (FileName =~ "cmd.exe" and ProcessCommandLine has "del" and ProcessCommandLine has "/s" and ProcessCommandLine has "/f")
    or (FileName =~ "format.exe" and ProcessCommandLine matches regex @"[A-Za-z]:")
)
| extend RiskScore = 
    toint(IsVSSDestruction) * 3
    + toint(IsSecureDelete) * 2
    + toint(IsBootConfigDestruction) * 3
    + toint(IsUnixWiper) * 2
    + toint(IsPowerShellDestruction) * 2
    + toint(IsMassDeletion) * 1
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
    InitiatingProcessFileName, InitiatingProcessCommandLine,
    IsVSSDestruction, IsSecureDelete, IsBootConfigDestruction,
    IsUnixWiper, IsPowerShellDestruction, IsMassDeletion, RiskScore
| sort by RiskScore desc, Timestamp desc
critical severity high confidence

Data Sources

Process: Process Creation Command: Command Execution Microsoft Defender for Endpoint

Required Tables

DeviceProcessEvents

False Positives

  • Backup software (Veeam, Commvault, Windows Server Backup) that uses vssadmin to manage shadow copy storage size and delete oldest snapshots as part of configured retention policies
  • IT administrators running sdelete or cipher /w as part of approved data sanitization procedures before hardware decommission or secure disposal
  • System administrators using bcdedit to configure dual-boot environments, change default OS entries, or modify boot settings during authorized OS maintenance windows
  • Security testing tools and penetration testing engagements running data destruction simulations on designated test systems with change management approval
  • Automated disk imaging and OS provisioning workflows that use format.exe or diskpart as part of system reimaging pipelines on known build servers

Unlock Pro Content

Get the full detection package for T1485 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections