Detection rules › Elastic

Inhibit System Recovery via Stopping Backup Services

Time window
1m
Sequence by
process.entity_id, process.parent.entity_id
Source
github.com/elastic/protections-artifacts

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

MITRE ATT&CK coverage

TacticTechniques
Impact

Rule body

[rule]
description = """
Identifies the execution of Windows utilities to tamper with Data Backup related services. Adversaries may delete or
remove built-in operating system data and turn off services designed to aid in the recovery of a corrupted system and
prevent recovery.
"""
id = "220ab556-e008-44d4-9c50-44d455225eee"
license = "Elastic License v2"
name = "Inhibit System Recovery via Stopping Backup Services"
os_list = ["windows"]
version = "1.0.26"

query = '''
sequence with maxspan=1m
 [process where event.action == "start" and
  (
  (process.executable : ("?:\\ProgramData\\*", "?:\\Users\\*", "?:\\Python*") and
   not process.code_signature.trusted == true) or
   process.name : ("rundll32.exe", "regsvr32.exe", "cscript.exe", "wscript.exe", "java*.exe", "powershell.exe", "cmd.exe")
   ) and

   not process.parent.command_line: ("*:\\Program Files\\*", "*:\\Program Files (x86)\\*") and
   not process.parent.executable :
                ("?:\\Windows\\System32\\svchost.exe",
                 "?:\\Windows\\VeeamVssSupport\\VeeamGuestHelper.exe",
                 "?:\\Windows\\Microsoft.NET\\Framework\\*\\InstallUtil.exe",
                 "?:\\Windows\\System32\\taskeng.exe",
                 "?:\\Program Files\\Symantec\\Backup Exec\\RAWS\\VSS Provider\\bevssrequestor.exe",
                 "?:\\Program Files\\Veritas\\Backup Exec\\RAWS\\VSS Provider\\bevssrequestor.exe",
                 "?:\\Program Files\\Veritas\\Veritas VSS Provider\\bevssrequestor.exe",
                 "?:\\Program Files\\VMware\\VMware Tools\\vmtoolsd.exe",
                 "?:\\Program Files\\Rubrik\\Rubrik Backup Service\\rba.exe") and
   process.parent.executable != null and
   not (process.name : "cmd.exe" and
        process.args : ("?:\\Users\\*\\AppData\\Local\\Temp\\rubrik_vmware*\\uninstall-provider.cmd",
                        "Master\\DC\\bin\\x64\\*-EaseUSprovider.cmd",
                        "Files\\QNAP\\VSS")) and
   not (process.parent.name : "powershell.exe" and process.parent.args : "Start-Process .\\Stores\\Files\\restartSqlServer.bat -Verb RunAs")
 ] by process.entity_id
 [process where event.action == "start" and
  process.pe.original_file_name : ("net.exe", "sc.exe", "cmd.exe") and
  process.args : ("stop", "disabled") and
  process.args :
     ("SamSss", "VSS", "SDRSVC", "wbengine", "GoogleVssAgent", "SstpSvc", "sacsvr", "vmicvss", "SQLWriter", "SQLTELEMETRY*", 
      "VeeamNFSSvc*", "VeeamTransportSvc*", "acronis*", "*backup*", "iisadmin", "veeamtransportsvc", "MSSQL*", "SQLSERVER*",
      "dosvc", "MongoDB", "Oracle*", "NFSysService", "SentinelKeysServer", "DellDRLogSvc", "TPlusStd*", "TurboCRM70", "U8*Service") and

  not (process.args : "vss" and process.parent.args : ("?:\\Windows\\TEMP\\rubrik_vmware*", "Agent\\InMageVSSProvider_Install.cmd"))
 ] by process.parent.entity_id
 [process where event.action == "start" and
  process.pe.original_file_name : ("net.exe", "sc.exe", "cmd.exe") and
  process.args : ("stop", "disabled") and
  process.args :
     ("SamSss", "VSS", "SDRSVC", "wbengine", "GoogleVssAgent", "SstpSvc", "sacsvr", "vmicvss", "SQLWriter", "SQLTELEMETRY*",
      "VeeamNFSSvc*", "VeeamTransportSvc*", "acronis*", "*backup*", "iisadmin", "veeamtransportsvc", "MSSQL*", "SQLSERVER*",
      "dosvc", "MongoDB", "Oracle*", "NFSysService", "SentinelKeysServer", "DellDRLogSvc", "TPlusStd*", "TurboCRM70", "U8*Service") and

  not (process.args : "vss" and process.parent.args : ("?:\\Windows\\TEMP\\rubrik_vmware*", "Agent\\InMageVSSProvider_Install.cmd"))
 ] by process.parent.entity_id
'''

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

