Synth Daily

发布彩虹表,加速淘汰 Net-NTLMv1 协议

为了推动业界淘汰过时且不安全的 Net-NTLMv1 认证协议,Mandiant 公开发布了一套完整的彩虹表数据集。尽管此协议的安全漏洞早在二十多年前就已被证实,但它仍在许多实际环境中被使用,给组织带来了巨大的凭证被盗风险。通过发布这套彩虹表,安全人员现在可以使用成本不到 600 美元的普通硬件,在 12 小时内破解密钥,这极大地降低了展示其安全风险的门槛,旨在敦促各方立即禁用该协议,以防止严重的权限提升攻击。

一个持续存在的古老威胁

Net-NTLMv1 协议的安全性问题早在 1999 年就已进入密码学分析领域,并且自 2012 年以来就已广为人知其极其不安全。然而,由于变更系统的惰性和缺乏对其直接风险的展示,该协议至今仍在许多组织的网络中活跃。

这为攻击者留下了可乘之机。他们可以利用一个被称为已知明文攻击 (KPA) 的方法,如果能获取到一个 Net-NTLMv1 哈希,就几乎可以保证恢复出关键的密钥材料

这种攻击的后果非常严重。由于密钥材料就是 Active Directory (AD) 中用户或计算机账户的密码哈希,一旦破解成功,攻击者就能迅速利用它来接管账户,并常常导致权限提升。

一个常见的攻击链是:

  1. 攻击者通过 PetitPotamDFSCoerce 等工具发动认证强制攻击。
  2. 迫使一个高权限对象(如域控制器 DC)向攻击者控制的机器进行身份验证。
  3. 捕获 DC 计算机账户的 Net-NTLMv1 哈希。
  4. 破解该哈希以恢复 DC 账户的密码哈希。
  5. 利用恢复的哈希执行 DCSync 攻击,从而窃取 AD 中任何账户的凭证,完全控制整个域。

为何要公开发布彩虹表?

发布这套彩虹表的目的是为了降低安全人员验证和展示 Net-NTLMv1 风险的门槛。在此之前,破解该协议通常需要:

  • 将敏感的哈希数据上传到第三方破解服务。
  • 投资昂贵的专用硬件进行暴力破解。

现在,通过 Mandiant 发布的这套数据集,防御者和研究人员可以使用普通的消费级硬件在极短的时间内完成破解,从而有力地向决策者证明禁用此协议的紧迫性。

如何利用彩虹表进行攻击演示

安全测试人员可以模拟攻击者的行为来验证环境中的风险。整个过程大致如下:

  • 步骤一:捕获哈希 攻击者通常使用 Responder 这类工具,并设置特定参数 (--lm--disable-ess) 来监听网络,专门等待或强制获取 Net-NTLMv1 连接。

  • 步骤二:处理哈希 获取到的 Net-NTLMv1 哈希需要被分解成几个 DES(数据加密标准)组件。

  • 步骤三:使用彩虹表破解 将分解后的 DES 组件加载到彩虹表搜索软件(如 rcrackRainbowCrack-NG)中。软件会利用预先计算好的彩虹表,快速查找并恢复出加密密钥。

  • 步骤四:重组凭证并发起攻击 一旦密钥被恢复,攻击者就可以重构出完整的 NT 哈希。随后便可使用这个哈希凭证,通过 Impacket 工具包中的 secretsdump.py 等脚本,以受害账户(如 DC 计算机账户)的身份发起 DCSync 攻击,最终实现对整个域的控制。

禁用 Net-NTLMv1 是防止此类认证强制和权限提升攻击的关键一步,也是所有组织应立即采取的 remediation 措施。