Credentials from Password Stores: Password Managers

Adversaries may acquire user credentials from third-party password managers.[1] Password managers are applications designed to store user credentials, normally in an encrypted database. Credentials are typically accessible after a user provides a master password that unlocks the database. After the database is unlocked, these credentials may be copied to memory. These databases can be stored as files on disk.[1]

Adversaries may acquire user credentials from password managers by extracting the master password and/or plain-text credentials from memory.[2][3] Adversaries may extract credentials from memory via Exploitation for Credential Access.[4] Adversaries may also try brute forcing via Password Guessing to obtain the master password of a password manager.[5]

ID: T1555.005
Sub-technique of:  T1555
Platforms: Linux, Windows, macOS
Contributors: Matt Burrough, @mattburrough, Microsoft
Version: 1.1
Created: 22 January 2021
Last Modified: 19 August 2024

Procedure Examples

ID Name Description
G0117 Fox Kitten

Fox Kitten has used scripts to access credential information from the KeePass database.[6]

G0119 Indrik Spider

Indrik Spider has accessed and exported passwords from password managers.[7]

G1004 LAPSUS$

LAPSUS$ has accessed local password managers and databases to obtain further credentials from a compromised network.[8]

S0652 MarkiRAT

MarkiRAT can gather information from the Keepass password manager.[9]

C0014 Operation Wocao

During Operation Wocao, threat actors accessed and collected credentials from password managers.[2]

S0279 Proton

Proton gathers credentials in files for 1password.[10]

G0027 Threat Group-3390

Threat Group-3390 obtained a KeePass database from a compromised host.[11]

S0266 TrickBot

TrickBot can steal passwords from the KeePass open source password manager.[5]

Mitigations

ID Mitigation Description
M1027 Password Policies

Refer to NIST guidelines when creating password policies for master passwords.[12]

M1054 Software Configuration

Consider re-locking password managers after a short timeout to limit the time plaintext credentials live in memory from decrypted databases.

M1051 Update Software

Regularly update web browsers, password managers, and all related software to the latest versions. Keeping software up-to-date reduces the risk of vulnerabilities being exploited by attackers to extract stored credentials or session cookies.

M1018 User Account Management

Implement strict user account management policies to prevent unnecessary accounts from accessing sensitive systems. Regularly audit user accounts to identify and disable inactive accounts that may be targeted by attackers to extract credentials or gain unauthorized access.

M1017 User Training

Provide user training on secure practices for managing credentials, including avoiding storing sensitive passwords in browsers and using password managers securely. Users should also be educated on identifying phishing attempts that could steal session cookies or credentials.

Detection

ID Data Source Data Component Detects
DS0017 Command Command Execution

Monitor executed commands and arguments that may acquire user credentials from third-party password managers. [1]

Analytic 1 - Commands indicating credential searches in password managers.

index=security sourcetype IN ("linux_secure", "macos_secure")(CommandLine IN ("keepass", "lastpass", "1password", "bitwarden", "dashlane", "passwordsafe", "login", "vault"))

DS0022 File File Access

Monitor file reads that may acquire user credentials from third-party password managers.[1]

Analytic 1 - Unauthorized access to password manager files.

index=security sourcetype IN ("WinEventLog:Microsoft-Windows-Sysmon/Operational", "linux_secure", "macos_secure") EventCode IN (1, 4663)(file_path IN ("\AppData\Local\Keepass\.kdbx", "\AppData\Local\LastPass\.lpvault", "\AppData\Local\1Password\.agilekeychain", "\AppData\Local\Bitwarden\.json", "\AppData\Local\Dashlane\.db", "\AppData\Local\PasswordSafe\.psafe3", "/home//.keepass/.kdbx", "/home//.lastpass/.lpvault", "/home//.1password/.agilekeychain", "/home//.bitwarden/.json", "/home//.dashlane/.db", "/home//.passwordsafe/.psafe3"))

DS0009 Process OS API Execution

Monitor for API calls that may search for common password storage locations to obtain user credentials.

Analytic 1 - Suspicious API calls related to password manager access.

index=security sourcetype IN ("WinEventLog:Microsoft-Windows-Sysmon/Operational", "linux_secure", "macos_secure") EventCode IN (1, 11, 4688)(api IN ("CryptUnprotectData", "OpenProcess", "ReadProcessMemory", "EnumProcesses", "EnumProcessModules") OR CommandLine IN ("keepass", "lastpass", "1password", "bitwarden", "dashlane", "passwordsafe"))

Process Access

Monitor process being accessed that may acquire user credentials from third-party password managers.[1]

Analytic 1 - Unauthorized process access indicating credential searches in password managers.

index=security sourcetype IN ("WinEventLog:Microsoft-Windows-Sysmon/Operational", "linux_secure", "macos_secure") EventCode IN (1, 10, 11)(Image IN ("keepass", "lastpass", "1password", "bitwarden", "dashlane", "passwordsafe") OR TargetImage IN ("keepass", "lastpass", "1password", "bitwarden", "dashlane", "passwordsafe"))

References