Extract Hash & Password
Attacks that allow obtaining NTLM hashes of local users or Active Directory domain users.
General Info
Database
SAM (Security Account Manager)
Hash format
LM (up to Vista Server 2008, 2 DES blocks of 7 lowercase chars, 69 chars total) NTLM (MD4)
Authentication protocols
NTLMv1 (uses LM and NTLM hashes) NTLMv2 (uses NTLM hashes) Kerberos
Process
LSASS (Local Security Authority Subsystem Service), system process dedicated to authentication, access, etc.
NTDS.dit
Each Domain Controller in Active Directory keeps this database file synchronized, which contains a lot of information including usernames and password hashes (SAM is used only for logins on the device with local accounts)
SAM Hashes
To extract hashes from the SAM database we need:
Administrator Privileges
hklm\sam
contains the password hashes.hklm\system
contains the bootkey needed to decrypt the SAM db.hklm\security
contains cached credentials for domain accounts.
Get File
Create copies for transfer
Extract
Extracting hashes from the SAM database in offline mode by having the files. Use impacket-secretsdump.
LSASS Hashes
To extract hashes from the LSASS process we need:
Administrator Privileges
Dump of the running process
Get File
Create a copy for transfer
Or
Extract
Extracting hashes from the LSASS process dump in offline mode by having the files. Use pypykatz.
NTDS Hashes
To extract hashes from the NTDS.dit
file we need::
Connect to a Domain Controller
Have Local Administrator (Administrators group) or Domain Administrator (Domain Admins group) rights (or equivalent)
hklm\system
contains the bootkey needed for decryption
Get File
Create a copy for transfer
Or
Extract
Extract hashes from NTDS.dit file offline, having the files. Use impacket-secretsdump.
Store Password using Reversible Encryption
When this option is set on a user account, the passwords are stored using RC4 encryption with the key stored in the registry (the Syskey) that can be extracted by a Domain Admin or equivalent. Tools such as impacket-secretsdump.py will decrypt any passwords stored using reversible encryption while dumping the NTDS file either as a Domain Admin or using an attack such as DCSync.
Enumeration
With Tools
Remotly
nxc smb <IP> --local-auth -u <USER> -p <PASS> --sam --lsa
nxc smb <IP_DC> -u <USER> -p <PASS> --ntds
On Host (need SeDebugPrivilege active, in addition to administrator privileges)
.\mimikatz.exe
> privilege::debug
> lsadump::sam
> lsadump::lsa
> lsadump::secrets
> sekurlsa::logonpasswords full
For All Moduls see HERE.
secretsdump.py <DOMAIN>/<USER>:<PASS>@<DC>
Create a copy of the SAM files, System, Security from any user even unprivileged.
CVE-2021-36934 - SeriousSam
.\HiveNightmare.exe
Sniffing
Last updated