ADIDNS 安全研究:绕过 GQBL 限制解析 WPAD 域名
字数 1658 2025-08-27 12:33:48

ADIDNS 安全研究:绕过 GQBL 限制解析 WPAD 域名

1. 背景介绍

ADIDNS(Active Directory Integrated DNS)是 Windows 环境中集成的 DNS 服务,它允许通过 Active Directory 进行 DNS 记录的管理和解析。2018 年,研究人员发现了一种利用 ADIDNS 绕过 GQBL(Global Query Block List)限制的技术,该技术允许攻击者解析 WPAD(Web Proxy Auto-Discovery)域名,从而可能实施中间人攻击。

2. WPAD 与 GQBL

2.1 WPAD 简介

WPAD(Web Proxy Auto-Discovery)是一种自动发现网络代理设置的协议,它通过以下方式工作:

  • 客户端尝试解析 WPAD 域名
  • 使用 LLMNR(链路本地多播名称解析)和 NBNS(NetBIOS 名称服务)进行本地网络查询
  • 是常见的中间人攻击目标

2.2 GQBL 机制

GQBL(全局查询区块列表)是 Windows DNS 服务器的安全特性:

  • 默认包含 WPAD 和 ISATAP 两个主机名
  • 阻止对这些主机的 DNS 查询响应
  • 旨在防止 WPAD 相关的攻击

3. 绕过 GQBL 的技术

研究人员发现了三种绕过 GQBL 限制的方法:

3.1 通配符记录(Wildcard Record)

  • Windows DNS 服务器在处理通配符记录时会忽略 GQBL
  • 可以通过动态更新添加通配符记录
  • 限制:* 字符在动态更新中不能准确工作

3.2 DNAME 记录

  • 为 WPAD 添加 DNAME 记录可绕过 GQBL
  • 正常情况下 DNAME 不解析与真实记录匹配的请求
  • 特殊条件下 Windows DNS 会应答 DNAME 记录根的请求
  • 限制:DNAME 记录不能动态更新

3.3 NS 记录

  • 在 WPAD 子域名中添加 NS 记录
  • 需要控制指向的 DNS 服务器(如使用 DNSchef)
  • 限制:不能动态更新

4. CVE-2018-8320

微软为此漏洞分配了 CVE 编号:

  • 通配符记录不再解析 GQBL 列表中主机的请求(已修复)
  • DNAME 记录不再解析 GQBL 列表中主机的请求(已修复)
  • NS 记录仍然可以绕过 GQBL(未修复)

5. 域名后缀搜索顺序的影响

  • 当多个域名后缀通过组策略分配给搜索列表时,通配符记录会引发问题
  • 高优先级域名后缀的通配符记录会阻止请求降级到低优先级后缀
  • 导致新的攻击方法:攻击已有记录的请求

6. 攻击场景

6.1 钓鱼攻击

  • 通过钓鱼获取 AD 连接
  • 使用 PowerShell 等工具添加指向攻击者 IP 的记录
  • 可用于 C2 通信或设置其他钓鱼攻击

6.2 NS 记录攻击

  • 设置 NS 记录指向攻击者控制的 DNS 服务器
  • 通过该服务器添加额外的子域名记录

6.3 Domain Borrowing

  • 当内部 AD 域名与公有域名匹配时
  • 利用公有域名的可信度绕过内容过滤
  • 限制:只能影响使用目标 ADIDNS 解析的资源

7. 防御措施

7.1 通配符记录防御

  • 添加非解析的通配符记录(如 TXT 记录)
  • 防止未授权用户创建名为 * 的 dnsNode
  • 限制:不能防御 LLMNR/NBNS 欺骗

7.2 权限控制

  • 锁定 zone 权限
  • 移除 Authenticated Users 的 "Create all child objects" 权限
  • 可能需要保留 DHCP 的特定 DNS 动态更新账户

7.3 其他建议

  • 监控异常的 DNS 记录添加
  • 限制动态 DNS 更新的权限
  • 定期审计 DNS 记录

8. 总结

