Recursive file deletion or secure-overwrite command line
Detects the command lines MITRE's AN0411 names for data destruction — recursive quiet deletes, cipher's free-space wipe, SDelete overwrites and forced recursive Remove-Item. Every selection matches on `CommandLine` alone so the rule is a single-field OR that all backends render, and the flag combinations use `contains|all` because operators reorder switches freely. The analytic's actual discriminator is volume — MITRE's VolumeThreshold and TimeWindow knobs count unique files destroyed by one process — which Sigma cannot express, so this rule fires on a single destructive invocation and the burst has to be judged by the analyst or a downstream aggregation. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0146, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full descriptionShow less
The detection
The 4 SIEM queries below are previews produced by Siemphony’s own translator, not pySigma, and none has been executed against a real backend — review before you deploy.
detection.yml
Sentinel · KQL
Run this as a search.
DeviceProcessEvents| where ((ProcessCommandLine contains "del " and ProcessCommandLine contains "/s" and ProcessCommandLine contains "/q") or (ProcessCommandLine contains "rmdir " and ProcessCommandLine contains "/s" and ProcessCommandLine contains "/q") or (ProcessCommandLine contains "cipher" and ProcessCommandLine contains "/w") or (ProcessCommandLine contains "sdelete.exe" or ProcessCommandLine contains "sdelete64.exe") or (ProcessCommandLine contains "Remove-Item" and ProcessCommandLine contains "-Recurse" and ProcessCommandLine contains "-Force"))
Splunk · SPL
Run this as a search.
index=* ((CommandLine="*del *" AND CommandLine="*/s*" AND CommandLine="*/q*") OR (CommandLine="*rmdir *" AND CommandLine="*/s*" AND CommandLine="*/q*") OR (CommandLine="*cipher*" AND CommandLine="*/w*") OR (CommandLine="*sdelete.exe*" OR CommandLine="*sdelete64.exe*") OR (CommandLine="*Remove-Item*" AND CommandLine="*-Recurse*" AND CommandLine="*-Force*"))Elastic · ES|QL
Run this as a search.
FROM logs-*| WHERE ((TO_LOWER(process.command_line) LIKE "*del *" AND TO_LOWER(process.command_line) LIKE "*/s*" AND TO_LOWER(process.command_line) LIKE "*/q*") OR (TO_LOWER(process.command_line) LIKE "*rmdir *" AND TO_LOWER(process.command_line) LIKE "*/s*" AND TO_LOWER(process.command_line) LIKE "*/q*") OR (TO_LOWER(process.command_line) LIKE "*cipher*" AND TO_LOWER(process.command_line) LIKE "*/w*") OR (TO_LOWER(process.command_line) LIKE "*sdelete.exe*" OR TO_LOWER(process.command_line) LIKE "*sdelete64.exe*") OR (TO_LOWER(process.command_line) LIKE "*remove-item*" AND TO_LOWER(process.command_line) LIKE "*-recurse*" AND TO_LOWER(process.command_line) LIKE "*-force*"))
Wazuh · XML rule
Deploy to your manager — this is a rule, not a search.
<group name="sigma,windows,process_creation,"> <!-- Rule ids must be unique on your manager; 100000+ is the user range. --> <rule id="100000" level="7"> <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. --> <field name="CommandLine" type="pcre2">(?i)((?=.*(?:del ))(?=.*(?:/s))(?=.*(?:/q)).*|(?=.*(?:rmdir ))(?=.*(?:/s))(?=.*(?:/q)).*|(?=.*(?:cipher))(?=.*(?:/w)).*|(sdelete\.exe|sdelete64\.exe)|(?=.*(?:Remove-Item))(?=.*(?:-Recurse))(?=.*(?:-Force)).*)</field> <description>Recursive file deletion or secure-overwrite command line</description> <mitre> <id>T1485</id> </mitre> </rule></group>
Verdicts · reactions · comments
Community
Verdicts from engineers who actually deployed it, and the conversation around it.
Nobody has run this in a real environment and said what happened.
Verdicts from engineers who deployed it
0 castNo verdicts reported yet. The first one is worth more than the tenth — say what you ran it against.
Log in to report a verdict.
Log in to join the discussion.
No comments yet. Someone who deploys this will have something to say about it.