OS Credential Dumping: Security Account Manager T1003.002

Tactic: Credential Access

Adversaries may attempt to extract credential material from the Security Account Manager (SAM) database either through in-memory techniques or through the Windows Registry where the SAM database is stored. The SAM is a database file that contains local accounts for the host, typically those found with the net user command. Enumerating the SAM database requires SYSTEM level access.

Events covered

27 catalog events are tagged with this technique by at least one rule.

ProviderEventTitle
SysmonEvent ID 1Process creation
SysmonEvent ID 7Image loaded
SysmonEvent ID 10ProcessAccess
SysmonEvent ID 11FileCreate
SysmonEvent ID 12RegistryEvent (Object create and delete)
SysmonEvent ID 13RegistryEvent (Value Set)
SysmonEvent ID 14RegistryEvent (Key and Value Rename)
SysmonEvent ID 17PipeEvent (Pipe Created)
SysmonEvent ID 18PipeEvent (Pipe Connected)
Security-AuditingEvent ID 4624An account was successfully logged on.
Security-AuditingEvent ID 4656A handle to an object was requested.
Security-AuditingEvent ID 4661A handle to an object was requested.
Security-AuditingEvent ID 4663An attempt was made to access an object.
Security-AuditingEvent ID 4672Special privileges assigned to new logon.
Security-AuditingEvent ID 4674An operation was attempted on a privileged object.
Security-AuditingEvent ID 4688A new process has been created.
Security-AuditingEvent ID 4690An attempt was made to duplicate a handle to an object.
Security-AuditingEvent ID 4697A service was installed in the system.
Security-AuditingEvent ID 4904An attempt was made to register a security event source.
Security-AuditingEvent ID 4905An attempt was made to unregister a security event source.
Security-AuditingEvent ID 5145A network share object was checked to see whether client can be granted desired access.
Kernel-GeneralEvent ID 16The access history in hive HiveName was cleared updating KeysUpdated keys and creating DirtyPages modified pages.
NtfsEvent ID 98Volume DriveName (DeviceName) CorruptionActionState.
PowerShellEvent ID 4103Payload Context: ContextInfo User Data: UserData.
PowerShellEvent ID 4104Creating Scriptblock text (MessageNumber of MessageTotal).
Service-Control-ManagerEvent ID 7045A service was installed in the system.
Windows-Error-ReportingEvent ID 1001Fault bucket , type.

Authoring guide

Patterns shared across the 58 rules above: which fields they filter on, what specific values they look for, and what they exclude. The catalog normalizes field names across vendors so Sigma's Image, Elastic's process.name, and Splunk's process_name collapse into one row. Each rule contributes at most once per row.

Fields filtered most (58 distinct)

The fields most rules look at when detecting this technique. The How column shows the operators authors use (eq, wildcard, regex_match, match) and how often each appears. Sample values are concrete examples to start from, not an exhaustive list.

FieldRulesHowSample values
CommandLine18contains 11, in 2, regex_match 2, eq 1, match 1, wildcard 1(?i)(esentutl|\.exe)\"?\s.*\/y\s.*\/d\s, harddiskvolumeshadowcopy, --dump-bitlocker, --dump-hash-domain , --dump-hash-domain-cached
EventID12eq 121, 4688, 4104, 4624, 4663
OriginalFileName12eq 11, in 2powershell.exe, reg.exe, cmd.exe, esentutl.exe, \esentutl.exe
process_name11eq 8, ends_with 1, match 1, ne 1cmd.exe, esentutl.exe, powershell.exe, reg.exe, (?i).lsass.exe
Image10ends_with 9, contains 1, is_not_null 1\appdata\, \cmd.exe, \cscript.exe, \esentutl.exe, \memprocfs.exe
TargetFilename6contains 3, ends_with 3, eq 1, wildcard 1.dmp, :\sam, ?:\windows\system32\*.tmp, ?:\windows\system32\config\regback\sam, ?:\windows\system32\config\regback\security
event.type6eq 6start, creation
Provider_Name4eq 4Microsoft-Windows-Kernel-General, Microsoft-Windows-Ntfs, Microsoft-Windows-WER-SystemErrorReporting, Service Control Manager
RelativeTargetName4contains 2, eq 2, ends_with 1, starts_with 1.tmp, SYSTEM32, Windows\NTDS\ntds.dit, Windows\System32\config\SAM, Windows\System32\config\SECURITY
process.args4eq 3, contains 2/d, /vss, /y, export, hklm\sam
EventType3eq 3creation, logged-in-special, open
ScriptBlockText3in 2, eq 1*[system.io.file]::copy*, *copy*, *system32\\config\\sam*, cert_system_store_local_machine, crypto::certificates
Type3eq 3
sourcetype3eq 3azure:monitor:aad, o365:management:activity
"{}.RequiredAppPermissions{}.EntitlementId"2eq 206b708a9-e830-4db3-a914-8e69da51d44f, 9e3f62cf-ca93-4989-b6ce-bf83c28f9fe8, 1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9, 1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9

