Detection rules › Elastic

Access to Windows Passwords Vault by Unusual Process

Source
github.com/elastic/protections-artifacts

Identifies access attempt to read the Windows Passwords Vault credentials by an unusual process. Adversaries may acquire credentials from Vault files.

MITRE ATT&CK coverage

Rule body

[rule]
description = """
Identifies access attempt to read the Windows Passwords Vault credentials by an unusual process. Adversaries may acquire
credentials from Vault files.
"""
id = "7ca8574b-b4f3-42c4-9314-521df1b4c942"
license = "Elastic License v2"
name = "Access to Windows Passwords Vault by Unusual Process"
os_list = ["windows"]
reference = [
    "https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventid=5382",
    "https://www.elastic.co/security-labs/detect-credential-access",
]
version = "1.0.7"

query = '''
any where event.category == "iam" and event.action in ("vault_credentials_read", "vault-credentials-were-read") and
 process.parent.executable != null and user.id != "S-1-5-18" and process.executable != null and
 (process.code_signature.trusted == false or
  process.code_signature.exists == false or
  process.code_signature.subject_name in ("Microsoft Corporation", "Microsoft Windows")) and
 not (process.parent.executable : "C:\\Windows\\System32\\svchost.exe" and process.executable : "?:\\Windows\\*.exe") and
 not (process.executable : ("?:\\Windows\\System32\\svchost.exe", "?:\\Windows\\System32\\sppsvc.exe") and process.parent.executable : "?:\\Windows\\System32\\services.exe") and
 not (process.executable : "C:\\Windows\\System32\\msiexec.exe" and process.parent.executable : "C:\\Windows\\System32\\msiexec.exe") and
 not (process.name : "rundll32.exe" and process.command_line : "*inetcpl.cpl,ClearMyTracksByProcess*") and
 not (process.executable : "?:\\Windows\\System32\\rundll32.exe" and process.parent.executable : ("?:\\Program Files (x86)\\*.exe", "?:\\Program Files\\*.exe")) and
 not (process.executable : "?:\\Windows\\System32\\rundll32.exe" and process.parent.executable : ("?:\\Windows\\System32\\rundll32.exe", "?:\\Windows\\System32\\cmd.exe")) and
 not (process.executable : "?:\\Windows\\System32\\backgroundTaskHost.exe" and process.parent.executable : "?:\\Windows\\System32\\svchost.exe") and
 not (process.executable : "C:\\Windows\\explorer.exe" and process.parent.executable : "C:\\Windows\\System32\\userinit.exe") and
 not process.executable :
                ("?:\\Program Files\\*.exe",
                 "?:\\Program Files (x86)\\*.exe",
                 "?:\\Windows\\System32\\conhost.exe",
                 "?:\\ProgramData\\Motorola Solutions\\Flex\\application\\FlexClient\\FlexClient.exe") and
 not process.parent.executable :
                           ("C:\\Program Files\\Windows Defender Advanced Threat Protection\\SenseIR.exe",
                            "C:\\Program Files (x86)\\Microsoft Intune Management Extension\\AgentExecutor.exe",
                            "C:\\Program Files\\WindowsApps\\KeeperSecurityInc.KeeperPasswordManager_*\\app\\keeperpasswordmanager.exe",
                            "C:\\Program Files\\Common Files\\microsoft shared\\ClickToRun\\officesvcmgr.exe") and
 not (process.executable : ("C:\\Users\\*\\AppData\\Local\\PowerToys\\WinUI3Apps\\PowerToys.*.exe",
                            "C:\\Users\\*\\AppData\\Local\\Microsoft\\OneDrive\\*\\OneDriveActionHelper.exe",
                            "C:\\Users\\*\\AppData\\Local\\Microsoft\\Edge SxS\\Application\\msedge.exe") and
      process.code_signature.subject_name == "Microsoft Corporation" and process.code_signature.trusted == true)
'''

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

