T1555

Credentials from Password Stores

Credential Access Last updated:

Adversaries may search for common password storage locations to obtain user credentials. Passwords are stored in several places on a system, depending on the operating system or application holding the credentials. There are also specific applications and services that store passwords to make them easier for users to manage and maintain, such as password managers and cloud secrets vaults. Once credentials are obtained, they can be used to perform lateral movement and access restricted information.

What is T1555 Credentials from Password Stores?

Credentials from Password Stores (T1555) maps to the Credential Access tactic — the adversary is trying to steal account names and passwords in MITRE ATT&CK.

This page provides production-ready detection logic for Credentials from Password Stores, covering the data sources and telemetry it touches: Process: Process Creation, Command: Command Execution, Microsoft Defender for Endpoint. The queries below are rated high severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.

MITRE ATT&CK

Tactic
Credential Access
Technique
T1555 Credentials from Password Stores
Canonical reference
https://attack.mitre.org/techniques/T1555/
Microsoft Sentinel / Defender
kusto
let CredentialTools = dynamic(["mimikatz", "lazagne", "credentialfileview", "vaultpasswordview", "netpass", "nirsoft", "keethief", "dumperts", "browserpassview", "webbrowserpassview", "mailpassview", "chromiumpassworddecryptor", "creddump"]);
let CredentialCommands = dynamic(["cmdkey /list", "vaultcmd /listcreds", "security dump-keychain", "security find-generic-password", "security find-internet-password", "rundll32.exe keymgr.dll", "CryptUnprotectData", "CredEnumerateA", "CredEnumerateW", "SecKeychainFindInternetPassword", "dpapi::cred", "vault::list", "vault::cred"]);
DeviceProcessEvents
| where Timestamp > ago(24h)
| where ProcessCommandLine has_any (CredentialCommands)
    or FileName has_any (CredentialTools)
    or InitiatingProcessFileName has_any (CredentialTools)
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
         InitiatingProcessFileName, InitiatingProcessCommandLine
| sort by Timestamp desc

Broad detection for credential harvesting from password stores across Windows, macOS, and Linux. Monitors for known credential theft tools (Mimikatz, LaZagne, NirSoft utilities, KeeThief) and native OS commands used to enumerate or dump credentials from system password stores including Windows Credential Manager, macOS Keychain, and browser credential databases.

high severity medium confidence

Data Sources

Process: Process Creation Command: Command Execution Microsoft Defender for Endpoint

Required Tables

DeviceProcessEvents

False Positives

  • IT administrators using cmdkey /list to audit stored credentials during maintenance windows
  • macOS developers or sysadmins legitimately querying Keychain via the security command-line tool
  • Penetration testing teams running authorized credential audits with tools like LaZagne
  • Password manager applications performing legitimate credential operations

Sigma rule & cross-platform mapping

The detection logic for Credentials from Password Stores (T1555) above is provided in a vendor-neutral form so you can deploy it on any SIEM. The same logic is shipped here as native KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the following logsource:

logsource:
  category: process_creation
  product: windows

Browse the community-maintained Sigma rules for this technique:


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Enumerate Windows Credential Manager with cmdkey

    Expected signal: Sysmon Event ID 1: Process Create with Image=cmdkey.exe, CommandLine='cmdkey /list'. Security Event ID 4688 with same details if command line auditing is enabled.

  2. Test 2Enumerate Windows Vault with vaultcmd

    Expected signal: Sysmon Event ID 1: Process Create with Image=vaultcmd.exe, CommandLine containing '/listcreds'. Security Event ID 4688 with command line details.

  3. Test 3Dump macOS Keychain credentials

    Expected signal: macOS Unified Log: process creation for /usr/bin/security with arguments 'dump-keychain -d'. Endpoint Security Framework (ESF) events for Keychain access. EDR telemetry showing security binary execution with dump-keychain argument.


Response Playbook

