Sed*_*ien 11 security kerberos vulnerabilities
此FAQ 条目(以及RFC本身)指出,预身份验证解决了 Kerberos 初始实现中的一个弱点,该弱点使其容易受到离线字典攻击。
常见问题解答状态:
最简单的预身份验证形式称为 PA-ENC-TIMESTAMP。这只是使用用户密钥加密的当前时间戳。
如果攻击者设法嗅探包含此预身份验证数据的数据包,这是否也容易受到字典攻击?我有密文,我知道原始时间戳——这种情况有什么不同?
小智 16
当你不强制预认证时,攻击者可以直接发送一个虚拟的认证请求。KDC 将返回一个加密的 TGT,攻击者可以将其强制下线。除了对 TGT 的单个请求之外,您在 KDC 日志中将看不到任何内容。
当您强制执行时间戳预身份验证时,攻击者无法直接向 KDC 索取加密材料以进行离线暴力破解。攻击者必须用密码加密时间戳并将其提供给 KDC。是的,他可以一遍又一遍地执行此操作,但是每次他的预身份验证失败时您都会看到一个 KDC 日志条目。
因此,时间戳预认证可以防止主动攻击者。它不能阻止被动攻击者将客户端的加密时间戳消息嗅探到 KDC。如果攻击者可以嗅探到那个完整的数据包,他就可以将其强制离线。
此问题的缓解措施包括使用长密码和良好的密码轮换策略使离线暴力破解不可行,或使用 PKINIT ( http://www.ietf.org/rfc/rfc4556.txt )
我在 IEEE Xplore 上找到了一篇与此相关的论文(通过 RC4-HMAC 加密类型分析提取 Kerberos 密码)。它们似乎暗示,如果捕获了预身份验证数据包,则没有什么不同。
如果攻击者能够捕获预身份验证数据包并想要获取有效用户的身份,则攻击者将需要执行 KDC 执行的过程。攻击者需要使用商定的加密类型中的解密程序,并尝试对捕获的数据运行不同的密码。如果成功,则攻击者拥有用户的密码。