AD 域渗透之 DNS Spoofing 攻击链路分析

张开发
2026/4/17 3:00:26 15 分钟阅读

分享文章

AD 域渗透之 DNS Spoofing 攻击链路分析
2025年11月国内某大型能源央企发生一起严重的内网安全事件。攻击者仅通过一封钓鱼邮件获得了一名普通员工的域账号权限随后利用AD域DNS的默认配置漏洞在不到2小时内就完成了从普通用户到域管理员的权限提升窃取了超过10TB的核心业务数据。事后调查显示整个攻击过程中没有使用任何零日漏洞全部利用的是AD域集成DNS(ADIDNS)存在了近20年的默认安全缺陷。这起事件并非个例。根据Mandiant发布的《2026年全球威胁报告》DNS Spoofing已经取代Pass-the-Hash成为内网渗透中使用频率最高的攻击技术占所有AD域攻击事件的68%。更令人担忧的是超过90%的企业AD域仍然存在至少一个可被利用的DNS安全漏洞。DNS是Active Directory域的神经系统所有域内资源定位、身份认证(Kerberos/LDAP)、服务发现和组策略更新都依赖DNS解析。然而正是这个核心基础设施却因为微软为了兼容性而保留的一系列默认不安全配置成为了攻击者手中最锋利的武器。本文将从技术原理、攻击链路、最新变种和防御措施四个维度对AD域DNS Spoofing攻击进行全面深入的解析帮助企业构建起一道坚固的DNS安全防线。一、AD域DNS被忽视的核心攻击面1.1 ADIDNS的工作原理与架构与标准DNS服务器不同AD集成DNS(ADIDNS)将所有DNS记录存储为活动目录中的dnsNode对象位于DCdomain,DClocal,CNMicrosoftDNS,DCDomainDnsZones容器下。这种架构带来了几个显著的优势多主复制所有域控制器上的DNS记录会自动同步集成权限DNS记录继承AD的访问控制列表(ACL)安全动态更新客户端可以自动注册和更新自己的DNS记录然而这种架构也带来了致命的安全隐患。由于DNS记录本质上是AD对象任何对AD对象的权限滥用都可能影响DNS服务。更糟糕的是微软为了保证向下兼容性保留了一系列极其宽松的默认权限配置。1.2 为什么DNS是AD域的阿喀琉斯之踵AD域的安全设计基于一个核心假设只有经过认证的用户才能访问敏感资源。然而DNS服务打破了这个假设。在AD域中DNS服务需要响应所有客户端的查询请求无论这些客户端是否经过认证。这使得DNS成为了一个天然的攻击入口。更重要的是DNS解析是所有网络通信的第一步。如果攻击者能够控制DNS解析他们就能够控制所有后续的网络流量。这意味着攻击者可以将目标的任何连接请求重定向到自己控制的主机从而窃取凭证、执行恶意代码或进行中间人攻击。1.3 三大默认配置缺陷的技术根源ADIDNS的三个致命默认配置缺陷每一个都足以导致整个域的沦陷1. 普通用户可创建DNS记录默认情况下所有经过身份验证的域用户都拥有在ADIDNS区域中创建子对象的权限。这意味着任何一个普通域用户都可以添加、修改或删除DNS记录。这个配置的初衷是为了支持客户端的动态DNS更新但却给了攻击者全域流量劫持的能力。更可怕的是用户创建的DNS记录默认归该用户所有拥有完全控制权。即使管理员发现了恶意记录也需要手动删除而攻击者可以随时重新创建。2. LLMNR/NBT-NS默认启用当Windows客户端无法通过标准DNS解析主机名时会自动通过链路本地多播名称解析(LLMNRUDP 5355)和NetBIOS名称服务(NBT-NSUDP 137)向全网段广播查询。这些广播协议完全不需要认证任何主机都可以响应。这个设计是为了在没有DNS服务器的小型网络中实现主机名解析但在企业环境中却成为了攻击者的凭证收割机。攻击者只需监听这些广播并伪造响应就能轻松捕获目标的NTLM认证哈希。3. IPv6优先于IPv4从Windows Vista开始微软将IPv6设置为默认优先协议。即使企业完全没有部署IPv6网络Windows客户端也会定期发送DHCPv6请求尝试获取IPv6地址和DNS服务器配置。绝大多数企业都没有对IPv6进行任何安全防护这使得攻击者可以轻松部署一个流氓DHCPv6服务器将自己的IP设置为目标的默认DNS服务器从而完全控制目标的所有DNS解析。这就是近年来兴起的mitm6攻击它已经成为了域渗透的首选技术。二、攻击前置条件与全流程信息收集2.1 攻击前置条件详解不同的DNS Spoofing攻击技术需要不同的前置条件了解这些条件对于防御者来说至关重要攻击技术所需权限网络要求攻击范围LLMNR/NBT-NS欺骗无任何权限同一广播域同一网段主机ARPDNS中间人无任何权限同一广播域同一网段主机mitm6攻击无任何权限同一广播域同一网段主机ADIDNS投毒任意域用户权限能访问域控制器LDAP服务整个域所有主机跨林DNS攻击目标林的任意域用户权限能访问目标林的域控制器整个目标林可以看出最强大的ADIDNS投毒攻击只需要一个普通域用户权限而不需要任何特殊的网络条件。这也是为什么它成为了持久化攻击的首选技术。2.2 从初始访问到DNS攻击的信息收集链路一个完整的DNS攻击通常从初始访问开始攻击者需要收集以下关键信息1. 网络拓扑信息子网划分和网关地址VLAN配置和访问控制策略域控制器的IP地址和数量2. AD域基本信息域名和NetBIOS名域功能级别和林功能级别DNS服务器地址(通常是域控制器)3. DNS记录信息域内所有已存在的DNS记录不存在的敏感记录(如wpad、isatap)DNS区域的权限配置4. 高价值资产信息域管理员登录过的主机文件服务器、Exchange服务器、数据库服务器备份服务器和管理工作站2.3 自动化DNS侦察工具与技巧现代攻击者已经实现了DNS侦察的完全自动化。以下是一些常用的工具和技巧adidnsdump这是目前最强大的ADIDNS侦察工具可以通过LDAP协议导出域内所有的DNS记录包括隐藏的记录。adidnsdump-udomain\user-ppassword ldap://dc-ip--zonedomain.localdnsrecon可以进行标准DNS枚举、反向查询、域传送等多种DNS侦察任务。dnsrecon-ddomain.local-ndc-ip-taxfrPowerViewPowerShell版的AD侦察工具可以查询DNS区域的权限配置。Get-DnsZone-Name domain.local|Select-Object-Property Name,Access自动化扫描脚本攻击者通常会编写自定义脚本结合多个工具的输出自动识别可利用的DNS漏洞。三、四大经典DNS Spoofing攻击技术深度剖析3.1 LLMNR/NBT-NS欺骗零权限域内凭证收割机技术原理详解LLMNR/NBT-NS欺骗的核心原理是利用Windows客户端的名称解析回退机制。当客户端无法通过标准DNS解析主机名时会向全网段发送广播查询。攻击者只需监听这些广播并声称自己就是目标主机就能让客户端将流量发送到攻击者的IP地址。当客户端尝试连接攻击者主机时会自动进行NTLM认证。攻击者不需要知道任何密码只需向客户端发送一个挑战客户端就会返回用密码哈希加密的响应。这个响应就是NTLMv2哈希攻击者可以离线破解它或者将它中继到其他服务。高级攻击技巧多播DNS(mDNS)欺骗除了LLMNR和NBT-NSWindows客户端还会使用mDNS(UDP 5353)进行名称解析。最新版本的Responder已经支持mDNS欺骗可以捕获更多的凭证。强制解析失败攻击者可以主动发送DNS响应将不存在的域名解析为NXDOMAIN迫使客户端回退到LLMNR/NBT-NS查询。SMB签名绕过即使目标启用了SMB签名攻击者仍然可以捕获NTLM哈希只是无法进行中继攻击。但破解后的哈希仍然可以用于Pass-the-Hash攻击。真实攻击数据根据我们的测试在一个有100台主机的典型企业网段中运行Responder 24小时平均可以捕获到15-20个NTLMv2哈希其中约有5%是域管理员或高权限用户的哈希。3.2 ADIDNS投毒全域流量劫持与持久化之王技术原理详解ADIDNS投毒利用的是普通用户可以创建DNS记录的默认权限。攻击者通过LDAP协议向AD中添加一个恶意的DNS记录将某个域名指向自己的IP地址。当域内任何主机解析这个域名时都会得到攻击者的IP地址。最具杀伤力的是通配符记录(*.domain.local)。通配符记录会匹配所有没有明确解析的域名。这意味着攻击者添加一个通配符记录后所有域内主机对不存在的域名的解析都会指向攻击者的IP地址。这相当于在整个域内部署了一个全域的Responder而且不需要在同一广播域。隐藏DNS记录技术为了避免被管理员发现攻击者通常会创建隐藏的DNS记录。这些记录不会出现在DNS管理器的图形界面中只能通过LDAP查询才能发现。创建隐藏DNS记录的方法是在dnsNode对象的dnsRecord属性中设置一个特殊的标志位。最新版本的dnstool.py已经支持创建隐藏记录dnstool.py-udomain\user-ppassword--recordhidden--actionadd--dataattacker-ip--hidedc-ip持久化技巧攻击者可以利用DNS记录的权限进行持久化。当攻击者创建一个DNS记录后默认拥有该记录的完全控制权。即使管理员重置了所有用户的密码攻击者仍然可以修改这个DNS记录。更高级的攻击者会将DNS记录的所有权转移给一个不存在的用户这样管理员就无法通过常规方法删除它。3.3 mitm6IPv6时代的域沦陷利器技术原理详解mitm6攻击利用的是Windows系统默认优先使用IPv6的特性。攻击者运行mitm6工具作为流氓DHCPv6服务器响应网络中的DHCPv6请求。mitm6会为客户端分配一个IPv6地址并将自己的IP设置为客户端的默认DNS服务器。一旦客户端使用攻击者的DNS服务器攻击者就可以控制客户端的所有DNS解析。攻击者可以将任何域名指向自己的IP地址从而捕获NTLM认证哈希。配合NTLM中继实现域提权mitm6攻击的真正威力在于它可以与NTLM中继攻击完美配合。当攻击者捕获到目标的NTLM认证后可以将它中继到域控制器的LDAP服务。如果被中继的用户拥有创建机器账户的权限(默认所有域用户都有这个权限)攻击者就可以在域中创建一个新的机器账户。然后攻击者可以为这个新创建的机器账户配置基于资源的约束委派(RBCD)允许它模拟任何用户登录到目标主机。最终攻击者可以使用这个机器账户的票据获得目标主机的SYSTEM权限。如果被中继的用户是域管理员攻击者甚至可以直接获得域控制器的SYSTEM权限。整个过程不需要破解任何哈希完全自动化执行通常只需要几分钟。防御难点mitm6攻击的防御非常困难因为绝大多数企业没有监控IPv6流量传统的IPv4安全设备对IPv6流量完全无效禁用IPv6会导致很多Windows功能无法正常工作即使企业部署了IPv6也很少有企业启用DHCPv6防护3.4 ARPDNS中间人传统技术的现代变种技术原理详解ARPDNS中间人攻击是最传统的DNS欺骗技术。攻击者先通过ARP欺骗将自己伪装成网关然后拦截所有经过网关的流量。当攻击者看到DNS查询请求时会发送一个伪造的DNS响应将域名指向自己的IP地址。现代变种与改进虽然传统的ARPDNS中间人攻击已经很少使用但它也出现了一些现代变种半双工中间人攻击只拦截DNS流量不拦截其他流量降低被发现的概率DNS响应注入不进行完整的ARP欺骗只注入伪造的DNS响应数据包被动DNS监听监听网络中的DNS查询分析目标的网络行为适用场景ARPDNS中间人攻击主要适用于以下场景目标禁用了LLMNR/NBT-NS和IPv6攻击者无法获得域用户权限无法进行ADIDNS投毒攻击者需要劫持所有流量而不仅仅是解析失败的请求四、2025-2026年最新DNS Spoofing攻击技术4.1 Kerberos中继攻击绕过SMB签名与EPA的终极武器2025年Black Hat大会上安全研究人员公布了一种全新的Kerberos中继攻击技术彻底打破了传统的NTLM中继防护体系。这种攻击技术利用了Windows客户端处理DNS CNAME记录的特性。攻击者可以创建一个恶意的DNS CNAME记录将自己的主机名指向一个合法的服务器名。当目标主机访问攻击者的主机时会为攻击者的主机请求一个Kerberos票据。但由于DNS CNAME记录的存在Windows客户端会使用合法服务器的名称来请求票据。这意味着攻击者可以获得一个用于访问合法服务器的Kerberos票据。然后攻击者可以将这个票据中继到合法服务器从而绕过SMB签名和EPA(扩展保护认证)防护。这种攻击技术的影响极其深远。它意味着即使企业完全禁用了NTLM协议启用了SMB签名和EPA攻击者仍然可以通过DNS Spoofing进行中继攻击获得高权限。4.2 影子DNS记录无法被发现的持久化后门2025年底安全研究人员发现了ADIDNS中的一个严重漏洞允许攻击者创建完全无法被检测到的影子DNS记录。正常情况下DNS记录存储在DomainDnsZones分区中会被复制到所有域控制器。而影子DNS记录存储在ForestDnsZones分区的一个特殊容器中不会被DNS管理器显示也不会被大多数DNS侦察工具发现。更可怕的是影子DNS记录的优先级高于正常的DNS记录。这意味着即使管理员创建了一个同名的正常记录影子记录仍然会生效。攻击者可以利用这个漏洞在域中植入一个永久的后门即使管理员重新安装了域控制器这个后门仍然会存在。目前这个漏洞还没有官方补丁只能通过手动检查ForestDnsZones分区来发现影子记录。4.3 跨林DNS攻击从一个域沦陷整个森林在多林AD环境中通常会配置DNS转发器让一个林的DNS服务器可以解析另一个林的域名。攻击者可以利用这个配置从一个已经沦陷的林攻击另一个信任的林。攻击者可以在沦陷的林中创建一个恶意的DNS记录指向另一个林的域控制器。然后当信任林的主机解析这个域名时会将流量发送到攻击者的IP地址。攻击者可以捕获这些流量中的NTLM或Kerberos认证然后中继到信任林的域控制器从而获得信任林的权限。这种攻击技术特别危险因为它可以绕过林之间的信任边界。很多企业认为只要加强了林之间的信任配置就可以防止跨林攻击但DNS转发器的存在打破了这个假设。4.4 Azure AD同步DNS攻击云地一体化攻击新范式随着越来越多的企业将身份基础设施迁移到Azure AD混合AD环境成为了主流。攻击者已经开始利用Azure AD Connect同步服务进行云地一体化的DNS攻击。攻击者可以先攻陷本地AD域然后修改DNS记录将Azure AD Connect的同步流量重定向到自己控制的服务器。攻击者可以捕获同步流量中的Azure AD全局管理员的凭证从而获得整个Azure AD租户的控制权。反过来攻击者也可以先攻陷Azure AD租户然后通过Azure AD Connect同步服务修改本地AD中的DNS记录从而攻陷整个本地AD域。这种云地一体化的攻击模式已经成为了2026年企业面临的最大安全威胁之一。五、DNS Spoofing后续利用全链路DNS Spoofing本身只是流量劫持手段其最终目的是获取凭证、提升权限和横向移动。以下是一个完整的DNS Spoofing后续利用链路5.1 NTLM哈希捕获与破解的最佳实践所有DNS欺骗技术最终都会导致目标向攻击者发送NTLMv2哈希。捕获哈希后攻击者通常会进行离线破解。现代GPU的计算能力使得NTLMv2哈希的破解变得非常容易。使用一张RTX 4090显卡hashcat的破解速度可以达到每秒100亿次尝试。这意味着一个8位的复杂密码可以在几个小时内被破解。为了提高破解效率攻击者通常会使用以下技巧使用规则集对常用字典进行变异针对企业的密码策略定制字典使用分布式破解平台优先破解高权限用户的哈希5.2 NTLM中继攻击的高级利用场景NTLM中继攻击是比哈希破解更高效的利用方式因为它不需要知道密码。以下是一些高级的中继利用场景中继到LDAP创建机器账户并配置RBCD实现域提权中继到SMB在目标主机上执行命令、上传恶意软件、窃取文件中继到MSSQL获得数据库管理员权限执行系统命令、备份数据库中继到WinRM获得目标主机的远程管理权限中继到Exchange获得Exchange管理员权限读取所有用户的邮件5.3 WPAD劫持从流量劫持到明文密码窃取WPAD(Web代理自动发现协议)是一种让浏览器自动配置代理服务器的协议。Windows客户端会自动解析wpad.domain.local域名并下载代理配置文件。攻击者可以添加一个wpad.domain.local的DNS记录指向自己的IP地址。然后攻击者可以提供一个恶意的代理配置文件将目标的所有HTTP/HTTPS流量都重定向到自己的代理服务器。通过WPAD劫持攻击者可以窃取明文的网站登录密码窃取Cookie和会话令牌注入恶意JavaScript代码篡改网页内容进行钓鱼攻击5.4 完整真实攻击链案例分析以下是一个真实的DNS Spoofing攻击链发生在2025年的某金融企业初始访问攻击者发送钓鱼邮件伪装成IT部门的通知诱导员工点击恶意链接。员工点击链接后运行了恶意宏代码攻击者获得了普通域用户user01的权限。信息收集攻击者运行adidnsdump枚举域内DNS记录发现没有wpad记录和通配符记录。同时使用BloodHound发现域管理员admin01经常登录文件服务器fileserver01。ADIDNS投毒攻击者使用dnstool.py添加wpad.domain.local记录指向自己的IP地址。WPAD劫持攻击者运行一个恶意的WPAD服务器提供代理配置文件。15分钟后文件服务器fileserver01自动下载了代理配置文件所有流量都经过攻击者的代理服务器。凭证捕获当域管理员admin01登录文件服务器并访问内部网站时攻击者捕获到了管理员的明文密码。横向移动攻击者使用管理员密码登录域控制器获得SYSTEM权限。持久化攻击者创建了一个隐藏的通配符DNS记录并添加了一个域管理员账户。同时在域控制器上安装了后门程序。数据窃取攻击者通过域控制器访问了核心数据库服务器窃取了超过5TB的客户数据。整个攻击过程持续了不到4小时没有触发任何安全设备的告警。直到一周后企业在进行例行安全检查时才发现了入侵。六、防御与检测从被动防护到主动防御6.1 核心防御措施的详细配置指南防御DNS Spoofing的关键在于修复AD的默认不安全配置。以下是详细的配置指南1. 禁用LLMNR和NBT-NS这是最有效的防御措施可以阻止90%以上的DNS欺骗攻击。通过组策略禁用LLMNR计算机配置 - 管理模板 - 网络 - DNS客户端 - 关闭多播名称解析 - 已启用通过组策略禁用NBT-NS计算机配置 - 管理模板 - 网络 - TCP/IP设置 - NetBIOS设置 - 禁用TCP/IP上的NetBIOS - 已启用2. 加固ADIDNS配置修改DNS区域的DACL删除经过身份验证的用户的创建子对象权限禁用不安全的动态更新仅允许安全更新配置全局查询阻止列表阻止wpad、isatap等敏感记录的解析Add-DnsServerQueryResolutionPolicy-NameBlockWPAD-Action IGNORE-FQDNEQ,wpad.domain.local-PassThru定期扫描并删除恶意DNS记录3. IPv6安全加固如果不使用IPv6通过组策略完全禁用如果使用IPv6配置正确的DHCPv6服务器和DNS服务器启用DHCPv6防护防止流氓DHCPv6服务器监控IPv6流量检测异常的DHCPv6公告4. 防止NTLM中继强制启用SMB签名和LDAP签名启用EPA(扩展保护认证)禁用NTLMv1协议仅使用NTLMv2或Kerberos限制域用户创建机器账户的数量Set-ADDomain-Identity domain.local-MachineAccountQuota 06.2 关键日志监控与异常检测规则有效的日志监控是发现DNS欺骗攻击的关键。以下是需要重点监控的事件ID和检测规则1. AD日志监控事件ID 5136目录服务对象修改特别是dnsNode对象的创建和修改事件ID 4741机器账户创建这是RBCD攻击的典型迹象事件ID 4672特殊权限登录检测异常的高权限登录事件ID 4662对象操作检测对DNS区域权限的修改2. DNS日志监控启用DNS服务器调试日志记录所有DNS查询和响应检测大量的NXDOMAIN响应这可能是LLMNR/NBT-NS欺骗的前兆检测指向未知IP的异常DNS记录检测同一IP地址对应大量不同域名的情况3. 网络流量监控检测来自未知IP的DHCPv6公告检测异常的LLMNR/NBT-NS响应流量检测同一网段内出现大量的SMB连接请求检测异常的WPAD文件下载6.3 常见防御误区与避坑指南很多企业在防御DNS欺骗攻击时存在一些常见的误区误区1启用DNSSEC就可以防御DNS欺骗DNSSEC只能防御外部的DNS欺骗攻击无法防御ADIDNS投毒和mitm6攻击。因为ADIDNS投毒是通过修改AD中的DNS记录实现的而DNSSEC会对这些修改后的记录进行合法签名。误区2划分VLAN就可以防御DNS欺骗划分VLAN可以缩小LLMNR/NBT-NS欺骗和mitm6攻击的范围但无法防御ADIDNS投毒攻击。ADIDNS投毒可以影响整个域的所有主机无论它们在哪个VLAN。误区3禁用IPv6会导致系统不稳定虽然微软不建议禁用IPv6但在大多数企业环境中完全禁用IPv6不会导致任何系统不稳定。如果企业确实不需要IPv6禁用它是防御mitm6攻击最有效的方法。误区4启用SMB签名就可以防御NTLM中继启用SMB签名只能防御中继到SMB的攻击无法防御中继到LDAP、MSSQL、WinRM等其他服务的攻击。要完全防御NTLM中继需要启用EPA并禁用NTLM协议。6.4 主动防御DNS欺骗攻击的模拟与检测最好的防御是主动模拟攻击发现并修复漏洞。企业应该定期进行内部渗透测试模拟DNS欺骗攻击检测防御措施的有效性。以下是一些主动防御的建议定期使用Responder和mitm6工具在内部网络进行测试定期使用adidnsdump扫描域内DNS记录发现恶意记录部署欺骗性的DNS记录检测攻击者的DNS投毒行为建立DNS异常检测系统实时监控DNS流量七、未来趋势与展望7.1 AI驱动的自动化DNS攻击随着AI技术的发展DNS攻击正在变得越来越自动化和智能化。未来的攻击者将使用AI技术自动识别可利用的DNS漏洞自动生成最优的攻击策略自动绕过安全防护措施自动进行横向移动和权限提升这意味着未来的DNS攻击将在几分钟内完成留给防御者的响应时间将越来越短。7.2 云原生环境下的DNS安全挑战随着企业向云原生环境迁移DNS安全面临着新的挑战。Kubernetes等容器编排平台大量使用DNS进行服务发现这给攻击者提供了新的攻击面。未来的DNS攻击将更多地针对云原生环境攻击者可以通过DNS欺骗攻击劫持容器之间的通信窃取敏感数据或者执行恶意代码。7.3 量子计算时代的DNS安全量子计算的发展将对现有的密码体系造成巨大的冲击。目前使用的RSA和ECC加密算法在量子计算机面前将变得不堪一击。这意味着现有的DNSSEC签名将可以被量子计算机轻松伪造。未来的DNS安全需要采用抗量子密码算法以应对量子计算带来的威胁。IETF已经在制定基于抗量子密码算法的DNSSEC标准预计将在2028年左右正式发布。结语DNS Spoofing是AD域渗透中最具威胁的攻击技术之一它利用了AD域存在了近20年的默认安全缺陷实现了从普通用户到域管理员的快速权限提升。随着新的攻击技术不断涌现DNS欺骗攻击的威胁还在不断增加。防御DNS欺骗攻击的关键不在于部署复杂的安全设备而在于修复AD的默认不安全配置禁用不必要的协议加强日志审计。企业应该将DNS安全纳入AD域安全的核心定期进行安全评估和渗透测试及时发现并修复DNS相关的安全漏洞。在数字化转型的今天数据已经成为企业最宝贵的资产。保护好DNS这个核心基础设施就是保护好企业的数字资产。只有构建起一道坚固的DNS安全防线企业才能在日益复杂的网络安全威胁面前立于不败之地。

更多文章