Detection rules › Elastic

Inhibit System Recovery via Renamed Utilities

Source
github.com/elastic/protections-artifacts

Identifies the execution of renamed Windows utilities to tamper with system recovery settings. Adversaries may delete or remove built-in operating system data and turn off services designed to aid in the recovery of a corrupted system to prevent recovery.

MITRE ATT&CK coverage

Rule body

[rule]
description = """
Identifies the execution of renamed Windows utilities to tamper with system recovery settings. Adversaries may delete or
remove built-in operating system data and turn off services designed to aid in the recovery of a corrupted system to
prevent recovery.
"""
id = "153f52e2-2fe5-420b-8691-ddb8562b99d7"
license = "Elastic License v2"
name = "Inhibit System Recovery via Renamed Utilities"
os_list = ["windows"]
version = "1.0.32"

query = '''
process where event.action == "start" and
  (
    process.pe.original_file_name : "vssadmin.exe" and process.command_line : "*shadows*" and
    process.command_line : ("*delete*", "*resize*shadowstorage*") and not process.name : "vssadmin.exe" and
    not process.parent.executable : "C:\\Program Files (x86)\\Net Protector *\\NPDBKWTT.EXE"
  ) or
  (
    process.pe.original_file_name : "bcdedit.exe" and
    process.command_line : ("*bootstatuspolicy*", "*recoveryenabled*") and not process.name : "bcdedit.exe"
  ) or
  (
    process.pe.original_file_name : "wbadmin.exe" and process.command_line : ("*catalog*", "*systemstatebackup*") and
    process.command_line : "*delete*" and not process.name : "wbadmin.exe"
  )
'''

min_endpoint_version = "7.15.0"
[[actions]]
action = "kill_process"
field = "process.entity_id"
state = 0

[[optional_actions]]
action = "rollback"
field = "process.entity_id"
state = 0

[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1218"
name = "System Binary Proxy Execution"
reference = "https://attack.mitre.org/techniques/T1218/"


[threat.tactic]
id = "TA0005"
name = "Defense Evasion"
reference = "https://attack.mitre.org/tactics/TA0005/"
[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1490"
name = "Inhibit System Recovery"
reference = "https://attack.mitre.org/techniques/T1490/"


[threat.tactic]
id = "TA0040"
name = "Impact"
reference = "https://attack.mitre.org/tactics/TA0040/"

[internal]
min_endpoint_version = "7.15.0"

Stages and Predicates

Stage 1: process

process where event.action == "start" and
  (
    process.pe.original_file_name : "vssadmin.exe" and process.command_line : "*shadows*" and
    process.command_line : ("*delete*", "*resize*shadowstorage*") and not process.name : "vssadmin.exe" and
    not process.parent.executable : "C:\\Program Files (x86)\\Net Protector *\\NPDBKWTT.EXE"
  ) or
  (
    process.pe.original_file_name : "bcdedit.exe" and
    process.command_line : ("*bootstatuspolicy*", "*recoveryenabled*") and not process.name : "bcdedit.exe"
  ) or
  (
    process.pe.original_file_name : "wbadmin.exe" and process.command_line : ("*catalog*", "*systemstatebackup*") and
    process.command_line : "*delete*" and not process.name : "wbadmin.exe"
  )

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
event.actioneq
  • start corpus 391 (elastic 391)
field:"EventType" kind:eq value:"start"
process.command_linewildcard
  • *bootstatuspolicy* corpus 10 (elastic 8, sigma 1, splunk 1)
  • *catalog* corpus 12 (elastic 8, sigma 3, splunk 1)
  • *delete* corpus 31 (sigma 16, elastic 8, splunk 6, kusto 1)
  • *recoveryenabled* corpus 10 (elastic 8, sigma 1, splunk 1)
  • *resize*shadowstorage*
  • *shadows* corpus 11 (elastic 8, sigma 3)
  • *systemstatebackup* corpus 8 (elastic 8)
field:"CommandLine" kind:wildcard
process.pe.original_file_namewildcard
  • bcdedit.exe corpus 13 (elastic 11, sigma 2)
  • vssadmin.exe corpus 12 (elastic 9, sigma 3)
  • wbadmin.exe corpus 19 (elastic 11, sigma 6, splunk 2)
field:"OriginalFileName" kind:wildcard