是否存在通过 http 公开 NTLM 身份验证的安全问题,还是应该仅使用 https?

Sha*_*ane 5 security http active-directory https

我们正在建立一个 SharePoint 2010 网站。别担心,这不是 Sharepoint 问题,只是将其添加为上下文。大多数站点将是匿名的,但一些用户能够进行身份验证和编辑内容。他们使用 NTLM(用户存在于 AD)。对于可以通过 http 在 Internet 上修改内容的用户公开 NTLM 登录,还是应该仅通过 https 公开,是否存在任何问题?

Aar*_*oup 5

纯 HTTP 上的 NTLM 是不安全的。被动嗅探流量或执行中间人攻击的攻击者可以使用各种方法来窃取或滥用凭据。例如:

  • NTLM 中继攻击:当用户认为他们已通过 SharePoint 身份验证时,攻击者可以转而转发域中某些其他服务(如 Outlook/Exchange 或 SMB 共享)的 NTLM 质询,并获得对该服务的访问权限。即使第二个服务使用 HTTPS!
  • 离线字典攻击:在观察到 NTLM 质询和响应后,攻击者可以重新计算一些密码 P 的交换。当匹配时,这意味着 P 是用户密码。攻击者可以继续尝试 P 直到找到密码。这种攻击的有效性取决于密码强度,但通过使用标准工具、良好的字典和石头 GPU 加速,即使是中等复杂的密码也可以破解。
  • 会话劫持:仅对 SharePoint 感兴趣的攻击者也可以简单地忽略 NTLM 交换并接管用户的 SharePoint 会话(例如通过窃取 cookie 或注入 JavaScript)。这为他们提供了与用户相同的读/写访问权限。
  • 网站欺骗:攻击者可以显示一个虚假的登录屏幕,要求提供 AD 凭据。由于用户可能信任 SharePoint,因此他们不太可能填写这些信息,从而为攻击者提供明文密码。
  • NTLMv1 降级:根据客户端配置,攻击者可能能够让他们执行 NTLMv1 握手。这具有 NTLMv2 的所有加密弱点(即易受字典和中继攻击的攻击),但在破解两个 DES 密钥(现在相当便宜和快速)后,它使他们能够访问用户的原始 NT 哈希。针对此的字典攻击要有效得多。此外,该值可用于传递哈希攻击,允许攻击者在没有密码的情况下以用户身份登录(针对大多数服务)。

底线:将 NTLM 身份验证与使用纯文本凭据进行身份验证相同。在这种情况下,这意味着您应该使用 HTTPS 来防止网络上的攻击者。


Mar*_*cin 0

我对 Sharepoint 一无所知,但通用的方法是在其上放置一个嗅探器。如果您可以看到密码或其哈希值被传递,那么情况就很糟糕。如果您看不到它,那么您需要进一步研究它,它仍然可能被轻微混淆(base64 编码或类似的东西)。

  • “如果你看到它就很糟糕”是真的。然而,“如果你没有看到它那就很好”并不一定是正确的。使用质询/响应协议,您必须研究所询问的内容以及如何生成响应的协议,然后看看是否可以获得所有必要的信息。http://en.wikipedia.org/wiki/NTLM#NTLMv2 有使用内容的详细信息。可以仔细估计时间,可以确定用户名和域名,因此唯一真正的随机位是 8 字节随机数,因此可以在不进行太多尝试的情况下猜出。 (2认同)