作者 akihi(白帽攻防录讲师),某甲方网络安全工程师,合合 SRC 年度第一、腾讯 SRC 连续三年前十,单漏洞赏金 4w+,擅长 Web/App/PC 客户端漏洞挖掘。专注内网服务安全、网络协议漏洞分析与暴露面测绘。本文基于公开 CVE 信息与技术原理深度复盘,供安全研究与防护参考。
一、漏洞时间线
2026 年 10 月 13 日,微软发布了有史以来最大规模的月度安全更新------1414 个漏洞,其中 78 个被标记为"严重"。在这堆漏洞中,有一组特别容易被忽视但极其危险:Windows DHCP Server 同时存在四个 Use After Free RCE 漏洞:CVE-2026-96934、CVE-2026-88117、CVE-2026-88119、CVE-2026-88120,全部都是 CVSS 9.8,全部不需要认证,只要能在内网网络中发送 DHCP 数据包就能远程执行代码。
| 时间 | 事件 | 影响 |
|---|---|---|
| 2026-10-13 | 微软 10 月 Patch Tuesday 发布 | 修复 1414 个漏洞,历史最大 |
| 2026-10-13 | CVE-2026-96934 公开披露 | DHCP Server UAF RCE,CVSS 9.8 |
| 2026-10-13 | CVE-2026-88117/88119/88120 披露 | 同类型 DHCP Server UAF 漏洞 |
| 2026-10-13 | CrowdStrike 发布技术分析 | 指出 DHCP 服务器内网信任所有客户端 |
| 2026-10-14 | Qualys 发布详细分析报告 | 确认四个 UAF 漏洞影响范围 |
为什么说这个漏洞危险?因为 DHCP 是内网最基础的服务------每台电脑、手机、IoT 设备都需要 DHCP 来获取 IP 地址。DHCP 服务器部署在内网是"天生"的,它信任所有客户端发来的数据包,不需要任何认证。这意味着:只要攻击者能接入内网(哪怕是蹭个 Wi-Fi、插根网线),就能直接打到域里最重要的基础设施------DHCP 服务器,而且是以 SYSTEM 权限执行代码。
二、攻击链全景
让我们先还原完整的攻击路径:
攻击者接入目标内网(物理插线 / 蹭 Wi-Fi / 钓鱼 VPN)
│
▼
第一步:内网暴露面发现
│ 攻击者做什么?
│ - 扫描内网 UDP 67 端口(DHCP 服务器)
│ - 确认 DHCP 服务版本和配置
│ - 识别是否为 Windows DHCP Server
│
│ 为什么容易找到?
│ - DHCP 是内网必备服务
│ - 任何内网都有 DHCP 服务器
│ - 扫描 UDP 67 就能发现
▼
第二步:发送特制 DHCP 包
│ 攻击者做什么?
│ - 构造特殊的 DHCP DISCOVER 或 REQUEST 包
│ - 在特定 DHCP 选项字段中放入恶意数据
│ - 触发 UAF 漏洞
│
│ 为什么能触发?
│ - DHCP Server 处理选项字段时有生命周期错误
│ - 特定序列下对象被提前释放
│ - 但服务器还在引用这个对象
▼
第三步:控制内存
│ 攻击者做什么?
│ - 在 UAF 释放后重新分配内存
│ - 控制新对象的内容
│ - 旧指针被使用时执行恶意逻辑
│
│ 为什么能控制?
│ - DHCP 协议解析直接操作内存对象
│ - 攻击者可以精确控制数据包内容
│ - 释放和重新分配的时间窗口可预测
▼
第四步:劫持执行流
│ 攻击者做什么?
│ - 通过伪造的对象内容
│ - 覆盖函数指针或虚表
│ - 跳转到 shellcode 执行
│
│ 为什么能劫持?
│ - 旧指针指向了攻击者控制的新对象
│ - 程序调用这个指针时
│ - 就跳转到了攻击者的代码
▼
第五步:获得域管权限
│ 攻击者做什么?
│ - DHCP Server 通常运行在域控制器上
│ - 以 SYSTEM 权限执行代码
│ - 直接获得域管权限
│ - 窃取域内所有账号密码
▼
攻击者完全控制整个内网
│
├─ 以 SYSTEM 权限在域控制器上执行代码
├─ 窃取域内所有用户凭证
└─ 横向移动到所有服务器和终端
**关键结论:**DHCP 漏洞的可怕之处在于它是"内网原生"攻击面------不需要突破防火墙,不需要 phishing,只要能接入内网就能打。CrowdStrike 特别指出:"DHCP 服务器在内网中部署,天生信任所有客户端请求地址的流量。"这意味着这个漏洞不是"从外网打进来",而是"从内网横向扩散"------一旦攻击者通过任何方式进入内网(哪怕是蹭个访客 Wi-Fi),就能直接拿下整个域。在 SRC 挖洞实践中,内网服务的安全审计一直是短板------大家都盯着公网暴露的 Web 服务,却忽略了内网这些"天生信任"的基础设施。
三、DHCP 协议与漏洞原理
3.1 什么是 DHCP
| 特性 | 说明 |
|---|---|
| 全称 | Dynamic Host Configuration Protocol |
| 底层协议 | UDP |
| 服务器端口 | UDP 67 |
| 客户端端口 | UDP 68 |
| 设计目标 | 自动为客户端分配 IP 地址和网络配置 |
| 部署位置 | 内网核心,通常在域控制器上 |
| 信任模型 | 信任所有内网客户端 |
| 运行权限 | SYSTEM(Windows DHCP Server) |
3.2 为什么 DHCP 有内存漏洞
// DHCP 为什么容易出内存问题?
// 原因一:协议设计古老
// - DHCP 诞生于 1993 年
// - 基于 BOOTP(1985 年)
// - 设计时根本没考虑安全
// - 协议解析代码可能很老
// 原因二:直接操作原始数据包
// - DHCP 是二进制协议
// - 服务器直接解析原始 UDP 包
// - 需要手动管理缓冲区和对象
// - 容易出边界错误和生命周期错误
// 原因三:选项字段极其复杂
// - DHCP 有大量选项字段(Option 1-254)
// - 每个选项都有不同的格式和长度
// - 选项可以嵌套、可以链式引用
// - 解析逻辑复杂就容易出 bug
// 原因四:长时间运行的服务
// - DHCP 服务器 7x24 小时运行
// - 内存对象长期存在
// - UAF 这类漏洞在长期运行服务中更容易触发
// - 对象生命周期管理更复杂
// 原因五:内网信任模型
// - DHCP 信任所有内网客户端
// - 没有认证机制
// - 任何内网机器都能发 DHCP 包
// - 攻击者天然就能触达
3.3 四个 UAF 漏洞的区别
// CVE-2026-96934 / 88117 / 88119 / 88120
// 共同点:
// - 都是 Windows DHCP Server
// - 都是 Use After Free
// - 都是网络可达
// - 都不需要认证
// - 都不需要用户交互
// - 都是 CVSS 9.8
// - 都运行在 SYSTEM 权限下
// 不同点:
// - 触发的 DHCP 选项字段不同
// - 触发的数据包类型不同
// - 释放的对象类型不同
// - 利用的难度和稳定性不同
// 为什么微软一次修复了四个?
// - 说明 DHCP Server 的选项解析模块
// - 存在系统性的生命周期管理问题
// - 不是一个孤立的 bug
// - 而是一类架构设计缺陷
// - 四个 CVE 只是冰山一角
四、漏洞深度分析
4.1 CVE-2026-96934 技术细节
// CVE-2026-96934 漏洞分析
// 基本信息:
// - 漏洞类型:Use After Free(CWE-416)
// - 影响组件:Windows DHCP Server
// - CVSS:9.8(Critical)
// - 攻击向量:Network(网络)
// - 攻击复杂度:Low(低)
// - 所需权限:None(无需认证)
// - 用户交互:None(无需用户交互)
// - 机密性:High
// - 完整性:High
// - 可用性:High
// CVSS 向量:
// CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
// 什么场景下会触发?
// - 攻击者在内网中
// - 向 DHCP 服务器发送特制的 DHCP 包
// - 包中包含特定的选项字段序列
// - 触发某个地址租约对象被提前释放
// - 但处理线程还在引用这个对象
4.2 为什么是内网 RCE 而不是公网 RCE
// 为什么 DHCP 漏洞是"内网"而不是"公网"?
// 因为 DHCP 协议的设计就是内网协议:
// - DHCP 包通常不路由
// - 路由器默认不转发 UDP 67/68
// - DHCP 服务器只监听内网接口
// - 公网攻击者打不到内网 DHCP
// 但这不意味着风险低:
// - 攻击者进入内网的方式很多
// - 蹭访客 Wi-Fi
// - 物理插线
// - 钓鱼拿到 VPN 账号
// - 拿下一台终端后横向移动
// - 一旦进入内网,DHCP 就是第一个目标
// 对于 SRC 来说:
// - 很多企业的 SRC 只测公网
// - 内网安全审计是空白
// - 内网服务漏洞赏金往往很高
// - 因为影响范围是整个域
4.3 影响范围
| 项目 | 说明 |
|---|---|
| 漏洞类型 | Use After Free |
| 影响组件 | Windows DHCP Server |
| 攻击向量 | 内网网络(UDP 67) |
| 认证要求 | 不需要 |
| 用户交互 | 不需要 |
| CVSS 评分 | 9.8(Critical) |
| 运行权限 | SYSTEM |
| 部署位置 | 通常在域控制器上 |
4.4 哪些系统受影响
// 哪些系统在用 Windows DHCP Server?
// 1. 域控制器(DC)
// - 大多数企业把 DHCP 装在域控制器上
// - 方便集中管理
// - 一旦 DHCP 被打就是域管
// 2. 成员服务器
// - 有些企业单独建 DHCP 服务器
// - 不装在 DC 上
// - 但也是内网核心服务器
// 3. 云环境
// - Azure 虚拟机也可以装 DHCP Server
// - 云内网同样受影响
// - 云环境的"内网"边界更模糊
// 4. 分支机构
// - 每个分支机构都有本地 DHCP
// - 分支机构的安全防护通常更弱
// - 是更容易打中的目标
4.5 为什么这四个漏洞对 SRC 特别重要
| 原因 | 说明 |
|---|---|
| 内网原生攻击面 | 不需要突破防火墙,接入内网就能打 |
| 高权限 RCE | DHCP 服务器通常是域控制器,直接拿域管 |
| 系统性缺陷 | 四个 CVE 说明是架构问题,不是孤立 bug |
| 被忽视的攻击面 | 大家都测公网,内网服务安全审计是空白 |
| 赏金高 | 内网核心服务 RCE 影响整个域,赏金等级高 |

