SRC 挖洞:DHCP 服务器上的四个 UAF,内网原生 RCE 怎么打域管

作者 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. 监控告警
//    - 有没有监控内网异常流量
//    - 有没有检测横向移动的能力
//    - 发现入侵能不能及时响应

七、防护建议

  1. 立即打补丁:安装 10 月 Windows Update,修复四个 DHCP Server UAF 漏洞
  2. 内网服务盘点:列出所有内网运行的服务,特别是 UDP 协议的
  3. 网络分段:把服务器区和终端区隔离,限制横向移动
  4. 最小权限:评估服务运行权限,能降权就降权
  5. 监控异常:监控 UDP 67 的异常 DHCP 包,发现可疑流量及时响应
  6. 安全意识:内网不是安全的,接入内网就是进入了"战场"

八、总结

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 这些基础设施------一旦找到,影响的是整个企业的安全,赏金等级自然也高。这个漏洞也提醒所有企业:不要觉得内网就是安全的,攻击者进入内网的方式比你想象的多得多。做安全,要把内网当成公网来防。


相关推荐
sbjdhjd1 小时前
从 preg_replace 规则到缓存绕过:一次授权 PHP 防护实验中的图片载荷、回调检测与哈希碰撞复盘
网络安全·数据挖掘·php·文件包含·宝塔·哈希·火绒
一支蜉蝣1 小时前
Day25 XD安全笔记 安全开发-PHP 应用&文件管理模块&包含&上传&遍历&写入&删除&下载&安全
笔记·网络安全·php
王琦03181 小时前
jenkins使用手册
运维·jenkins
VidDown2 小时前
用户说“卡顿“,服务器一切正常:播放质量监测与 QoE 指标
运维·服务器·ffmpeg·音视频·视频
暖核2 小时前
从零搭建 Ubuntu24.04 服务器:虚拟机安装 + Netplan 静态 IP+SSH 远程登录
服务器·tcp/ip·ssh
瑞克-桑切斯2 小时前
13、DNS、DHCP 与 FTP 协议详解
linux·运维·云计算
程序员-Benothing2 小时前
Linux性能分析方法论:USE、RED、火焰图与perf实战
linux·运维·服务器
问心无愧05132 小时前
[ACTF2020 新生赛]Exec
运维·服务器·笔记
cg.family2 小时前
K8S:scale 与 delete pod 核心区别
运维·docker·容器