ADIDNS 的 GQBL 绕过技术展示了 Active Directory 环境中 DNS 服务的潜在安全风险。虽然部分绕过方法已被修复,但 NS 记录方法仍然有效。管理员应采取适当的防御措施,特别是权限控制和记录监控,以防范此类攻击。

ADIDNS 安全研究:绕过 GQBL 限制解析 WPAD 域名 1. 背景介绍 ADIDNS(Active Directory Integrated DNS)是 Windows 环境中集成的 DNS 服务,它允许通过 Active Directory 进行 DNS 记录的管理和解析。2018 年,研究人员发现了一种利用 ADIDNS 绕过 GQBL(Global Query Block List)限制的技术,该技术允许攻击者解析 WPAD(Web Proxy Auto-Discovery)域名,从而可能实施中间人攻击。 2. WPAD 与 GQBL 2.1 WPAD 简介 WPAD(Web Proxy Auto-Discovery)是一种自动发现网络代理设置的协议,它通过以下方式工作: 客户端尝试解析 WPAD 域名 使用 LLMNR(链路本地多播名称解析)和 NBNS(NetBIOS 名称服务)进行本地网络查询 是常见的中间人攻击目标 2.2 GQBL 机制 GQBL(全局查询区块列表)是 Windows DNS 服务器的安全特性: 默认包含 WPAD 和 ISATAP 两个主机名 阻止对这些主机的 DNS 查询响应 旨在防止 WPAD 相关的攻击 3. 绕过 GQBL 的技术 研究人员发现了三种绕过 GQBL 限制的方法: 3.1 通配符记录(Wildcard Record) Windows DNS 服务器在处理通配符记录时会忽略 GQBL 可以通过动态更新添加通配符记录 限制: * 字符在动态更新中不能准确工作 3.2 DNAME 记录 为 WPAD 添加 DNAME 记录可绕过 GQBL 正常情况下 DNAME 不解析与真实记录匹配的请求 特殊条件下 Windows DNS 会应答 DNAME 记录根的请求 限制:DNAME 记录不能动态更新 3.3 NS 记录 在 WPAD 子域名中添加 NS 记录 需要控制指向的 DNS 服务器(如使用 DNSchef) 限制:不能动态更新 4. CVE-2018-8320 微软为此漏洞分配了 CVE 编号: 通配符记录不再解析 GQBL 列表中主机的请求(已修复) DNAME 记录不再解析 GQBL 列表中主机的请求(已修复) NS 记录仍然可以绕过 GQBL(未修复) 5. 域名后缀搜索顺序的影响 当多个域名后缀通过组策略分配给搜索列表时,通配符记录会引发问题 高优先级域名后缀的通配符记录会阻止请求降级到低优先级后缀 导致新的攻击方法:攻击已有记录的请求 6. 攻击场景 6.1 钓鱼攻击 通过钓鱼获取 AD 连接 使用 PowerShell 等工具添加指向攻击者 IP 的记录 可用于 C2 通信或设置其他钓鱼攻击 6.2 NS 记录攻击 设置 NS 记录指向攻击者控制的 DNS 服务器 通过该服务器添加额外的子域名记录 6.3 Domain Borrowing 当内部 AD 域名与公有域名匹配时 利用公有域名的可信度绕过内容过滤 限制:只能影响使用目标 ADIDNS 解析的资源 7. 防御措施 7.1 通配符记录防御 添加非解析的通配符记录(如 TXT 记录) 防止未授权用户创建名为 * 的 dnsNode 限制:不能防御 LLMNR/NBNS 欺骗 7.2 权限控制 锁定 zone 权限 移除 Authenticated Users 的 "Create all child objects" 权限 可能需要保留 DHCP 的特定 DNS 动态更新账户 7.3 其他建议 监控异常的 DNS 记录添加 限制动态 DNS 更新的权限 定期审计 DNS 记录 8. 总结 ADIDNS 的 GQBL 绕过技术展示了 Active Directory 环境中 DNS 服务的潜在安全风险。虽然部分绕过方法已被修复,但 NS 记录方法仍然有效。管理员应采取适当的防御措施,特别是权限控制和记录监控,以防范此类攻击。