news 2026/6/8 5:49:08

手把手调试Minifilter漏洞:以CVE-2020-17103为例,深入理解cldapi.dll与cldflt.sys的通信机制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手把手调试Minifilter漏洞:以CVE-2020-17103为例,深入理解cldapi.dll与cldflt.sys的通信机制

手把手调试Minifilter漏洞:从CVE-2020-17103看内核通信攻防实战

在Windows内核安全领域,Minifilter驱动架构既是系统防护的重要屏障,也常成为攻击者突破权限边界的跳板。当我们聚焦于CVE-2020-17103这个典型的权限提升漏洞时,实际上是在观察一场精心设计的"内核对话"——用户态的cldapi.dll如何通过精心构造的消息,诱使内核态的cldflt.sys打开危险的注册表操作路径。本文将用调试器作为显微镜,带您亲历从端口通信到漏洞触发的完整技术链条。

1. 漏洞环境构建与工具链配置

1.1 实验环境准备

调试Minifilter漏洞需要特殊的环境配置,以下是经过实战验证的推荐方案:

  • 操作系统版本:Windows 10 1909 (OS Build 18363.1198)
    • 这是漏洞未修复的原始版本,可从微软官方镜像库获取
  • 调试工具组合
    # WinDbg Preview (必须开启内核调试模式) # IDA Pro 7.6+ (反汇编与静态分析) # Process Monitor (注册表操作监控) # Python 3.8+ (用于编写POC脚本)
  • 符号配置
    .sympath srv*https://msdl.microsoft.com/download/symbols !sym noisy

1.2 关键组件定位

漏洞涉及的两个核心文件在系统中的位置:

文件路径类型作用
C:\Windows\System32\cldapi.dll用户态库提供云文件操作API接口
C:\Windows\System32\drivers\cldflt.sys内核驱动实现云文件过滤功能

提示:在x64系统上分析时需注意WoW64重定向问题,建议直接使用%windir%\SysNative路径访问原生系统目录。

2. 通信机制逆向解析

2.1 端口连接流程拆解

cldapi.dll通过FilterConnectCommunicationPort建立通信时,实际发生了以下关键步骤:

  1. 上下文验证

    // 逆向还原的典型调用代码 INT context[2] = { 0x63706C43, 1 }; // "ClpC"魔法值 HANDLE hPort; FilterConnectCommunicationPort( L"\\CLDMSGPORT", 0, &context, sizeof(context), NULL, &hPort);
    • 魔法值0x63706C43是通信握手的关键凭证
    • 缓冲区长度必须严格匹配8字节
  2. 内核端验证逻辑: 在cldflt.sys的CldiPortNotifyConnect回调中:

    mov eax, [rbp+context] cmp eax, 63706C43h ; 验证魔法值 jnz short loc_180001A1E cmp [rbp+context_size], 8 ; 验证缓冲区大小 jnz short loc_180001A1E

2.2 消息处理回调剖析

当API调用到达内核时,CldiPortNotifyMessage函数会处理消息分发:

NTSTATUS CldiPortNotifyMessage( PVOID PortCookie, PVOID InputBuffer, ULONG InputBufferLength, PVOID OutputBuffer, ULONG OutputBufferLength) { // 实际漏洞触发点隐藏在消息处理分支中 if (*(DWORD*)InputBuffer == 0x10003) { HsmiOsBlockPlaceholderAccess(...); } }

3. 漏洞触发路径深度追踪

3.1 关键函数调用链

通过WinDbg动态跟踪CfAbortOperation的调用过程:

Breakpoint 1 hit cldflt!HsmiOsOpenAppPolicyKey+0x30: fffff805`5e8e1a30 48895c2410 mov qword ptr [rsp+10h],rbx !stack -k # Call Site 00 cldflt!HsmiOsOpenAppPolicyKey 01 cldflt!HsmiOsBlockPlaceholderAccess 02 cldflt!CldiPortNotifyMessage 03 fltmgr!FltpDispatch+0x1a4 04 nt!IofCallDriver+0x55

3.2 注册表操作竞争条件

漏洞利用的核心在于时间窗口的精准把控:

  1. 初始状态

    • 线程模拟Guest匿名令牌
    • 调用RtlOpenCurrentUser获取.DEFAULT配置单元
  2. 竞争时机

    # POC中的关键时序控制 def exploit_thread(): while True: SetThreadToken(ANONYMOUS_TOKEN) if GetLastError() == ERROR_ACCESS_DENIED: RevertToSelf() break
  3. 权限校验绕过

    • 内核在访问检查时线程已恢复高权限
    • 返回的句柄具备WRITE_DAC权限

4. 防御视角的漏洞修复方案

4.1 补丁对比分析

通过BinDiff对比补丁前后变化:

函数名补丁前补丁后
HsmiOsOpenAppPolicyKey无OBJ_FORCE_ACCESS_CHECK添加标志位检查
ZwCreateKey调用Attributes直接传递增加条件判断

4.2 安全开发建议

对于Minifilter开发者,建议采用以下防御措施:

  • 通信端口安全

    FltCreateCommunicationPort( ..., SECURE_PORT_ATTRIBUTES, // 限制低权限访问 NULL, // 拒绝非特权连接 ...);
  • 注册表操作规范

    • 始终设置OBJ_FORCE_ACCESS_CHECK
    • 使用SeTokenIsElevated检查调用者权限

在分析完整个漏洞链条后,最深的体会是:内核安全往往崩溃于最基础的权限校验疏忽。当我尝试复现这个漏洞时,发现微软在后续版本中不仅修复了这个特定问题,还增加了整个通信端口的ACL检查机制——这正是安全防御应有的纵深思维。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 5:48:58

手把手教你用Python+OpenCV把RTSP摄像头变成直播源(基于SRS服务器)

从废弃监控到直播系统:PythonOpenCVFFmpegSRS实战指南你是否曾想过,办公室里那个积灰的旧监控摄像头还能焕发第二春?本文将带你用Python和开源工具链,将任何支持RTSP协议的摄像头改造成可远程观看的直播源。无需昂贵设备&#xff…

作者头像 李华
网站建设 2026/6/8 5:48:00

S32K3系列CAN接收过滤实战:从‘全收’到‘精准过滤’的配置避坑指南

S32K3系列CAN接收过滤实战:从‘全收’到‘精准过滤’的配置避坑指南在车载电子系统开发中,CAN总线通信的可靠性直接关系到整车功能的稳定性。NXP S32K3系列作为车载领域广泛应用的MCU,其CAN(FD)控制器提供了灵活的报文过滤机制。本文将从一个…

作者头像 李华
网站建设 2026/6/8 5:46:27

NLP理解力评估与Prompt Tuning工程实践指南

1. 项目概述:一份沉甸甸的NLP领域“技术简报”到底在讲什么?你打开邮箱,看到一封标题为“The NLP Cypher | 04.25.21”的邮件,发件人署名Ricky Costa,时间戳是2021年4月25日——但别被这个日期骗了,它最后一…

作者头像 李华
网站建设 2026/6/8 5:45:34

手把手教你为联盛德HLK-W806的ST7567 LCD编写一个轻量级图形库

从零构建HLK-W806的ST7567轻量级图形库:嵌入式UI开发实战在嵌入式开发领域,显示界面往往是连接用户与设备的重要桥梁。联盛德HLK-W806作为一款高性价比的Wi-Fi/BLE双模芯片,搭配ST7567 LCD显示屏时,官方SDK仅提供基础的画点功能&a…

作者头像 李华
网站建设 2026/6/8 5:45:25

Hi3861 WiFi开发避坑指南:从STA扫描到AP配网,这些错误你犯过吗?

Hi3861 WiFi开发实战:STA扫描与AP配网的典型问题解析在物联网设备开发中,WiFi模块的稳定连接是功能实现的基础。Hi3861作为一款广泛应用于IoT领域的芯片,其WiFi功能开发看似简单,实则暗藏诸多"陷阱"。本文将深入剖析STA…

作者头像 李华
网站建设 2026/6/8 5:44:23

惊爆!选两联供服务商,这5个关键指标你不得不知!

在追求高品质家居生活的今天,两联供系统凭借其“一机双用”、舒适节能的卓越优势,正逐渐成为豪宅、大平层以及别墅装修的“标配”。然而,面对市面上琳琅满目的品牌和层出不穷的方案,如何从众多服务商中精准挑选出靠谱、专业且能提…

作者头像 李华