文章总结: 本文介绍DHCP抢答攻击(DHCP欺骗)的原理与实战,指出DHCP协议缺乏身份验证导致攻击者可抢先回应分配恶意网络配置。通过模拟实验验证攻击成功率高达50%,并引用APT28利用CVE-2023-50224劫持DNS的案例,最后提出基于交换机信任端口的防御方案。
综合评分: 85
文章分类: 红队,内网渗透,网络安全,漏洞分析,威胁情报
对抗技巧之DHCP抢答攻击
Gh0xE9
Gh0xE9
Gh0xE9
2026年9月24日 19:37
北京
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
DHCP抢答攻击
又或者叫做 DHCP欺骗攻击(DHCP Spoofing / Rogue DHCP),简单说就是,有这么一个区域网路里有人冒充DHCP伺服器,抢先给你的装置派发一组假的网路設定,从而把你引到错误的闸道或 DNS 上,在一些 APT 控制方案中会用到这一类手法。在开始之前,简单回顾一下电脑网路对 DHCP 协定的介绍。
一般来说,如果我们在区域网路上广播谁是DHCP伺服器,那么真正的DHCP伺服器会回应并分配以下几个参数:
- IP位址
- 子网路遮罩
- 预设闸道(上网的出口)
- DNS伺服器(网域名称解析)
除了这些基本参数之外,DHCP伺服器还可以分配一些额外的选项,例如租约时间(Lease Time)、TFTP伺服器位址、PXE开机档名等。这些选项在正常环境下是用来简化客户端設定的,但在攻击情境中,它们同样可以被冒充者拿来利用。
攻击者之所以能够抢答成功,核心原因在于DHCP协定本身在设计时并没有强制的身分验证机制。客户端发出 DHCP Discover 广播之后,并不会去验证回应者的真实身分,它只认「谁先回应、谁的回应用起来没问题」。这就给了攻击者一个很明确的切入点:只要比真正的DHCP伺服器更快回应,就有机会让客户端接受假的网路設定。
在实际的APT控制方案中,攻击者通常不会只做一次性的抢答,而是会持续监听区域网路上的DHCP请求,一旦发现新的客户端上线,就立刻抢先回应。这样一来,被控制的装置就会持续使用攻击者指定的闸道与DNS,所有流量都会先经过攻击者的节点,方便进行后续的流量劫持、网路监听或中间人攻击。
实验过程
这里使用模拟器来模拟一个带有攻击条件的区域网路,我们使用了模拟器来对网路环境做一个复盘。
实验拓扑
实验拓扑图
DHCP主要伺服器
DHCP主要伺服器配置图
接着我们在victim上查看分配的ip位址,可以看见为 192.168.0.2。
victim查看IP位址截图
接着我们进入DHCP Server Attacker伺服器,如下图进行設定。
攻击者伺服器配置图
接着我们在victim上不断执行 /renew``/release。
在10次DHCP请求中,受害PC有5次从DHCP Server Attacker取得了IP位址,成功率高达50%。这说明在没有任何防护的交换环境中,攻击是非常容易成功的。
我们抓包查看一下具体的DHCP请求过程。
抓包截图1
抓包截图2
仔细分析两张图片,得出以下结论:
第一张截图(攻击前/合法状态): Victim 的 DNS Server 是 8.8.8.8,IP 是 192.168.0.7。这属于正常的公网 DNS,说明它取得的是合法 DHCP 伺服器的設定。
第二张截图(攻击后/成功状态): Victim 的 DNS Server 变成了 4.4.4.4,这属于攻击者自订的恶意 DNS 位址。IP 位址也变成了 192.168.0.6。
并且我们仔细看第二张截图右上角的 Event List,这是一个非常典型的 DHCP 抢答(Race Condition) 过程:
- 时间3.617-3.620:出现了大量 Switch0 与 DHCP Server Attacker、Victim 之间的 DHCP 和 ARP 事件。
- 关键点:你可以看到在极短的时间视窗内(3.618 到 3.620),Victim 发出了 DHCP 请求。接着,DHCP Server Attacker 和 DHCP Server #1 几乎同时做出了反应(都向 Switch0 发送了封包)。
- 结果:最终在 3.621 时刻,Victim 与 DHCP Server #1 以及 DHCP Server Attacker 之间发生了大量 ICMP 和 ARP 互动。这说明攻击者的回应封包被 Victim 接受了,或者攻击者抢先完成了绑定,导致 Victim 拿到了
4.4.4.4的 DNS。
案例分享
比较知名的案例就是俄罗斯APT28组织曾发动了一场大规模 DNS 劫持行动,其攻击流程清晰地展示了DHCP設定窜改是如何被利用的。当时该组织使用 CVE-2023-50224 批量取得了一堆路由器装置的管理权限,这个漏洞允许攻击者透过特制的HTTP请求远端读取敏感资讯,甚至直接修改装置設定。一旦控制了这些路由器,攻击者就会修改其DHCP服务下发的DNS伺服器位址,将其指向自己控制的恶意 VPS(虚拟专用伺服器)。当网路内的笔记型电脑、手机等装置透过DHCP取得网路設定时,就会自动继承这个被污染的DNS設定。
完整攻击链拆解如下:
攻击过程
一、 APT28的攻击入口是网际网路暴露的小型办公室/家庭办公室(SOHO)路由器,主要针对TP-Link多款型号(如WR841N等),利用的是CVE-2023-50224漏洞。该漏洞允许未认证攻击者透过特制的HTTP GET请求取得路由器凭证(如密码)。
二、 取得路由器凭证后,攻击者发送第二个特制HTTP GET请求,修改路由器的DHCP DNS設定。典型做法是:
- 将主DNS伺服器设为恶意IP位址
- 将备用DNS伺服器设为原主DNS的IP位址(或也设为恶意位址,表明路由器可能被多次入侵)
三、 恶意設定向下游传播。被窜改的路由器会透过DHCP将恶意DNS設定下发给下游装置(笔记型电脑、手机等)。这些装置在不知情的情况下,自动继承了攻击者控制的DNS設定。
四、 选择性DNS劫持。恶意DNS伺服器(部署在攻击者控制的VPS上,运行dnsmasq-2.85)并非拦截所有查询,而是选择性回应:
- 对特定目标网域(主要是Outlook相关服务)返回攻击者控制的IP位址
- 对其他网域正常解析到合法IP,维持网路「正常」假象
被劫持的目标网域包括:
- autodiscover-s.outlook[.]com
- imap-mail.outlook[.]com
- outlook.live[.]com
- outlook.office[.]com
- outlook.office365[.]com
五、 中间人攻击与凭证窃取。当受害者尝试登入被劫持的邮件或云端服务时,流量经过攻击者的中间人伺服器。攻击者可窃取:
- 使用者密码
- OAuth或类似认证权杖
- 工作阶段Cookie
这些凭证可用于后续恶意登入,且可能绕过多因素认证(MFA)。
关于防御
DHCP抢答攻击之所以能成功,根源在于DHCP协定本身没有身分验证机制,客户端只看「谁先回应」。因此防御的核心思路,是在交换器层面建立信任边界。
交换器的连接埠分为两类:
- 信任埠(Trusted Port):只连接合法的DHCP伺服器,允许DHCP Offer、DHCP ACK等回应封包通过
- 非信任埠(Untrusted Port):连接客户端和其他装置,只允许发出DHCP Discover请求,不允许回应DHCP Offer
这样一来,攻击者即使接在非信任埠上,它的抢答封包也会被交换器直接丢弃。
免责声明
- 本文仅用于网路安全技术研究与防御教学目的,文中涉及的 DHCP 抢答攻击原理、实验环境搭建及攻击流程,均在隔离的模拟器环境中进行,不针对任何真实网路或系统。
- 请勿将本文内容用于未经授权的网路攻击、渗透测试或其他违法违规行为。任何未经授权对他人网路进行攻击、干扰、窃取资料的行为,均违反《中华人民共和国网路安全法》《中华人民共和国刑法》等相关法律法规,行为人需自行承担相应法律责任。
- 本文引用的 APT28 案例来自英国国家网路安全中心(NCSC)公开发布的威胁情报报告,仅用于安全防御研究参考。文中涉及的漏洞资讯、攻击手法及基础设施指标,均为公开情报内容,不构成对任何组织或个人的攻击指导。
- 技术是一把双面刃,了解攻击是为了更好地防御。请广大读者遵守法律法规,将相关技术用于正当的安全防护与研究工作中。 本回答由 AI 生成,内容仅供参考,请仔细甄别
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Gh0xE9 Gh0xE9
Gh0xE9《对抗技巧之DHCP抢答攻击》