[[actions]]
action = "kill_process"
field = "process.parent.entity_id"
state = 1

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

[[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

Ordered sequence: each step below must occur in order within 1m, correlated by process.entity_id, process.parent.entity_id.

Stage 1: process

[process where event.action == "start" and
  (
  (process.executable : ("?:\\ProgramData\\*", "?:\\Users\\*", "?:\\Python*") and
   not process.code_signature.trusted == true) or
   process.name : ("rundll32.exe", "regsvr32.exe", "cscript.exe", "wscript.exe", "java*.exe", "powershell.exe", "cmd.exe")
   ) and

   not process.parent.command_line: ("*:\\Program Files\\*", "*:\\Program Files (x86)\\*") and
   not process.parent.executable :
                ("?:\\Windows\\System32\\svchost.exe",
                 "?:\\Windows\\VeeamVssSupport\\VeeamGuestHelper.exe",
                 "?:\\Windows\\Microsoft.NET\\Framework\\*\\InstallUtil.exe",
                 "?:\\Windows\\System32\\taskeng.exe",
                 "?:\\Program Files\\Symantec\\Backup Exec\\RAWS\\VSS Provider\\bevssrequestor.exe",
                 "?:\\Program Files\\Veritas\\Backup Exec\\RAWS\\VSS Provider\\bevssrequestor.exe",
                 "?:\\Program Files\\Veritas\\Veritas VSS Provider\\bevssrequestor.exe",
                 "?:\\Program Files\\VMware\\VMware Tools\\vmtoolsd.exe",
                 "?:\\Program Files\\Rubrik\\Rubrik Backup Service\\rba.exe") and
   process.parent.executable != null and
   not (process.name : "cmd.exe" and
        process.args : ("?:\\Users\\*\\AppData\\Local\\Temp\\rubrik_vmware*\\uninstall-provider.cmd",
                        "Master\\DC\\bin\\x64\\*-EaseUSprovider.cmd",
                        "Files\\QNAP\\VSS")) and
   not (process.parent.name : "powershell.exe" and process.parent.args : "Start-Process .\\Stores\\Files\\restartSqlServer.bat -Verb RunAs")
 ] by process.entity_id

Stage 2: process

[process where event.action == "start" and
  process.pe.original_file_name : ("net.exe", "sc.exe", "cmd.exe") and
  process.args : ("stop", "disabled") and
  process.args :
     ("SamSss", "VSS", "SDRSVC", "wbengine", "GoogleVssAgent", "SstpSvc", "sacsvr", "vmicvss", "SQLWriter", "SQLTELEMETRY*", 
      "VeeamNFSSvc*", "VeeamTransportSvc*", "acronis*", "*backup*", "iisadmin", "veeamtransportsvc", "MSSQL*", "SQLSERVER*",
      "dosvc", "MongoDB", "Oracle*", "NFSysService", "SentinelKeysServer", "DellDRLogSvc", "TPlusStd*", "TurboCRM70", "U8*Service") and

  not (process.args : "vss" and process.parent.args : ("?:\\Windows\\TEMP\\rubrik_vmware*", "Agent\\InMageVSSProvider_Install.cmd"))
 ] by process.parent.entity_id

Stage 3: process

[process where event.action == "start" and
  process.pe.original_file_name : ("net.exe", "sc.exe", "cmd.exe") and
  process.args : ("stop", "disabled") and
  process.args :
     ("SamSss", "VSS", "SDRSVC", "wbengine", "GoogleVssAgent", "SstpSvc", "sacsvr", "vmicvss", "SQLWriter", "SQLTELEMETRY*",
      "VeeamNFSSvc*", "VeeamTransportSvc*", "acronis*", "*backup*", "iisadmin", "veeamtransportsvc", "MSSQL*", "SQLSERVER*",
      "dosvc", "MongoDB", "Oracle*", "NFSysService", "SentinelKeysServer", "DellDRLogSvc", "TPlusStd*", "TurboCRM70", "U8*Service") and

  not (process.args : "vss" and process.parent.args : ("?:\\Windows\\TEMP\\rubrik_vmware*", "Agent\\InMageVSSProvider_Install.cmd"))
 ] by process.parent.entity_id

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
process.argswildcard?:\Users\*\AppData\Local\Temp\rubrik_vmware*\uninstall-provider.cmd, Master\DC\bin\x64\*-EaseUSprovider.cmd, Files\QNAP\VSSexcludes:process.args field:"process.args" value:"?:\Users\*\AppData\Local\Temp\rubrik_vmware*\uninstall-provider.cmd" field:"process.args" value:"Master\DC\bin\x64\*-EaseUSprovider.cmd" field:"process.args" value:"Files\QNAP\VSS"
process.nameeqcmd.exeexcludes:process.name field:"process.name" value:"cmd.exe"
process.parent.argseqStart-Process .\Stores\Files\restartSqlServer.bat -Verb RunAsexcludes:process.parent.args field:"process.parent.args" value:"Start-Process .\Stores\Files\restartSqlServer.bat -Verb RunAs"
process.parent.nameeqpowershell.exeexcludes:process.parent.name field:"process.parent.name" value:"powershell.exe"
process.parent.command_linematch:\Program Files\, :\Program Files (x86)\excludes:process.parent.command_line field:"process.parent.command_line" value:":\Program Files\" field:"process.parent.command_line" value:":\Program Files (x86)\"
process.parent.executablewildcard?:\Windows\System32\svchost.exe, ?:\Windows\VeeamVssSupport\VeeamGuestHelper.exe, ?:\Windows\Microsoft.NET\Framework\*\InstallUtil.exe, ?:\Windows\System32\taskeng.exe, ?:\Program Files\Symantec\Backup Exec\RAWS\VSS Provider\bevssrequestor.exe, ?:\Program Files\Veritas\Backup Exec\RAWS\VSS Provider\bevssrequestor.exe, ?:\Program Files\Veritas\Veritas VSS Provider\bevssrequestor.exe, ?:\Program Files\VMware\VMware Tools\vmtoolsd.exe, ?:\Program Files\Rubrik\Rubrik Backup Service\rba.exeexcludes:process.parent.executable
process.argseqvssexcludes:process.args field:"process.args" value:"vss"
process.parent.argswildcard?:\Windows\TEMP\rubrik_vmware*, Agent\InMageVSSProvider_Install.cmdexcludes:process.parent.args field:"process.parent.args" value:"?:\Windows\TEMP\rubrik_vmware*" field:"process.parent.args" value:"Agent\InMageVSSProvider_Install.cmd"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
event.actioneq
  • start corpus 391 (elastic 391)
field:"EventType" kind:eq value:"start"
process.argswildcard
  • *backup*
  • DellDRLogSvc
  • GoogleVssAgent
  • MSSQL*
  • MongoDB
  • NFSysService
  • Oracle*
  • SDRSVC
  • SQLSERVER*
  • SQLTELEMETRY*
  • SQLWriter
  • SamSss
  • SentinelKeysServer
  • SstpSvc
  • TPlusStd*
  • TurboCRM70
  • U8*Service
  • VSS
  • VeeamNFSSvc*
  • VeeamTransportSvc*
  • acronis*
  • disabled corpus 3 (elastic 3)
  • dosvc
  • iisadmin
  • sacsvr
  • stop corpus 12 (elastic 12)
  • veeamtransportsvc
  • vmicvss
  • wbengine
field:"process.args" kind:wildcard
process.executablewildcard
  • ?:\ProgramData\* corpus 17 (elastic 17)
  • ?:\Python* corpus 2 (elastic 2)
  • ?:\Users\* corpus 18 (elastic 18)
field:"Image" kind:wildcard
process.namewildcard
  • cmd.exe corpus 121 (elastic 92, splunk 29)
  • cscript.exe corpus 67 (elastic 65, splunk 2)
  • java*.exe corpus 2 (elastic 2)
  • powershell.exe corpus 184 (elastic 140, splunk 44)
  • regsvr32.exe corpus 73 (elastic 68, splunk 5)
  • rundll32.exe corpus 126 (elastic 100, splunk 26)
  • wscript.exe corpus 83 (elastic 82, splunk 1)
field:"process_name" kind:wildcard
process.parent.executableis_not_null
  • (no value, null check)
field:"ParentImage" kind:is_not_null
process.pe.original_file_namewildcard
  • cmd.exe corpus 81 (sigma 43, elastic 21, splunk 17)
  • net.exe corpus 31 (sigma 19, elastic 10, splunk 2)
  • sc.exe corpus 30 (sigma 12, splunk 10, elastic 8)
field:"OriginalFileName" kind:wildcard