KB22871997带来的实质影响
前言:这篇主要学习KB22871997带来的实质影响
参考文章:https://www.anquanke.com/post/id/193150
参考文章:http://download.microsoft.com/download/7/7/A/77ABC5BD-8320-41AF-863C-6ECFB10CB4B9/Mitigating Pass-the-Hash (PtH) Attacks and Other Credential Theft Techniques_English.pdf
KB2871997话题引入
这里上一个如下所示的图,可以看到微软对于Pass The Hash的更新补丁kb2871997是存在变动的
微软在2014年5月13日发布了针对Pass The Hash的更新补丁kb2871997,标题为"Update to fix the Pass-The-Hash Vulnerability"
而在一周后却把标题改成了"Update to improve credentials protection and management"
KB22871997的实质
1、支持"Protected Users"组
"Protected Users"组是Windows Server 2012 R2域中的安全组,"Protected Users"组的成员会被强制使用Kerberos身份验证,并且对Kerberos强制执行AES加密。
这里的"Protected Users"组的成员会被强制使用Kerberos身份验证,那么此时的PTK就派上用场了!
2、Restricted Admin RDP模式的远程桌面客户端支持;
参考文章:
Restricted Admin RDP模式是为了避免将Client端的凭据暴露给远程系统,同时也产生一种变种的Pass The Hash(Passing the Hash with Remote Desktop),网上已经有说明文章,这里不再赘述。同时这个功能只支持Windows server 2012和Windows8.1。
3、注销后删除LSASS中的凭据(也就是为什么在2012系统或者高系统想要抓取密码的时候修改完注册表还需要回到登录界面的状态);
在这个KB22871997更新之前,只要用户登录系统,Windows就会在lsass中缓存用户的凭据,包括用户的明文密码、LM/NTLM HASH、Kerberos的TGT票据/Session Key。
4、添加两个新的SID;
5、LSASS中默认禁用wdigest协议(也就是为什么2012想抓明文以后我们需要修改注册表,原因就是默认存在该补丁,并且UseLogonCredential默认为0)
如果想防止WDigest的明文密码存储在LSASS中则可以通过修改下面注册表的键值来实现:
如果UseLogonCredential值设置为0,则WDigest不会将凭据存储在内存中;
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
如果UseLogonCredential值设置为1,WDigest将在内存中存储凭据。
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f