五、修复方案分析
微软在 10 月 Patch Tuesday 中修复了这四个 DHCP Server UAF 漏洞。修复方式是在 DHCP Server 的选项字段处理路径中完善了对象生命周期管理,确保释放后不再被引用。
| CVE 编号 | 修复方式 |
|---|---|
| CVE-2026-96934 | 修复地址租约对象生命周期管理,防止 UAF |
| CVE-2026-88117 | 修复 DHCP 选项解析中的悬空指针 |
| CVE-2026-88119 | 修复特定选项处理中的对象释放时序 |
| CVE-2026-88120 | 修复租约更新流程中的生命周期错误 |
5.1 临时缓解措施
// 临时缓解措施(不需要打补丁)
// 1. 网络分段
// - 把 DHCP 服务器放在独立 VLAN
// - 限制哪些设备能发 DHCP 包
// - 访客网络和办公网络隔离
// 2. DHCP Snooping
// - 在交换机上启用 DHCP Snooping
// - 只允许合法 DHCP 服务器端口发包
// - 过滤非法 DHCP 服务器
// - 但注意:DHCP Snooping 主要防 rogue DHCP
// - 对客户端发的恶意包防护有限
// 3. 主机防火墙
// - 在 DHCP 服务器上配置 Windows 防火墙
// - 限制 UDP 67 的来源 IP
// - 只允许必要的网段访问
// 4. 监控异常 DHCP 流量
// - 监控 UDP 67 的异常数据包
// - 特别是包含异常选项字段的包
// - 发现异常及时响应
5.2 暴露面分级
| 暴露级别 | 情况 | 风险 |
|---|---|---|
| 严重 | DHCP 在 DC 上 + 未打补丁 + 内网可访问 | 直接拿域管权限 |
| 高 | DHCP 在成员服务器 + 未打补丁 | 服务器 RCE,横向移动 |
| 中 | 已打补丁 + 网络分段完善 | 风险可控 |
| 低 | 无 Windows DHCP Server | 不受影响 |
六、SRC 审计启示录
6.1 内网服务暴露面测绘
在 SRC 挖洞实践中,大多数人只盯着公网暴露的 Web 服务,但内网服务才是真正的"皇冠上的明珠"------一旦拿下内网核心服务,就是整个域的沦陷。
| # | 检查项 | 检测方法 |
|---|---|---|
| 1 | 内网 UDP 服务探测 | 扫描内网 UDP 67/68(DHCP)、UDP 161(SNMP)等 |
| 2 | DHCP 服务器识别 | 发送 DHCP DISCOVER,识别服务器类型 |
| 3 | 域控位置定位 | 通过 DNS、LDAP 等定位域控制器 |
| 4 | 内网服务版本识别 | Banner 抓取、协议指纹识别 |
| 5 | 网络分段审计 | 检查 VLAN 隔离、访问控制策略 |
6.2 网络协议安全审计要点
// 网络协议安全审计要点
// 1. 生命周期管理
// - 所有网络服务都要审计对象生命周期
// - 特别是长时间运行的服务
// - UAF 是网络服务最常见的内存漏洞
// 2. 输入验证
// - 所有网络输入都要严格验证
// - 长度、格式、范围都要检查
// - 特别是二进制协议的选项字段
// 3. 信任模型
// - 不要默认信任内网
// - 内网边界正在模糊
// - 零信任架构是方向
// 4. 权限最小化
// - 服务不要跑在 SYSTEM 权限下
// - 特别是网络服务
// - 降低被打后的影响
// 5. 审计老协议
// - 老协议实现往往有历史遗留问题
// - DHCP、SNMP、SMB 这类老协议
// - 是漏洞挖掘的富矿
6.3 内网安全检查清单
// 内网安全检查清单
// 1. 服务清单
// - 列出内网所有运行的服务
// - 特别是 UDP 协议的服务
// - 很多人只测 TCP,忽略 UDP
// 2. 补丁状态
// - 内网服务器是否及时打补丁
// - 很多企业内网补丁更新很慢
// - 因为怕影响业务
// 3. 网络分段
// - 访客网络和办公网络是否隔离
// - 服务器区和终端区是否隔离
// - 一旦被打,能不能横向移动
// 4. 权限审计
// - 服务运行权限是否最小化
// - 是否有不必要的高权限服务
// - 降低漏洞利用后的影响
// 5. 监控告警
// - 有没有监控内网异常流量
// - 有没有检测横向移动的能力
// - 发现入侵能不能及时响应
七、防护建议
- 立即打补丁:安装 10 月 Windows Update,修复四个 DHCP Server UAF 漏洞
- 内网服务盘点:列出所有内网运行的服务,特别是 UDP 协议的
- 网络分段:把服务器区和终端区隔离,限制横向移动
- 最小权限:评估服务运行权限,能降权就降权
- 监控异常:监控 UDP 67 的异常 DHCP 包,发现可疑流量及时响应
- 安全意识:内网不是安全的,接入内网就是进入了"战场"
八、总结
CVE-2026-96934、CVE-2026-88117、CVE-2026-88119、CVE-2026-88120 这四个 Windows DHCP Server UAF 漏洞,是 2026 年 10 月 Patch Tuesday 中最容易被忽视但影响极大的一组漏洞。它们不直接从外网打进来,但一旦攻击者进入内网(哪怕是蹭个访客 Wi-Fi),就能直接拿下整个域。这个案例告诉我们几件重要的事:第一,内网不是安全的------传统的"防火墙+内网信任"模型正在失效,零信任是未来方向;第二,老协议是漏洞富矿------DHCP 这种三十多年前的协议,实现中积累了大量历史遗留问题;第三,网络服务的内存漏洞是 SRC 挖洞的高价值方向------特别是那些"天生信任"的基础设施服务。在实战中,我越来越重视内网服务的安全审计。公网 Web 服务的测试已经非常卷了,漏洞赏金越来越低,但内网核心服务的 RCE------比如 DHCP、DNS、AD 这些基础设施------一旦找到,影响的是整个企业的安全,赏金等级自然也高。这个漏洞也提醒所有企业:不要觉得内网就是安全的,攻击者进入内网的方式比你想象的多得多。做安全,要把内网当成公网来防。