[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1555"
name = "Credentials from Password Stores"
reference = "https://attack.mitre.org/techniques/T1555/"
[[threat.technique.subtechnique]]
id = "T1555.004"
name = "Windows Credential Manager"
reference = "https://attack.mitre.org/techniques/T1555/004/"



[threat.tactic]
id = "TA0006"
name = "Credential Access"
reference = "https://attack.mitre.org/tactics/TA0006/"

[internal]
min_endpoint_version = "8.18.0"

Stages and Predicates

Stage 1: any

any where event.category == "iam" and event.action in ("vault_credentials_read", "vault-credentials-were-read") and
 process.parent.executable != null and user.id != "S-1-5-18" and process.executable != null and
 (process.code_signature.trusted == false or
  process.code_signature.exists == false or
  process.code_signature.subject_name in ("Microsoft Corporation", "Microsoft Windows")) and
 not (process.parent.executable : "C:\\Windows\\System32\\svchost.exe" and process.executable : "?:\\Windows\\*.exe") and
 not (process.executable : ("?:\\Windows\\System32\\svchost.exe", "?:\\Windows\\System32\\sppsvc.exe") and process.parent.executable : "?:\\Windows\\System32\\services.exe") and
 not (process.executable : "C:\\Windows\\System32\\msiexec.exe" and process.parent.executable : "C:\\Windows\\System32\\msiexec.exe") and
 not (process.name : "rundll32.exe" and process.command_line : "*inetcpl.cpl,ClearMyTracksByProcess*") and
 not (process.executable : "?:\\Windows\\System32\\rundll32.exe" and process.parent.executable : ("?:\\Program Files (x86)\\*.exe", "?:\\Program Files\\*.exe")) and
 not (process.executable : "?:\\Windows\\System32\\rundll32.exe" and process.parent.executable : ("?:\\Windows\\System32\\rundll32.exe", "?:\\Windows\\System32\\cmd.exe")) and
 not (process.executable : "?:\\Windows\\System32\\backgroundTaskHost.exe" and process.parent.executable : "?:\\Windows\\System32\\svchost.exe") and
 not (process.executable : "C:\\Windows\\explorer.exe" and process.parent.executable : "C:\\Windows\\System32\\userinit.exe") and
 not process.executable :
                ("?:\\Program Files\\*.exe",
                 "?:\\Program Files (x86)\\*.exe",
                 "?:\\Windows\\System32\\conhost.exe",
                 "?:\\ProgramData\\Motorola Solutions\\Flex\\application\\FlexClient\\FlexClient.exe") and
 not process.parent.executable :
                           ("C:\\Program Files\\Windows Defender Advanced Threat Protection\\SenseIR.exe",
                            "C:\\Program Files (x86)\\Microsoft Intune Management Extension\\AgentExecutor.exe",
                            "C:\\Program Files\\WindowsApps\\KeeperSecurityInc.KeeperPasswordManager_*\\app\\keeperpasswordmanager.exe",
                            "C:\\Program Files\\Common Files\\microsoft shared\\ClickToRun\\officesvcmgr.exe") and
 not (process.executable : ("C:\\Users\\*\\AppData\\Local\\PowerToys\\WinUI3Apps\\PowerToys.*.exe",
                            "C:\\Users\\*\\AppData\\Local\\Microsoft\\OneDrive\\*\\OneDriveActionHelper.exe",
                            "C:\\Users\\*\\AppData\\Local\\Microsoft\\Edge SxS\\Application\\msedge.exe") and
      process.code_signature.subject_name == "Microsoft Corporation" and process.code_signature.trusted == true)

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
process.code_signature.subject_nameeqMicrosoft Corporationexcludes:process.code_signature.subject_name field:"process.code_signature.subject_name" value:"Microsoft Corporation"
process.code_signature.trustedeqtrueexcludes:process.code_signature.trusted field:"process.code_signature.trusted" value:"true"
process.executablewildcardC:\Users\*\AppData\Local\PowerToys\WinUI3Apps\PowerToys.*.exe, C:\Users\*\AppData\Local\Microsoft\OneDrive\*\OneDriveActionHelper.exe, C:\Users\*\AppData\Local\Microsoft\Edge SxS\Application\msedge.exeexcludes:process.executable field:"process.executable" value:"C:\Users\*\AppData\Local\PowerToys\WinUI3Apps\PowerToys.*.exe" field:"process.executable" value:"C:\Users\*\AppData\Local\Microsoft\OneDrive\*\OneDriveActionHelper.exe" field:"process.executable" value:"C:\Users\*\AppData\Local\Microsoft\Edge SxS\Application\msedge.exe"
process.command_linematchinetcpl.cpl,ClearMyTracksByProcessexcludes:process.command_line field:"process.command_line" value:"inetcpl.cpl,ClearMyTracksByProcess"
process.nameeqrundll32.exeexcludes:process.name field:"process.name" value:"rundll32.exe"
process.executableeq?:\Windows\System32\backgroundTaskHost.exeexcludes:process.executable field:"process.executable" value:"?:\Windows\System32\backgroundTaskHost.exe"
process.parent.executableeq?:\Windows\System32\svchost.exeexcludes:process.parent.executable field:"process.parent.executable" value:"?:\Windows\System32\svchost.exe"
process.executableeq?:\Windows\System32\rundll32.exeexcludes:process.executable field:"process.executable" value:"?:\Windows\System32\rundll32.exe"
process.parent.executableeq?:\Windows\System32\rundll32.exe, ?:\Windows\System32\cmd.exeexcludes:process.parent.executable field:"process.parent.executable" value:"?:\Windows\System32\rundll32.exe" field:"process.parent.executable" value:"?:\Windows\System32\cmd.exe"
process.parent.executablewildcard?:\Program Files (x86)\*.exe, ?:\Program Files\*.exeexcludes:process.parent.executable field:"process.parent.executable" value:"?:\Program Files (x86)\*.exe" field:"process.parent.executable" value:"?:\Program Files\*.exe"
process.executableeq?:\Windows\System32\svchost.exe, ?:\Windows\System32\sppsvc.exeexcludes:process.executable field:"process.executable" value:"?:\Windows\System32\svchost.exe" field:"process.executable" value:"?:\Windows\System32\sppsvc.exe"
process.parent.executableeq?:\Windows\System32\services.exeexcludes:process.parent.executable field:"process.parent.executable" value:"?:\Windows\System32\services.exe"
process.executableeqC:\Windows\System32\msiexec.exeexcludes:process.executable field:"process.executable" value:"C:\Windows\System32\msiexec.exe"
process.parent.executableeqC:\Windows\System32\msiexec.exeexcludes:process.parent.executable field:"process.parent.executable" value:"C:\Windows\System32\msiexec.exe"
process.executableeqC:\Windows\explorer.exeexcludes:process.executable field:"process.executable" value:"C:\Windows\explorer.exe"
process.parent.executableeqC:\Windows\System32\userinit.exeexcludes:process.parent.executable field:"process.parent.executable" value:"C:\Windows\System32\userinit.exe"
process.executablewildcard?:\Windows\*.exeexcludes:process.executable field:"process.executable" value:"?:\Windows\*.exe"
process.parent.executableeqC:\Windows\System32\svchost.exeexcludes:process.parent.executable field:"process.parent.executable" value:"C:\Windows\System32\svchost.exe"
process.executablewildcard?:\Program Files\*.exe, ?:\Program Files (x86)\*.exe, ?:\Windows\System32\conhost.exe, ?:\ProgramData\Motorola Solutions\Flex\application\FlexClient\FlexClient.exeexcludes:process.executable
process.parent.executablewildcardC:\Program Files\Windows Defender Advanced Threat Protection\SenseIR.exe, C:\Program Files (x86)\Microsoft Intune Management Extension\AgentExecutor.exe, C:\Program Files\WindowsApps\KeeperSecurityInc.KeeperPasswordManager_*\app\keeperpasswordmanager.exe, C:\Program Files\Common Files\microsoft shared\ClickToRun\officesvcmgr.exeexcludes:process.parent.executable

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
event.actionin
  • vault-credentials-were-read
  • vault_credentials_read
field:"EventType" kind:in
event.categoryeq
  • iam corpus 8 (elastic 8)
field:"event.category" kind:eq value:"iam"
process.code_signature.existseq
  • false transforms: boolean corpus 119 (elastic 119)
field:"process.code_signature.exists" kind:eq value:"false"
process.code_signature.subject_namein
  • Microsoft Corporation corpus 2 (elastic 2)
  • Microsoft Windows corpus 3 (elastic 3)
field:"Signature" kind:in
process.code_signature.trustedeq
  • false transforms: boolean corpus 115 (elastic 115)
field:"process.code_signature.trusted" kind:eq value:"false"
process.executableis_not_null
  • (no value, null check)
field:"Image" kind:is_not_null
process.parent.executableis_not_null
  • (no value, null check)
field:"ParentImage" kind:is_not_null
user.idne
  • S-1-5-18 corpus 36 (elastic 36)
field:"user.id" kind:ne value:"S-1-5-18"