Clearing Windows Console Historyedit

Identifies when a user attempts to clear console history. An adversary may clear the command history of a compromised account to conceal the actions undertaken during an intrusion.

Rule type: eql

Rule indices:

  • winlogbeat-*
  • logs-endpoint.events.*
  • logs-windows.*

Severity: medium

Risk score: 47

Runs every: 5 minutes

Searches indices from: now-9m (Date Math format, see also Additional look-back time)

Maximum alerts per execution: 100

References:

Tags:

  • Elastic
  • Host
  • Windows
  • Threat Detection
  • Defense Evasion

Version: 2 (version history)

Added (Elastic Stack release): 8.0.0

Last modified (Elastic Stack release): 8.2.0

Rule authors: Austin Songer

Rule license: Elastic License v2

Investigation guideedit

## Config

If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2, events will not define `event.ingested` and default fallback for EQL rules was not added until 8.2, so you will need to add a custom pipeline to populate `event.ingested` to @timestamp for this rule to work.

Rule queryedit

process where event.action == "start" and (process.name :
("powershell.exe", "pwsh.exe", "powershell_ise.exe") or
process.pe.original_file_name == "PowerShell.EXE") and
(process.args : "*Clear-History*" or (process.args : ("*Remove-
Item*", "rm") and process.args : ("*ConsoleHost_history.txt*", "*(Get-
PSReadlineOption).HistorySavePath*")) or (process.args : "*Set-
PSReadlineOption*" and process.args : "*SaveNothing*"))

Threat mappingedit

Framework: MITRE ATT&CKTM

Rule version historyedit

Version 2 (8.2.0 release)
  • Formatting only