Detection rules › Elastic

Endpoint Security Evasion via Malicious AppLocker Deny Rules

Source
github.com/elastic/protections-artifacts

Detects the creation or modification of AppLocker executable rules that explicitly deny execution of known endpoint security or EDR components by file path. Adversaries may abuse AppLocker policies to prevent security agents from starting after reboot or policy refresh, resulting in impaired defensive visibility and protection on the endpoint.

MITRE ATT&CK coverage

TacticTechniques
Defense Impairment

Rule body

[rule]
description = """
Detects the creation or modification of AppLocker executable rules that explicitly deny execution of known endpoint
security or EDR components by file path. Adversaries may abuse AppLocker policies to prevent security agents from
starting after reboot or policy refresh, resulting in impaired defensive visibility and protection on the endpoint.
"""
id = "2ace03f0-e37f-444a-a208-fa6da672f73c"
license = "Elastic License v2"
name = "Endpoint Security Evasion via Malicious AppLocker Deny Rules"
os_list = ["windows"]
reference = ["https://github.com/zero2504/EDR-GhostLocker/tree/main"]
version = "1.0.1"

query = '''
registry where event.action == "modification" and registry.value == "Value" and
 registry.path : "H*\\Software\\Policies\\Microsoft\\Windows\\SrpV2\\Exe\\*\\Value" and
 registry.data.strings : "*Deny*" and
 registry.data.strings : ("*Elastic*",
                          "*WinDefend*",
                          "*MsMpEng*",
                          "*MpDefenderCoreService*",
                          "*Windows Defender*",
                          "*CrowdStrike*",
                          "*SentinelOne*")
'''

min_endpoint_version = "7.16.0"
optional_actions = []
[[actions]]
action = "kill_process"
field = "process.entity_id"
state = 0
tree = true

[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1562"
name = "Impair Defenses"
reference = "https://attack.mitre.org/techniques/T1562/"
[[threat.technique.subtechnique]]
id = "T1562.001"
name = "Disable or Modify Tools"
reference = "https://attack.mitre.org/techniques/T1562/001/"



[threat.tactic]
id = "TA0005"
name = "Defense Evasion"
reference = "https://attack.mitre.org/tactics/TA0005/"

[internal]
min_endpoint_version = "7.16.0"

Stages and Predicates

Stage 1: registry

registry where event.action == "modification" and registry.value == "Value" and
 registry.path : "H*\\Software\\Policies\\Microsoft\\Windows\\SrpV2\\Exe\\*\\Value" and
 registry.data.strings : "*Deny*" and
 registry.data.strings : ("*Elastic*",
                          "*WinDefend*",
                          "*MsMpEng*",
                          "*MpDefenderCoreService*",
                          "*Windows Defender*",
                          "*CrowdStrike*",
                          "*SentinelOne*")

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
event.actioneq
  • modification corpus 72 (elastic 72)
field:"EventType" kind:eq value:"modification"
registry.data.stringswildcard
  • *CrowdStrike*
  • *Deny*
  • *Elastic*
  • *MpDefenderCoreService*
  • *MsMpEng*
  • *SentinelOne*
  • *WinDefend*
  • *Windows Defender*
field:"Details" kind:wildcard
registry.pathwildcard
  • H*\Software\Policies\Microsoft\Windows\SrpV2\Exe\*\Value
field:"TargetObject" kind:wildcard value:"H*\Software\Policies\Microsoft\Windows\SrpV2\Exe\*\Value"
registry.valueeq
  • Value
field:"registry_value_name" kind:eq value:"Value"