Triage

  1. Identify the specific credential store being targeted (Windows Credential Manager, Keychain, browser store, password manager, cloud secrets)
  2. Determine the tool or command used — is it a known credential theft tool (Mimikatz, LaZagne) or a native OS utility being abused?
  3. Check the user context — is this a privileged account, service account, or standard user?
  4. Review the parent process chain — how was the credential access tool launched?
  5. Correlate with network activity — are there outbound connections suggesting exfiltration of harvested credentials?
  6. Check for lateral movement indicators following the credential access event

Containment

  1. Isolate the affected endpoint immediately if a known credential dumping tool is confirmed
  2. Reset passwords for all accounts that may have had credentials stored on the compromised system
  3. Revoke active sessions and tokens for potentially compromised accounts
  4. Block the credential theft tool hash at the EDR level across the environment
  5. If cloud secrets were accessed, rotate all affected API keys and secrets immediately

Evidence Collection

  1. Process creation logs (Sysmon Event ID 1, Security Event ID 4688) for the credential access tool and its parent chain
  2. File access logs for credential store files (Login Data, Keychain files, .vcrd files, .kdbx files)
  3. Network connection logs for outbound data transfer following credential access
  4. PowerShell ScriptBlock Logging (Event ID 4104) if PowerShell-based credential tools were used
  5. Memory dumps of suspicious processes for credential material analysis
  6. Cloud audit logs (CloudTrail, GCP Audit, Azure Activity Log) if cloud secrets were targeted

Escalation Criteria

  • ! Known credential theft tool (Mimikatz, LaZagne) confirmed running on a production system
  • ! Multiple credential stores accessed in rapid succession on the same host
  • ! Credential access followed by lateral movement to other systems
  • ! Cloud secrets manager accessed from an unexpected identity or IP address
  • ! Evidence of credential exfiltration to external destinations

Investigation Guide

Forensic Artifacts

  • > File System: %APPDATA%\Local\Google\Chrome\User Data\Default\Login Data (Chrome credential database)
  • > File System: ~/Library/Keychains/login.keychain-db (macOS Login Keychain)
  • > File System: %SYSTEMDRIVE%\Users\<user>\AppData\Local\Microsoft\Credentials\ (Windows Credential Manager)
  • > File System: %SYSTEMDRIVE%\Users\<user>\AppData\Local\Microsoft\Vault\ (Windows Vault files)
  • > Registry: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication (credential providers)
  • > Event Log: Security Event ID 4663 (file access auditing on credential store files)
  • > Event Log: Security Event ID 4688 (process creation with command line)
  • > Cloud: AWS CloudTrail GetSecretValue events, Azure Key Vault audit logs

Tuning Guidance

This parent-level detection is intentionally broad and should be tuned per environment. Start by establishing a baseline of legitimate credential store access — sysadmins, helpdesk tools, and password manager applications will generate noise. Create allowlists for known-good parent processes that legitimately access credential stores (e.g., browsers accessing their own Login Data, Keychain Access.app). For high-fidelity alerts, combine credential store access with other suspicious indicators like encoded commands, network connections to external IPs, or follow-on lateral movement. Consider deploying sub-technique-specific detections for focused coverage.


Hunting Queries

Hunt for accounts repeatedly querying credential stores using native OS commands. Frequent use of cmdkey, vaultcmd, or Keychain security commands may indicate systematic credential harvesting.

Hunting — KQL
kql
DeviceProcessEvents
| where Timestamp > ago(7d)
| where ProcessCommandLine has_any ("cmdkey", "vaultcmd", "security dump-keychain", "security find-generic-password", "dpapi::cred", "vault::list")
| summarize Count=count(), Devices=dcount(DeviceName) by AccountName, FileName
| where Count > 2
| sort by Count desc
Hunting — SPL
spl
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1 (CommandLine="*cmdkey*" OR CommandLine="*vaultcmd*" OR CommandLine="*dump-keychain*" OR CommandLine="*find-generic-password*" OR CommandLine="*dpapi::cred*" OR CommandLine="*vault::list*")
| stats count as Count, dc(host) as Devices by User, Image
| where Count > 2
| sort - Count

