经常遇到一个面试题:在winser2012和win8之后、或打补丁kb2871997的主机不能直接获取明文密码,咋整?
Wdigest是lsass的一种SSP程序,主要用在Win2003的LDAP和基于Web的身份验证。它利用HTTP和简单身份验证安全层 (SASL) 交换进行身份验证。
但这个认证机制会在内存中以加密的形式保存win的明文密码
我们常用的mimikatz的sekurlsa::logonpasswords命令,之所以能获取明文密码全靠的这个间谍
在win2008版本之前的WDigest是默认开启的,我们是可以在lsass进程拿到明文密码的
但在win2008之后的版本设为了默认不开启,或者打了补丁kb2871997的也会处于关闭状态,这样我们就无法在lsass获取明文密码了
(注意打了补丁不一定会关闭,因为某些系统服务会用到WDigest认证,这不是绝对的)
WDigest服务虽然关闭,但是可以通过操作对应的注册表来开启他
HKLMSYSTEMCurrentControlSetContorlSecurityProvidersWdigest
打了补丁或2008之后的主机会多一个UseLogonCredential项
当该项的值为1则记录明文密码,0则为不记录明文密码
记录明文密码
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
不记录明文密码
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
修改为注册表后,我们需要用户进行登录才能抓到明文密码
rundll32.exe user32.dll LockWorkStation
接下来等待用户再次登录一次,就可以继续各种对lsass的操作获取明文密码了
mimikatz
mimikatz
mimikatz
本文始发于微信公众号(XG小刚):修改WDigest获取明文密原理
评论