ATT&CK coverage › Technique

Indicator Removal: Clear Command History T1070.003

In addition to clearing system logs, an adversary may clear the command history of a compromised account to conceal the actions undertaken during an intrusion. Various command interpreters keep track of the commands users type in their terminal so that users can retrace what they've done.

Events covered

6 catalog events are tagged with this technique by at least one rule.

ProviderEvent IDTitle
Sysmon1Process creation
Sysmon14RegistryEvent (Key and Value Rename)
Sysmon23FileDelete (File Delete archived)
Sysmon26FileDeleteDetected (File Delete logged)
PowerShell4103Payload Context: ContextInfo User Data: UserData.
PowerShell4104Creating Scriptblock text (MessageNumber of MessageTotal).

Authoring guide

Patterns shared across the 9 rules above: which fields they filter on, what specific values they look for, and what they exclude. Field names are normalized across vendors so Sigma's Image, Elastic's process.name, and Splunk's process_name collapse into one row. Each rule contributes at most once per row.

Fields filtered most (8 distinct)

The fields most rules look at when detecting this technique. The How column shows the operators authors use (eq, wildcard, regex_match, match) and how often each appears. Sample values are concrete examples to start from, not an exhaustive list.

FieldRulesHowSample values
ScriptBlockText5match 4, eq 1(Get-PSReadlineOption).HistorySavePath, del, –HistorySaveStyle, Clear-History, Remove-Item
EventID2in 1, eq 1"23", "26", 4104
Payload1match 1del, –HistorySaveStyle, (Get-PSReadlineOption).HistorySavePath
Image1ends_with 1\reg.exe
OriginalFileName1eq 1reg.exe
CommandLine1match 1 del, \Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
TargetObject1ends_with 1\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
TargetFilename1eq 1"*\\Microsoft\\Windows\\PowerShell\\PSReadline\\ConsoleHo...

Top indicator values (34 distinct)

Specific (field, operator, value) combinations the rules check for, ranked by how many rules under this technique use each one. The Corpus reach column counts how many rules across the entire catalog (any technique) check the same combination. High numbers point to widely-used indicators that are likely noisy on their own; combine them with another condition for useful signal. Blank means the combination is specific to rules under this technique.

FieldKindValueRules (here)Corpus reach
ScriptBlockTextmatchrm22
ScriptBlockTextmatchRemove-Item22
ScriptBlockTextmatch(Get-PSReadlineOption).HistorySavePath22
ScriptBlockTextmatch–HistorySaveStyle1
ScriptBlockTextmatchdel1
ScriptBlockTextmatchSaveNothing1
ScriptBlockTextmatch-HistorySaveStyle1
ScriptBlockTextmatchSet-PSReadlineOption1
PayloadmatchRemove-Item1
PayloadmatchSet-PSReadlineOption1
Payloadmatch(Get-PSReadlineOption).HistorySavePath1
Payloadmatchrm1
Payloadmatch–HistorySaveStyle1
Payloadmatchdel1
PayloadmatchSaveNothing1
Payloadmatch-HistorySaveStyle1
ScriptBlockTextmatchConsoleHost_history.txt1
ScriptBlockTextmatchClear-History1
ScriptBlockTextmatchRemove-Module1
ScriptBlockTextmatchpsreadline1

Rules under this technique

Every rule in the catalog tagged with this technique, grouped by vendor. Click a rule title for its full predicates, exclusions, and indicators.

Sigma 7 rules

Splunk 2 rules