根据SANS和其他人的build议,以减轻散列转储和其他攻击,我正在使用组策略来定义“debugging程序”用户权限分配。 如果没有启用,默认的策略是允许本地系统和pipe理员的权限,我想从pipe理员中删除这个权限(我们没有运行集群服务,据我所知,这是关于你的唯一原因, d需要pipe理员拥有它)。
我想知道是否应该启用此设置并仅添加本地系统,或只启用设置。 即,本地系统是否因为任何原因需要这个特权?
严格地说,不,从理论上讲,你只应该向非系统pipe理员注册一个debugging事件(除非,正如你所提到的,你需要其他的系统账号来直接访问其他计算机)。
然而,我对这篇论文的想法确实存在疑问(虽然有偏见,但我经常在任何主题上对SANS提出build议)。
就这样,我可以把这篇文章总结给所有可能读到这个不熟悉这个攻击的人,它就是这样的。 “您可以从内存或networking中获取GUID和/或访问令牌,并在不知道原始密码的情况下使用它们的散列值。 他们继续说,从一个有限的帐户这样做的常见方式包括崩溃使用SMB / NetBIOS凭据的服务,然后立即尝试注册CREATE_PROCESS_DEBUG_EVENT,并且即时访问适当的用户SMB共享。
对于那些使用哈希的人来说,这可能是一个相当明显的攻击,当然不是新的。
我的问题是 – 为什么? 为什么在攻击者(可能是系统关键服务)崩溃之后,攻击者会经历所有通过内存寻找哈希的麻烦。 如果IPS现在没有被触发 – NOC确定。
这里有数百种更简单的方法,ARP中毒,虚假的BPDU操作,OSPF区域重新路由,甚至使用源路由信息,所有奇妙的方法来拦截MS-CHAP或SMB信息。 同样,NT上的特权升级漏洞也是十几个,从特定应用程序中获取访问令牌非常容易 。
最终,从我的立场来看,使用Kerberos或RADIUS之类的方式会更好。假如没有这样的基础架构,NTLMv2就具有更复杂的挑战/响应algorithm,而这些algorithm不能在没有中间人的情况下特权的知识。