利用 NTLM Relay 配合 ADCS 这个漏洞的情况需要什么条件

1. NTLM Relay 攻击的基本原理

NTLM Relay 的核心是中间人攻击。攻击者位于客户端和服务器之间,截获并重放 NTLM 认证会话

  1. 客户端发起认证请求:域内的一台机器(客户端)向攻击者控制的机器发起一个 SMB 或 HTTP 等协议的连接
  2. 攻击者截获并转发:攻击者截获客户端的 NTLM Challenge/Response 认证信息(但无法破解出明文密码)
  3. 攻击者重放认证:攻击者将这个认证信息原封不动地转发另一台域内机器(目标服务器),冒充客户端进行认证
  4. 目标服务器验证通过:目标服务器认为这个认证信息是合法的,并允许攻击者以客户端的身份进行访问

这里的关键是,攻击者没有破解密码,而是直接利用认证过程,将受害者的身份“重放”给了目标服务器

2. ADCS 漏洞(ESC8)的核心原理

Active Directory Certificate Services (ADCS) 是微软提供的一个证书颁发机构(CA),用于管理公钥基础设施(PKI)

漏洞(也被称为 ESC8)存在于一些不安全的证书模板配置中。当一个证书模板被配置为:

  • Certificate Authority Authorization (CA Authorization) 权限不安全,允许低权限用户或匿名用户注册
  • 并且模板允许客户端认证 (Client Authentication)
  • 最重要的是,模板设置了 NTLM 签名禁用 (NTLM Signing Disabled)

在这种配置下,攻击者可以利用 NTLM Relay 攻击,将受害者的身份信息中继到 ADCS 服务器,以受害者的身份请求一个证书。这个证书将用于后续的 Kerberos 认证

3. NTLM Relay 配合 ADCS 的完整攻击链

将两者结合后,攻击链变得异常强大,因为攻击者不再需要找到一个可以被利用的文件共享远程桌面服务,而是将认证重定向到一个特定的 ADCS Web 页面

  1. 诱导受害者发起认证:攻击者需要想办法让域内一个用户或计算机(受害者)向自己发起一个认证请求
    • 强制认证:通过强制用户访问一个恶意 UNC 路径(例如 \\<攻击机IP>\share),Windows 系统会自动尝试使用 NTLM 认证来访问这个共享
    • 钓鱼攻击:通过发送恶意链接(例如 file:///<攻击机IP>/payload.html)给受害者
  2. 启动 NTML Relay 服务器:攻击者使用专门的工具(如 ntlmrelayx.py)来监听并重定向认证
  3. 重定向认证到 ADCS:当受害者发起认证请求时,ntlmrelayx.py 会捕获 NTLM 认证信息,并将其重定向到 ADCS 的一个特定 HTTP 页面
    • 重定向 URL 示例http://<ADCS服务器IP>/certsrv/certfnsh.asp
  4. 以受害者身份请求证书:ADCS 服务器接收到重定向的 NTLM 认证后,会认为这是受害者在请求证书。由于模板配置不安全,它会为攻击者颁发一个带有受害者身份信息的有效证书
  5. 利用证书获取 Kerberos 票据:攻击者获取到这个证书后,可以使用 Rubeus.exe 或其他工具,利用证书请求一个Kerberos 票据(TGT)
  6. 实现 Kerberos 认证:有了这个 TGT,攻击者就可以以受害者的身份访问域内的所有服务。如果这个受害者是域管理员,攻击者就实现了域的完全控制,包括创建新用户、修改组权限等

4. 攻击链的利用条件总结

要成功执行这种攻击,必须满足以下所有条件:

  1. NTLM Relay 环境:攻击者必须能够位于一个可以拦截和重定向 NTLM 认证请求的网络位置
  2. 受害者认证:攻击者需要找到一个可以被诱导、向攻击机发起 NTLM 认证的受害者,通常是域内的一台机器或一个用户
  3. 不安全的 ADCS 模板配置:这是最关键的条件,也是漏洞的根源。ADCS 模板必须存在以下缺陷:
    • Enrollment Rights(注册权限):允许低权限用户或匿名用户请求证书
    • Client Authentication:证书可以用于客户端认证
    • NTLM Signing Disabled:ADCS 服务器的 HTTP 接口没有启用 NTLM 签名验证
  4. 域内存在未打补丁的 ADCS 服务器:服务器必须运行一个易受攻击的 ADCS 版本,并且其证书模板存在上述配置缺陷
Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2025-09-25 03:13:16

results matching ""

    No results matching ""