我知道,当Windowscaching用户证书时,一旦包含caching凭据的计算机受到攻击,恶意方有时可以使用这些机器访问其他机器,这种方法称为“传递散列”[1]。 由于这个原因,我想控制caching的内容,以减less恶意使用caching凭据的风险。
可以通过归零HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CachedLogonsCount来防止所有caching,但这太不分青红皂白:笔记本电脑用户需要能够远离networkinglogin。 我想要做的是防止某些用户,如pipe理员的凭据caching – 在Windows XP中有没有办法做到这一点?
最好的做法,就像在这个主题的许多文章中提到的那样,设置CachedLogonsCount = 1。 当用户login到他的笔记本电脑时,pipe理员凭证将被刷新。 一定要向用户解释,在离开之前,他们需要在连接到networking时login,否则他们将被locking。
另外值得注意的是,Pass-the-Hash在Kerberos上不起作用。 build议您在任何方便的地方禁用NTLM身份validation。
最近的发展:
利用GPU(graphics卡)来破解NTLM密码的程序正变得越来越stream行,而且速度非常快。 使用合理的家用电脑,可以在<20分钟内破解7个字符的NTLM密码。 禁用NTLMcaching变得越来越重要,因为从哈希中恢复密码变得更容易了(这可以用于Kerberos,http-digest或其他身份validation方法)。
随着云计算的兴起,破解云中的NTLM密码使得有可能在合理的时间内(尽pipe总计费用)“租用”资源来破解几乎所有的NTLM哈希。 鉴于这些发展,每个人都应该重新评估密码长度和复杂性政策; 限制NTLM哈希的使用和存储; 并仔细评估(或猜测)一个恶意组织(竞争对手)为了访问你的系统将付多less钱。
笔记本电脑与台式机上的gpo设置!
最好的办法是在使用pipe理员后删除所有的caching,然后让用户重新login。
为了查看registry启动regedit作为系统中的caching的凭据(除非您更改要修改的密钥的权限)
以pipe理员身份login,加载命令提示符并键入:
在xx:xx / interactive“regedit.exe”,它使用系统作为它的所有者
导航到HKLM \ SECURITY \ CACHE
用零覆盖NL $ 1到10的数据。 不要删除它们,也不要使用任何其他键。
我没有真正做到这一点,但你也应该能够安排reg.exe命令做同样的事情。