the process of obtaining account login and password information from the operating system and software. We will look at different methods of dumping credentials in Windows environment and how to detect them via logs (native Windows, Sysmon)
to use credential dumping • APT28 regularly deploys both publicly available and custom password retrieval tools on victims • APT3 has used a tool to dump credentials by injecting itself into lsass.exe • Axiom has been known to dump credentials • Cleaver has been known to dump credentials • FIN6 has used Windows Credential Editor for credential dumping, as well as Metasploit’s PsExec NTDSGRAB module to obtain a copy of the victim's Active Directory database • Even ransomware use credential dumping
Kerberos encryption keys, SmartCard/Token PIN codes, LM/NTLM hashes, DPAPI Domain Backup Key, Domain Trust Auth Information, cached DPAPI MasterKeys, cached SysKey (need to decrypt SAM/LSA Secrets/Cached credentials/NTDS.dit), clear-text passwords of accounts, stored in Credential Manager; SAM registry hive/file: LM/NTLM hashes of local users; SECURITY registry hive/file: cached credentials, LSA Secrets (account passwords for services, password used to logon to Windows if auto-logon is enabled); NTDS.dit file: hashes of domain accounts, Domain Backup Key; SYSTEM registry hive/file: SysKey, that need to decrypt SAM/LSA Secrets/Cached credentials/NTDS.dit. What can be dumped and where from?
be dumped! This data protected by LsaProtectMemory and can be unprotected by LsaUnprotectMemory (used symmetric encryption, keys can be found in LSASS memory). There several ways: • online from ring3 – OpenProcess…; • online from ring0 – use driver for accessing LSASS memory; • offline from LSASS memory dumps; • offline from other sources, that contain LSASS memory (virtual machine memory files, crashdumps, hibernation file). Dumping from LSASS memory Tools: Mimikatz, Invoke-Mimikatz, Windows Credential Editor (WCE), fgdump, pwdump6, pwdumpX, taskmgr/procdump/sqldumper, WinDbg mimikatz plugin, Volatility mimikatz plugin
source_name:"Microsoft-Windows-Sysmon" AND event_id:10 AND event_data.TargetImage:"*\\lsass.exe" AND -event_data.GrantedAccess:(0x40 0x1400 0x1000 0x100000) AND -event_data.SourceImage:("*\\taskmgr.exe" "*\\procexp64.exe" "*\\procexp.exe" "*\\lsm.exe" "*\\csrss.exe" "*\\wininit.exe" "\\wmiprvse.exe")
Is it possible? In Windows 10, versions 1507 a default process SACL was added to LSASS.exe to log processes attempting to access LSASS.exe. The SACL is L"S:(AU;SAFA;0x0010;;;WD)". You can enable this under Advanced Audit Policy Configuration\Object Access\Audit Kernel Object. This can help identify attacks that steal credentials from the memory of a process https://docs.microsoft.com/en-us/windows/whats-new/whats-new-windows-10-version-1507- and-1511
And what about <Windows 10? It is also possible to change LSASS.exe SACL in earlier Windows versions (<10). To automate this process you can write script and configure it to run on system startup
using Windows events! event_id:4656 AND event_data.ObjectName:"*\\lsass.exe" AND -event_data.AccessMask:(0x1400 0x40 0x1000 0x100000) AND -event_data.ProcessName:("*\\taskmgr.exe" "*\\procexp64.exe" "*\\procexp.exe" "*\\lsm.exe" "*\\csrss.exe" "*\\wininit.exe" "\\wmiprvse.exe" "*\\vmtoolsd.exe")
Server 2012 R2 and Windows 8.1 includes a new feature called LSA Protection. It prevents non-protected processes from interacting with LSASS. To allow it, set the value of the registry key RunAsPPL in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Lsa to dword:00000001 But… Mimikatz can bypass it, using its own driver. Even more… It can unprotect any protected processes
it! event_id:7045 AND (event_data.ServiceName:*mimidrv* OR event_data.ImagePath:*mimidrv*) event_id:6 AND source_name:"Microsoft-Windows-Sysmon" AND (event_data.ImageLoaded:*mimidrv* OR event_data.Signed:false)
Programs with direct access may read and write files directly from the drive by analyzing file system data structures. This technique bypasses Windows file access controls as well as file system monitoring tools. Tools: Pwdump7, Invoke-NinjaCopy, Samex Dumping from SAM/SYSTEM/SECURITY/NTDS.dit Grabbing via direct access to logical volume
(also known as Volume Snapshot Service, Volume Shadow Copy Service or VSS) is a technology included in Microsoft Windows that allows taking manual or automatic backup copies or snapshots of computer files or volumes, even when they are in use. So, it can be used to grab SAM/SECURITY/NTDS.dit files.
it! source_name:"Microsoft-Windows-Sysmon" AND event_id:1 AND *vssadmin* AND event_data.Image:"*\\vssadmin.exe" AND event_data.CommandLine:*shadow* AND event_data.CommandLine:(*list* *create* *delete*) event_id:466 AND *vssadmin* AND event_data.NewProcessName:"*\\vssadmin.exe" AND event_data.CommandLine:*shadow* AND event_data.CommandLine:(*list* *create* *delete*)
a command- line tool that provides management facilities for Active Directory Domain Services (AD DS) and Active Directory Lightweight Directory Services (AD LDS). It can be used to create backup of NTDS database, using shadow copies mechanism.
it! source_name:"Microsoft-Windows-Sysmon" AND event_id:1 AND event_data.Image:"*\\ntdsutil.exe" AND event_data.CommandLine:*ntds* AND event_data.CommandLine:*create* AND event_data.CommandLine:*full* event_id:4688 AND event_data.NewProcessName:"*\\ntdsutil.exe" AND event_data.CommandLine:*ntds* AND event_data.CommandLine:*create* AND event_data.CommandLine:*full*
it! source_name:"Microsoft-Windows-Sysmon" AND event_id:1 AND event_data.Image:("*\\powershell.exe" "*\\wmic.exe") AND event_data.CommandLine:(*shadowcopy*) AND event_data.CommandLine:(*create*) event_id:4688 AND event_data.NewProcessName:("*\\powershell.exe" "*\\wmic.exe") AND event_data.CommandLine:(*shadowcopy*) AND event_data.CommandLine:(*create*)
storage. Lets hunt it! source_name:"Microsoft-Windows-Sysmon“ AND event_id:1 AND event_data.CommandLine:*mklink* AND event_data.CommandLine:*HarddiskVolumeShadowCopy* event_id:4688 AND event_data.CommandLine:*mklink* AND event_data.CommandLine:*HarddiskVolumeShadowCopy*
hunt it! event_id:1 AND event_data.CommandLine:*reg* AND event_data.CommandLine:*save* AND event_data.CommandLine:("hklm\\sam" "hklm\\system" "hklm\\security" "hkey_local_machine\\sam" "hkey_local_machine\\system" "hkey_local_machine\\security")
event_id:5145 AND event_data.RelativeTargetName:winreg AND - event_data.IpAddress:(192.168.7.9 192.168.7.19) IP addresses of admin workstations Account and IP used to access Remote Registry Remote registry service pipe
credential dumping which can be used to acquire sensitive information from a domain controller. The action works by simulating a domain controller replication process from a remote domain controller. Any member of Administrators, Domain Admins, or Enterprise Admins as well as Domain Controller computer accounts are able to run DCSync to pull to pull credential data. Tools: Mimikatz, secretsdump.py from Impacket How it works: • discovers Domain Controller in the specified domain name. • requests the Domain Controller replicate the user; credentials via GetNCChanges (leveraging Directory Replication Service (DRS) Remote Protocol).