Detect Cached Domain Credentials in Splunk
Adversaries access cached domain credentials (DCC2/MS-Cache v2) stored locally for offline authentication when domain controllers are unavailable. On Windows, these are stored as MSCACHE v2 (PBKDF2-derived) hashes in HKLM\SECURITY\Cache and cannot be used for pass-the-hash but can be cracked offline. Linux systems using SSSD store cached credentials at /var/lib/sss/db/cache.[domain].ldb. Tools include Mimikatz (lsadump::cache), LaZagne, Cachedump, and Quarks PwDump. Used by Okrum, APT33, OilRig, Leafminer, MuddyWater.
MITRE ATT&CK
- Tactic
- Credential Access
- Technique
- T1003 OS Credential Dumping
- Sub-technique
- T1003.005 Cached Domain Credentials
- Canonical reference
- https://attack.mitre.org/techniques/T1003/005/
SPL Detection Query
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1
| eval IsCachedDump=case(
match(lower(CommandLine), "lsadump::cache|cachedump|mscache"), 1,
match(lower(Image), "(lazagne|cachedump|fgdump|gsecdump)\.exe"), 1,
1==1, 0
)
| where IsCachedDump=1
| table _time, host, Image, CommandLine, User
| sort - _time
| append
[search index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" (EventCode=12 OR EventCode=13)
(TargetObject="*\\SECURITY\\Cache*" OR TargetObject="*\\SECURITY\\Policy\\Secrets\\NL$*")
NOT (Image="*\\lsass.exe" OR Image="*\\svchost.exe" OR Image="*\\services.exe")
| table _time, host, TargetObject, Image, User] Detects cached domain credential dumping via Sysmon Event ID 1 for known tool command patterns and Event IDs 12/13 for registry access to SECURITY\Cache (where cached domain credentials are stored). The NL$KM key in LSA Secrets contains the key used to encrypt cached credentials.
Data Sources
Required Sourcetypes
False Positives & Tuning
- Security tools reading the cache count value to audit security settings
- LSASS itself reading Cache during domain authentication attempts
- EDR agents inspecting the cache registry key for security posture assessment
- Authorized penetration testing with documented scope
Other platforms for T1003.005
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.
- Test 1Mimikatz Cached Domain Credentials Dump
Expected signal: Sysmon Event ID 1: Process Create for mimikatz.exe with 'lsadump::cache' in CommandLine. Sysmon Event ID 12/13: Registry access to HKLM\SECURITY\Cache by mimikatz.exe. Security Event ID 4688 for mimikatz.exe.
- Test 2Check Cached Credential Count via Registry
Expected signal: Sysmon Event ID 12: Registry Key Opened for HKLM\SECURITY\Cache (if Sysmon is configured to log registry reads). Security Event ID 4656/4663 if registry auditing is enabled. Process Create for reg.exe.
- Test 3Linux SSSD Cache Access Simulation
Expected signal: Linux auditd events for file access on /var/lib/sss/db/ by non-sssd processes. Syslog entries for file access audit events. Process creation events for ls, file, and stat commands.
References (6)
- https://attack.mitre.org/techniques/T1003/005/
- https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh994565
- https://ired.team/offensive-security/credential-access-and-credential-dumping/dumping-and-cracking-mscash-cached-domain-credentials
- https://passlib.readthedocs.io/en/stable/lib/passlib.hash.msdcc2.html
- https://labs.portcullis.co.uk/download/eu-18-Wadhwa-Brown-Where-2-worlds-collide-Bringing-Mimikatz-et-al-to-UNIX.pdf
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1003.005/T1003.005.md
Unlock Pro Content
Get the full detection package for T1003.005 including response playbook, investigation guide, and atomic red team tests.