根据一篇博客爆料,在Kerberos部署中存在大量身份验证漏洞,特别是针对微软的,这激起了人们对旧的但危险的漏洞进行新的认知。
安全研究员详解了各种通过使用pass-the-ticket、pass-the-hash或伪造特权属性证书绕过身份验证系统来攻击Kerberos的方法。在较为严重的漏洞中,攻击者能够在微软Kerberos环境中创建一个黄金通行证(golden ticket),使其具备管理员权限,为现有用户或并不存在的新用户创建秘密密码。
这是因为在微软Kerberos中密钥分发中心(KDC)会对使用krbtgt用户密钥的通行授予(TGT)和PAC数据进行加密和标记,这都是默认情况下创建的。该漏洞更具有危险性,因为krbtgt账户被禁用且不使用,所以密码很少更改,微软Kerberos将与用户名有关的两个曾用明码存在内存中。
在博客中,博主指出可以获取密钥的多种方法,且一旦拿到了密钥,攻击者在用户验证前有20分钟的自由时间,在此期间,黄金通行证可以创建无限的访问。
该漏洞使用伪造的PAC或生成对只对软Kerberos(而不对MIT Kerberos)造成影响的金/银通行证,因为微软使用专有PAC授权扩展。
麻省理工学院企业架构师Jeff Schiller和Kerberos认证系统的创始人一员证实了这种身份验证漏洞是针对微软的Kerberos的。
“ktbtgt用户账户应该具备一个不是密码的密钥。在MIT部署中,它是随机选择的。”Schiller说道,“Kerberos的要求之一是KDC必须是安全的。它包含着所有的用户隐私。如果KDC被攻陷,那么一切都玩完。将KDC置于带有很多其他服务的域控制器中增加了攻击风险,使得攻击者更有攻击的机会。”
根据该博客,为ktbtgt账户连续更改两次密码可阻止新的通行生成,依次定期修改密码可降低曝光的风险,因为在缓解攻击方面没有什么特别奏效的方式。
“缓解大部分这些攻击不太可能,因为这还只是Kerberos在Windows环境中的工作。大多数情况下,你要不惜代价关注于保护特权账户,因为保护所有账户是不太可能的,况且这是攻击者所好。否则你将失去更多。目前较有效的缓解措施当属保护用户组(Protected Users group)和认证卫士(Credential Guard)。”