Hunt for direct file access to credential store databases. Processes reading Chrome Login Data, Firefox logins.json, macOS keychain files, or KeePass databases outside of their normal application context may indicate credential theft.

Hunting — KQL
kql
DeviceFileEvents
| where Timestamp > ago(7d)
| where FolderPath has_any ("Login Data", "logins.json", "key3.db", "key4.db", "login.keychain", "Credentials", ".kdbx", ".psafe3")
| where ActionType in ("FileRead", "FileModified", "FileCopied")
| project Timestamp, DeviceName, AccountName, FileName, FolderPath, InitiatingProcessFileName
| sort by Timestamp desc
Hunting — SPL
spl
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=11 (TargetFilename="*Login Data*" OR TargetFilename="*logins.json*" OR TargetFilename="*key3.db*" OR TargetFilename="*key4.db*" OR TargetFilename="*login.keychain*" OR TargetFilename="*.kdbx*" OR TargetFilename="*.psafe3*")
| table _time, host, User, Image, TargetFilename
| sort - _time

Hunt for known credential theft tools being executed. Detects common offensive security tools and Mimikatz-specific module commands used to dump credentials from various password stores.

Hunting — KQL
kql
DeviceProcessEvents
| where Timestamp > ago(7d)
| where FileName has_any ("mimikatz", "lazagne", "keethief", "credentialfileview", "vaultpasswordview", "browserpassview")
    or ProcessCommandLine has_any ("sekurlsa::", "dpapi::", "vault::cred", "lsadump::")
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine
| sort by Timestamp desc
Hunting — SPL
spl
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1 (Image="*mimikatz*" OR Image="*lazagne*" OR Image="*keethief*" OR Image="*credentialfileview*" OR CommandLine="*sekurlsa::*" OR CommandLine="*dpapi::*" OR CommandLine="*vault::cred*" OR CommandLine="*lsadump::*")
| table _time, host, User, Image, CommandLine, ParentImage
| sort - _time

Atomic Red Team Tests

Test 1 Enumerate Windows Credential Manager with cmdkey
windows

Uses the native Windows cmdkey utility to list all stored credentials in Windows Credential Manager. This is a common reconnaissance step used by adversaries after initial access to discover reusable credentials.

Command

powershell
cmdkey /list

Expected Telemetry

Sysmon Event ID 1: Process Create with Image=cmdkey.exe, CommandLine='cmdkey /list'. Security Event ID 4688 with same details if command line auditing is enabled.

Expected Detection

Alert fires on 'cmdkey /list' command pattern match in both KQL and SPL queries.

Test 2 Enumerate Windows Vault with vaultcmd
windows

Uses vaultcmd.exe to list credential lockers and enumerate stored credentials in Windows Vault. Adversaries like OilRig and Stealth Falcon have used similar techniques to harvest stored credentials.

Command

powershell
vaultcmd /listcreds:"Windows Credentials" /all

Expected Telemetry

Sysmon Event ID 1: Process Create with Image=vaultcmd.exe, CommandLine containing '/listcreds'. Security Event ID 4688 with command line details.

Expected Detection

Alert fires on 'vaultcmd /listcreds' pattern match. KQL and SPL both flag this credential enumeration command.

Test 3 Dump macOS Keychain credentials
macos

Uses the macOS security command-line utility to dump all credentials from the user's Login Keychain. Requires the user's login password. Tools like Empire and LaZagne use this same command for credential harvesting on macOS.

Command

bash
security dump-keychain -d ~/Library/Keychains/login.keychain-db

Expected Telemetry

macOS Unified Log: process creation for /usr/bin/security with arguments 'dump-keychain -d'. Endpoint Security Framework (ESF) events for Keychain access. EDR telemetry showing security binary execution with dump-keychain argument.

Expected Detection

Alert fires on 'security dump-keychain' pattern match. The -d flag indicates credential decryption attempt.

Related Detections