Top indicator values (407 distinct)

Specific (field, operator, value) combinations the rules check for, ranked by how many rules under this technique use each one. The Corpus reach column counts how many rules across the entire catalog (any technique) check the same combination. High numbers point to widely-used indicators that are likely noisy on their own; combine them with another condition for useful signal. Blank means the combination is specific to rules under this technique. Click a value to expand the rules under this technique that use it.

FieldKindValueRules (here)Corpus reach
event.typeeq
start
5606
EventIDeq
1
3237
EventIDeq
4688
3313
EventIDeq
4104
2268
EventIDeq
4624
225
EventIDeq
4663
234
OriginalFileNameeq
reg.exe
342
OriginalFileNameeq
esentutl.exe
24
"{}.RequiredAppPermissions{}.EntitlementId"eq
06b708a9-e830-4db3-a914-8e69da51d44f
22
"{}.RequiredAppPermissions{}.EntitlementId"eq
9e3f62cf-ca93-4989-b6ce-bf83c28f9fe8
22
CommandLinecontains
\config\sam
24
CommandLinecontains
\config\security
24
CommandLinecontains
\windows\ntds\ntds.dit
25
CommandLinecontains
harddiskvolumeshadowcopy
23
CommandLineregex_match
(?i)(esentutl|\.exe)\"?\s.*\/y\s.*\/d\s
22
Imageends_with
\powershell.exe
2182
Imageends_with
\pwsh.exe
2168
OriginalFileNamein
cmd.exe
29
OriginalFileNamein
powershell.exe
217
event.categoryeq
process
2128
file.Ext.header_bytesstarts_with
72656766
22
file.sizege
30000
23
process_nameeq
cmd.exe
277
process_nameeq
esentutl.exe
25
process_nameeq
powershell.exe
2104
process_nameeq
reg.exe
220
sourcetypeeq
azure:monitor:aad
247
user.idstarts_with
S-1-12-1-
26
"operationName"eq
Add member to role
12
"properties.targetResources{}.modifiedProperties{}.newValue"eq
Privileged Authentication Administrator
1

Exclusions (24 distinct)

Field/operator/value combinations excluded by rules under this technique (top-level not() clauses), sorted by how many rules exclude each. These are the false-positive paths the community has learned to filter out. A new rule that ignores the high-count entries here will likely fire on the same noisy paths. Click a value to expand the rules under this technique that exclude it.

FieldKindValueRules excluding
Imagewildcard
?:\program files (x86)\padvish av\apccsvc.exe
1
Imagewildcard
?:\program files\bitdefender\endpoint security\epsecurityservice.exe
1
Imagewildcard
?:\program files\common files\mcafee\avsolution\mcshield.exe
1
Imagewildcard
?:\program files\cylance\optics\cyoptics.exe
1
Imagewildcard
?:\program files\n-able technologies\avdefender\epsecurityservice.exe
1
Imagewildcard
?:\program files\sophos\endpoint defense\sophosscancoordinator.exe
1
Imagewildcard
?:\program files\sophos\endpoint defense\sspservice.exe
1
Imagewildcard
?:\program files\symantec\symantec endpoint protection\*\bin64\ccsvchst.exe
1
Imagewildcard
?:\program files\trend micro\amsp\coreserviceshell.exe
1
Imagewildcard
?:\program files\windows defender advanced threat protection\mssense.exe
1
Imagewildcard
?:\windows\system32\taskhost.exe
1
Imagewildcard
?:\windows\system32\taskhostw.exe
1
PrivilegeListeq
SeDebugPrivilege
1
ScriptBlockTexteq
powersploitindicators
1
ScriptBlockTexteq
sentinelbreakpoints
1

Rules under this technique

Every rule in the catalog tagged with this technique, grouped by vendor. Click a rule title for its full predicates, exclusions, and indicators.

Platform (all)
Domain (all)

Sigma 30 rules

Elastic 11 rules

Splunk 17 rules