我一直在试验NTLM及其不同的中继缓解,包括MIC和信道绑定。
据我理解:
哪些标志指示客户端对NTLM的版本支持?而且,是否有可能在强制NTLMv1和NTLMv2使用NTLMv1的同时中继既支持NTLMv1又支持NTLMv2的客户端?
发布于 2021-04-22 02:45:31
NTLM协议是由微软记录的。。在第2.2.2.5节中,描述了将使用哪个版本的协议的标志。可以选择几个变体,包括我们通常称为NTLMv1和NTLMv2的变体。
当服务器根据客户端值选择版本时,如果它接受任何不涉及初始协商消息完整性检查的身份验证,那么它就容易受到降级攻击,从而迫使它使用安全性较低的协议。这意味着NTLM只能在具有可信的、配置正确的服务器的安全连接(例如TLS)上使用。
请注意,您从来不想使用NTLMv1。NTLMv1使用具有56位密钥的DES,如果任何NTLMv1交换公开,则用户凭据的安全性被降级为56位;可以恢复整个密码哈希。如果你愿意等一会儿,那么进行这次攻击是20美元的成本,所以任何一个相当无聊的青少年都能负担得起损害你的系统。
当然,由于NTLM的所有版本都涉及未加盐的MD4和单个DES或MD5,您可能希望完全避免使用它们,以支持更安全的东西,因为所有这些构造都已经知道在超过15年的时间里完全不安全。使用TLS上随机生成的明文凭据意味着您可以在服务器端更安全地存储密码,或者,如果需要兼容Windows的内置身份验证,则可以使用Kerberos。请注意,如果您需要使用客户端的凭据来代表客户访问某些东西,Kerberos支持可转发和可取消的票证。
https://security.stackexchange.com/questions/248560
复制相似问题