Command line naming a credential vault or password store file
Matches the command-line leg of MITRE's AN1198 — a process created with a password-store location on its command line — and spans the stores rather than picking one: the DPAPI master key directory that unlocks the rest, the Credential Manager and Vault blob directories, the browser credential databases and password-manager database files, plus the vaultcmd and dpapi module keywords MITRE's KeywordPatterns knob points at, with the values themselves authored here. Being the parent technique's rule it necessarily overlaps its sub-techniques, because at this level of ATT&CK there is no observable that is credential access from password stores in general rather than from one particular store; breadth across several stores in one selection is the only thing that makes it a parent rule at all, and browser session cookies are left out on purpose because the published T1539 rule already matches those paths. The brief also offers a file-access leg, but it maps Security EventID 4663 onto the Sysmon-shaped file_event category, and 4663 carries ObjectName and ProcessName rather than TargetFilename, so that feed needs a field mapping before anything written against it can match — this rule uses the Sysmon EventID 1 process_creation vocabulary and does not touch it. Only the name-it-on-the-command-line variant is visible this way: a stealer that opens the same files through the Win32 API, or that reads them out of a process it already controls, produces no command line to match. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0430, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full descriptionShow less
The detection
The 4 SIEM queries below are previews produced by Siemphony’s own translator, not pySigma, and none has been executed against a real backend — review before you deploy.
detection.yml
title: Command line naming a credential vault or password store fileid: 9adc6b5e-9c60-483f-981f-17c443143227status: experimentaldescription: | Matches the command-line leg of MITRE's AN1198 — a process created with a password-store location on its command line — and spans the stores rather than picking one: the DPAPI master key directory that unlocks the rest, the Credential Manager and Vault blob directories, the browser credential databases and password-manager database files, plus the vaultcmd and dpapi module keywords MITRE's KeywordPatterns knob points at, with the values themselves authored here. Being the parent technique's rule it necessarily overlaps its sub-techniques, because at this level of ATT&CK there is no observable that is credential access from password stores in general rather than from one particular store; breadth across several stores in one selection is the only thing that makes it a parent rule at all, and browser session cookies are left out on purpose because the published T1539 rule already matches those paths. The brief also offers a file-access leg, but it maps Security EventID 4663 onto the Sysmon-shaped file_event category, and 4663 carries ObjectName and ProcessName rather than TargetFilename, so that feed needs a field mapping before anything written against it can match — this rule uses the Sysmon EventID 1 process_creation vocabulary and does not touch it. Only the name-it-on-the-command-line variant is visible this way: a stealer that opens the same files through the Win32 API, or that reads them out of a process it already controls, produces no command line to match. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0430, not hand-written and not tested by its author. Any lab result is on this rule's own page.references: - https://attack.mitre.org/techniques/T1555 - https://attack.mitre.org/detectionstrategies/DET0430author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags: - attack.credential-access - attack.t1555logsource: category: process_creation product: windowsdetection: selection: CommandLine|contains: - '\Microsoft\Protect\' - '\Microsoft\Credentials\' - '\Microsoft\Vault\' - '\Login Data' - 'logins.json' - 'key4.db' - '.kdbx' - 'vaultcmd' - 'dpapi::' condition: selectionfalsepositives: - "A password manager opened by its own user, which puts the .kdbx database path on the command line every time the database is double-clicked or the client is relaunched from a shortcut. In any estate that deploys one this is the rule's highest-volume match by a long way, and it is why the level is medium rather than high." - "Backup, endpoint-DLP and profile-migration agents that walk the user profile by absolute path and name the Protect or Credentials directory as an argument. The event is byte-for-byte what a harvester produces and only the parent process and the schedule separate them." - "Administrators and helpdesk scripts running vaultcmd to inventory or clear a stale saved credential, and the logon and logoff scripts on VDI and roaming-profile estates that reset the credential store on a fixed schedule across every session." - "Browser profile repair scripts and browser automation harnesses pointed at a seeded profile directory, both of which name Login Data or key4.db on the command line during ordinary support work and ordinary builds."level: mediumSentinel · KQL
Run this as a search.
DeviceProcessEvents| where (ProcessCommandLine contains "\\Microsoft\\Protect\\" or ProcessCommandLine contains "\\Microsoft\\Credentials\\" or ProcessCommandLine contains "\\Microsoft\\Vault\\" or ProcessCommandLine contains "\\Login Data" or ProcessCommandLine contains "logins.json" or ProcessCommandLine contains "key4.db" or ProcessCommandLine contains ".kdbx" or ProcessCommandLine contains "vaultcmd" or ProcessCommandLine contains "dpapi::")
Splunk · SPL
Run this as a search.
index=* (CommandLine="*\\Microsoft\\Protect\\*" OR CommandLine="*\\Microsoft\\Credentials\\*" OR CommandLine="*\\Microsoft\\Vault\\*" OR CommandLine="*\\Login Data*" OR CommandLine="*logins.json*" OR CommandLine="*key4.db*" OR CommandLine="*.kdbx*" OR CommandLine="*vaultcmd*" OR CommandLine="*dpapi::*")Elastic · ES|QL
Run this as a search.
FROM logs-*| WHERE (TO_LOWER(process.command_line) LIKE "*\\\\microsoft\\\\protect\\\\*" OR TO_LOWER(process.command_line) LIKE "*\\\\microsoft\\\\credentials\\\\*" OR TO_LOWER(process.command_line) LIKE "*\\\\microsoft\\\\vault\\\\*" OR TO_LOWER(process.command_line) LIKE "*\\\\login data*" OR TO_LOWER(process.command_line) LIKE "*logins.json*" OR TO_LOWER(process.command_line) LIKE "*key4.db*" OR TO_LOWER(process.command_line) LIKE "*.kdbx*" OR TO_LOWER(process.command_line) LIKE "*vaultcmd*" OR TO_LOWER(process.command_line) LIKE "*dpapi::*")
Wazuh · XML rule
Deploy to your manager — this is a rule, not a search.
<group name="sigma,windows,process_creation,"> <!-- Rule ids must be unique on your manager; 100000+ is the user range. --> <rule id="100000" level="7"> <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. --> <field name="CommandLine" type="pcre2">(?i)(\\Microsoft\\Protect\\|\\Microsoft\\Credentials\\|\\Microsoft\\Vault\\|\\Login Data|logins\.json|key4\.db|\.kdbx|vaultcmd|dpapi::)</field> <description>Command line naming a credential vault or password store file</description> <mitre> <id>T1555</id> </mitre> </rule></group>
Verdicts · reactions · comments
Community
Verdicts from engineers who actually deployed it, and the conversation around it.
Nobody has run this in a real environment and said what happened.
Verdicts from engineers who deployed it
0 castNo verdicts reported yet. The first one is worth more than the tenth — say what you ran it against.
Log in to report a verdict.
Log in to join the discussion.
No comments yet. Someone who deploys this will have something to say about it.