实战攻击NTLMv1
2022年10月16日
n00py
Exploit Pentesting
0 评论
本博客旨在指导如何实际利用允许NTLMv1认证协议的系统。虽然NTLMv1几乎不再需要,但仍有大量组织可能无意中使用它。然而,一些VPN产品目前仍指示用户将NTLM认证降级到最低安全级别。给出的理由是NTLMv2无法与RADIUS或MS-CHAPv2配合使用,但其他VPN解决方案似乎在使用NTLMv2的同时解决了这个问题。
将涵盖两种不同的攻击方法:
- 认证降级 -> 破解
- LDAP中继 -> 基于资源的约束委派(RBCD)
当LmCompatibilityLevel注册表键设置为0、1或2时,这些攻击是可能的。这可以通过系统本身的注册表配置或通过组策略强制执行。
攻击1:认证降级
- 配置Responder以设置静态挑战并降级认证
- 强制系统进行认证
- 破解传入的哈希
- 银票和/或DCSync
以下是完整攻击的演示:
首先,您需要配置Responder使用静态挑战。默认情况下,这是随机的。为了能够使用彩虹表破解后续哈希,挑战应设置为1122334455667788。
运行Responder时,您需要使用类似以下命令:
|
|
--lm
标志将允许您几乎立即使用crack.sh的彩虹表破解哈希。如果这不起作用,您可以尝试--disable-ess
标志。如果您无法移除SSP,将无法再使用crack.sh的彩虹表破解,但仍可以通过使用ntlmv1-multi重新格式化或使用assless-chaps(依赖于预计算的NT哈希数据库)使用Hashcat进行枚举。
为了进一步理解各种NTLM哈希类型的格式,我建议观看EvilMog的演讲——NTLMv1/NTLMv1-SSP的解剖。
下一步是以任何您认为合适的方式强制认证。大多数这些技术至少需要某种级别的认证,但如果尚未应用安全更新,Petit Potam将无需认证即可工作。每个工具都有自己的语法,通常需要一组有效的域凭据以及监听器和目标的IP。
一旦破解,您将恢复被强制认证的计算机帐户的NT哈希。然后可以使用该哈希制作银票,进而用于获得对系统的管理访问权限。如果主机是域控制器,则可以直接通过PtH进行DCSync,而无需模拟任何其他帐户。
如果您想走银票路线,它记录在NetNTLMtoSilverTicket Github仓库中。我还推荐这篇博客文章,它更详细地介绍了如何配置银票。
|
|
您当然需要域的SID以及用户和组ID。您可能希望制作模拟现有域管理员的票证。我通常从ldapdomaindump或BloodHound数据中获取这些值。您可以使用破解的NT哈希以LM:NT格式使用Pass-the-Hash认证。
有时crack.sh宕机,因此破解哈希不是最佳选择,或者只是花费太长时间。虽然这种技术是最著名的,但存在一种同样有效的技术,根本不需要任何破解。
攻击2:LDAP中继
我从同事那里了解了这种攻击类型,但直到我遇到Adam Crosser的一篇优秀博客,才对NTLM降级攻击进行了全面深入的研究。这种攻击在我找到的另一篇博客文章中也提到过。众所周知,将SMB中继到LDAP是不可能的,因为SMB设置了一个标志,要求使用会话密钥对消息进行签名。没有此签名,认证将失败。这通常阻止了通过PrinterBug或Petit Potam强制的认证被中继。由于NTLM包括整个NTLM协商的消息完整性代码(MIC),签名无法在传输中被剥离。
NTLMv1提供了一个例外,因为NTLMv1不支持计算MIC。使用Impacket的ntlmrelayx.py,可以指定--remove-mic
标志。这最初是为了利用CVE-2019-1040,也称为“Drop the MIC”。
几乎可以以与CVE-2019-1040完全相同的方式利用NTLMv1。
攻击链如下所示:
- 设置ntlmrelayx.py以剥离MIC,同时执行RBCD攻击
- 强制认证
- 为模拟用户制作服务票证
- DCSync
这比上次攻击有更多先决条件:它需要至少两个域控制器进行中继,并且要求它们至少处于Windows Server 2012功能级别,以便RBCD攻击工作。
首先,设置ntlmrelayx.py中继到其中一个域控制器:
|
|
然后触发强制认证,目标是第二个域控制器。
认证随后被中继到LDAP,然后创建一个计算机帐户,并通过将新计算机帐户的SID添加到域控制器的msDS-AllowedToActOnBehalfOfOtherIdentity属性来修改目标域控制器上的委派权限。
一旦完成,就可以执行基于资源的约束委派攻击。
然后可以创建一个服务票证,模拟域管理员。
|
|
一旦创建此票证,就可以执行两种攻击从域控制器恢复NT哈希:
- 在系统上以管理员身份获取命令shell,并使用ntdsutil等工具恢复NTDS.dit数据库
- 对域控制器执行DCSync攻击,通过网络提取NT哈希
此外,此RBCD可以与影子凭据攻击交换。