Credentials from Password Stores: Windows Credential Manager

Adversaries may acquire credentials from the Windows Credential Manager. The Credential Manager stores credentials for signing into websites, applications, and/or devices that request authentication through NTLM or Kerberos in Credential Lockers (previously known as Windows Vaults).[1][2]

The Windows Credential Manager separates website credentials from application or network credentials in two lockers. As part of Credentials from Web Browsers, Internet Explorer and Microsoft Edge website credentials are managed by the Credential Manager and are stored in the Web Credentials locker. Application and network credentials are stored in the Windows Credentials locker.

Credential Lockers store credentials in encrypted .vcrd files, located under %Systemdrive%\Users\\[Username]\AppData\Local\Microsoft\\[Vault/Credentials]\. The encryption key can be found in a file named Policy.vpol, typically located in the same folder as the credentials.[3][4]

Adversaries may list credentials managed by the Windows Credential Manager through several mechanisms. vaultcmd.exe is a native Windows executable that can be used to enumerate credentials stored in the Credential Locker through a command-line interface. Adversaries may also gather credentials by directly reading files located inside of the Credential Lockers. Windows APIs, such as CredEnumerateA, may also be absued to list credentials managed by the Credential Manager.[5][6]

Adversaries may also obtain credentials from credential backups. Credential backups and restorations may be performed by running rundll32.exe keymgr.dll KRShowKeyMgr then selecting the "Back up..." button on the "Stored User Names and Passwords" GUI.

Password recovery tools may also obtain plain text passwords from the Credential Manager.[4]

ID: T1555.004
Sub-technique of:  T1555
Platforms: Windows
Contributors: Bernaldo Penas Antelo; Mugdha Peter Bansode; Uriel Kosayev; Vadim Khrykov
Version: 1.1
Created: 23 November 2020
Last Modified: 15 October 2024

Procedure Examples

ID Name Description
S0526 KGH_SPY

KGH_SPY can collect credentials from the Windows Credential Manager.[7]

S0349 LaZagne

LaZagne can obtain credentials from Vault files.[8]

S0681 Lizar

Lizar has a plugin that can retrieve credentials from Internet Explorer and Microsoft Edge using vaultcmd.exe and another that can collect RDP access credentials using the CredEnumerateW function.[9]

S0002 Mimikatz

Mimikatz contains functionality to acquire credentials from the Windows Credential Manager.[6]

G0049 OilRig

OilRig has used credential dumping tool named VALUEVAULT to steal credentials from the Windows Credential Manager.[10]

S0194 PowerSploit

PowerSploit contains a collection of Exfiltration modules that can harvest credentials from Windows vault credential objects.[11][12]

S0629 RainyDay

RainyDay can use the QuarksPwDump tool to obtain local passwords and domain cached credentials.[13]

S0240 ROKRAT

ROKRAT can steal credentials by leveraging the Windows Vault mechanism.[14]

S0692 SILENTTRINITY

SILENTTRINITY can gather Windows Vault credentials.[15]

G0038 Stealth Falcon

Stealth Falcon malware gathers passwords from the Windows Credential Vault.[16]

G0010 Turla

Turla has gathered credentials from the Windows Credential Manager tool.[17]

S0476 Valak

Valak can use a .NET compiled module named exchgrabber to enumerate credentials from the Credential Manager.[18]

G0102 Wizard Spider

Wizard Spider has used PowerShell cmdlet Invoke-WCMDump to enumerate Windows credentials in the Credential Manager in a compromised network.[19]

Mitigations

ID Mitigation Description
M1042 Disable or Remove Feature or Program

Consider enabling the "Network access: Do not allow storage of passwords and credentials for network authentication" setting that will prevent network credentials from being stored by the Credential Manager.[20]

Detection

ID Data Source Data Component Detects
DS0017 Command Command Execution

Monitor executed commands and arguments for suspicious activity listing credentials from the Windows Credentials locker (e.g. vaultcmd /listcreds:"Windows Credentials").[4]

Analytic 1 - Commands indicating credential searches in Windows Credential Manager.

index=security sourcetype="Powershell" EventCode=4104(CommandLine IN ("vaultcmd.exe", "rundll32.exe keymgr.dll KRShowKeyMgr"))

DS0022 File File Access

Consider monitoring file reads to Vault locations, %Systemdrive%\Users\\[Username]\AppData\Local\Microsoft\\[Vault/Credentials]\, for suspicious activity.[4]

Analytic 1 - Unauthorized access to Windows Vault credential files.

index=security sourcetype="WinEventLog:Microsoft-Windows-Sysmon/Operational" event_type="file_access"(file_path IN ("%SystemDrive%\Users\\AppData\Local\Microsoft\Vault\\.vcrd", "%SystemDrive%\Users\\AppData\Local\Microsoft\Credentials\\.vcrd", "%SystemDrive%\Users\\AppData\Local\Microsoft\Vault\\Policy.vpol", "%SystemDrive%\Users\\AppData\Local\Microsoft\Credentials\\Policy.vpol"))

DS0009 Process OS API Execution

Consider monitoring API calls such as CredEnumerateA that may list credentials from the Windows Credential Manager.[5][6]

Analytic 1 - Suspicious API calls related to Windows Credential Manager access.

index=security sourcetype="WinEventLog:Microsoft-Windows-Sysmon/Operational" event_type="api_call"(api IN ("CredEnumerateA", "CredEnumerateW", "CredReadA", "CredReadW", "CryptUnprotectData"))

Process Creation

Monitor newly executed processes for suspicious activity listing credentials from the Windows Credentials locker (e.g. vaultcmd /listcreds:"Windows Credentials").[4]

Analytic 1 - New processes with parameters indicating credential searches in Windows Credential Manager.

index=security sourcetype="WinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1(CommandLine IN ("vaultcmd.exe", "rundll32.exe keymgr.dll KRShowKeyMgr"))

References