Detection rules › Elastic

Evasion via Device Credential Deployment

Source
github.com/elastic/protections-artifacts

Identifies attempts to hide Windows Command Console Window. Adversaries may use DeviceCredentialDeployment to evade user suspicion.

MITRE ATT&CK coverage

Rule body

[rule]
description = """
Identifies attempts to hide Windows Command Console Window. Adversaries may use DeviceCredentialDeployment to evade user
suspicion.
"""
id = "6c8c6292-a7f0-49b3-9c24-f4147ad7b860"
license = "Elastic License v2"
name = "Evasion via Device Credential Deployment"
os_list = ["windows"]
reference = ["https://lolbas-project.github.io/lolbas/Binaries/DeviceCredentialDeployment/"]
version = "1.0.8"

query = '''
process where event.action == "start" and
 (
  (process.name : "cmd.exe" and process.command_line : "*DeviceCredentialDeployment*") or
  ((process.pe.original_file_name : "\"DeviceCredentialDeployment.exe\"" or process.name : "DeviceCredentialDeployment.exe") and
    process.parent.name : ("cmd.exe", "powershell.exe"))
 )
'''

min_endpoint_version = "7.16.0"
optional_actions = []
[[actions]]
action = "kill_process"
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.technique.subtechnique]]
id = "T1218.011"
name = "Rundll32"
reference = "https://attack.mitre.org/techniques/T1218/011/"



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

process where event.action == "start" and
 (
  (process.name : "cmd.exe" and process.command_line : "*DeviceCredentialDeployment*") or
  ((process.pe.original_file_name : "\"DeviceCredentialDeployment.exe\"" or process.name : "DeviceCredentialDeployment.exe") and
    process.parent.name : ("cmd.exe", "powershell.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
  • *DeviceCredentialDeployment*
field:"CommandLine" kind:wildcard value:"*DeviceCredentialDeployment*"
process.namewildcard
  • DeviceCredentialDeployment.exe corpus 2 (elastic 2)
  • cmd.exe corpus 121 (elastic 92, splunk 29)
field:"process_name" kind:wildcard
process.parent.namewildcard
  • cmd.exe corpus 36 (elastic 31, splunk 4, kusto 1)
  • powershell.exe corpus 39 (elastic 36, kusto 2, splunk 1)
field:"parent_process_name" kind:wildcard
process.pe.original_file_namewildcard
  • "DeviceCredentialDeployment.exe"
field:"OriginalFileName" kind:wildcard