微软 Defender 自带的驱动程序可能被恶意利用,在启动时删除安全软件

新闻
19小时前

1787822543580367.png

Check Point Research 披露了一种攻击技术。该技术利用微软 Defender 自带、具有合法签名的启动时修复驱动程序,在 Windows 系统上执行任意内核级文件和注册表操作,影响范围从 Windows 7 一直覆盖到 Windows 11 25H2。

值得注意的是,这种技术并不需要利用软件漏洞,也不需要从系统外部导入任何驱动程序

被利用的驱动程序名为 BTR.sys(Boot Time Removal Tool,启动时删除工具),它是 Windows 的必要组件。这意味着,如果将 BTR.sys 加入微软的易受攻击驱动程序阻止列表(Vulnerable Driver Blocklist),或者通过 Windows Defender 应用程序控制(WDAC)阻止该驱动,都可能导致 Defender 自身的正常运行受到影响。

Check Point Research 威胁研究员兼逆向工程师 Jiří Vinopal 在拉斯维加斯举行的 Black Hat USA 2026 和 DEF CON 34 大会上,以主舞台演讲的形式公布了这项研究,并于 2026 年 8 月 20 日发布了配套研究论文以及概念验证工具 BTR_CLI

Check Point Research 表示,目前没有发现这项技术已经被用于真实世界攻击的证据。

Check Point Research 表示:“在对所有收集到的样本和遥测数据源进行分析的过程中,我们没有观察到 BTR.sys 按照本研究所展示的方式遭到现实世界滥用的证据。这表明,该技术目前尚未被威胁行为者掌握或使用,因此,在其真正被武器化并出现在野外之前,安全团队仍有机会主动构建检测能力。”

BTR.sys 如何绕过传统防护机制


BTR.sys 被嵌入 Defender 的 MpEngine.dll 中,作为名为

BOOTTIMETOOL 的资源存在。当 Defender 必须在系统重启后继续完成恶意软件清除工作时,就会部署这一驱动。

它可以删除那些在 Windows 正常运行期间处于锁定状态的文件或注册表项。

Vinopal 对这一驱动专有且未公开文档化的事务协议进行了逆向分析,并发现传递给 BTR.sys 的每一个配置数据块都会使用 RC4 进行加密。其加密密钥长度为 256 字节,并且硬编码在每个 BTR.sys 版本的 .rdata 区段中。

研究人员对自 Windows 7 以来发布的 18 个不同 64 位版本 BTR.sys 进行了验证,发现这一密钥始终保持不变。

作为概念验证工具,BTR_CLI 会在 Defender 的 Definition Updates 目录中定位 MpEngine.dll,并从其中提取嵌入的 BTR.sys 二进制文件。

随后,该工具会构造一项有效的加密事务,并通过直接修改 HKLM 注册表的方式,将 BTR.sys 安装为服务。具体使用的配置包括:

  • Type=1

  • Start=1

  • Group="Boot Bus Extender"

这种方法可以完全绕过服务控制管理器(Service Control Manager),同时也不会生成 Windows 事件 ID 7045(Service Installed,服务已安装)日志。

驱动加载后,BTR.sys 会在 Ring 0 中执行排队的操作。在遥测数据中,这些操作会被归因于 System 进程(PID 4)

借助这一能力,攻击者可以:

  • 删除处于锁定状态的文件和目录;

  • 将文件移动到不受限制的路径,包括 System32\drivers

  • 删除注册表键和值;

  • 写入任意类型的新注册表值。

BTR.sys 还提供第二种触发模式,可以将相关操作安排到下一次系统重启时执行

随后,驱动会在 Vinopal 所称的 “黄金窗口(golden window)”期间执行操作。所谓“黄金窗口”,是指文件系统已经恢复为可写状态,但 Defender 的用户态服务尚未启动之间的这段时间。

在这一时间窗口内,BTR.sys 可以在 Defender 自身对相关文件实施锁定之前,直接从磁盘中删除诸如 WdFilter.sysMsMpEng.exe 等安全组件。

在 Black Hat 大会的现场演示中,研究人员展示了 BTR_CLI 如何在一台已经安装全部最新更新、运行 Windows 11 25H2 且启用了篡改防护(Tamper Protection)的设备上,删除整个 Defender 安全组件栈。

要利用这一技术,攻击者需要拥有一个具备 SeLoadDriverPrivilege 权限的管理员账户。对于已经拥有该权限的账户,BTR_CLI 可以自动启用这一权限。

与 BYOVD 攻击不同:利用的是 Windows 自带驱动


与依赖自带易受攻击驱动程序(BYOVD,Bring Your Own Vulnerable Driver)的攻击不同,传统 BYOVD 攻击通常需要使用存在已知漏洞、但经过合法签名的第三方驱动程序。这些驱动一旦被识别,就可以被加入驱动阻止列表。

而此次被称为 BTR Reforged 的技术利用的却是一个Windows 自带驱动程序。从 Windows 7 开始,每一套 Windows 安装中都包含这一驱动。

Check Point Research 在研究论文中表示:“这个问题从传统意义上来说并不是一个漏洞,而是一个可以被跨越的架构信任边界——前提是攻击者已经拥有管理员权限。”

该机构进一步表示,在负责任披露之后,微软安全响应中心(MSRC)确认,这项发现不符合需要立即进行修复的标准,因为该技术依赖攻击者预先拥有的管理员权限,即 SeLoadDriverPrivilege

Vinopal 在 BTR_CLI 的 GitHub 代码仓库中进一步写道:“目前没有修复计划(No patch is planned)。”不过,微软尚未公开确认这一说法。

BTR.sys 五年前就曾被发现存在漏洞


事实上,安全研究人员早在五年前就曾因 BTR.sys 中的另一个问题对其展开过研究。

2021 年 2 月,SentinelLabs 研究员 Kasif Dekel 披露了 CVE-2021-24092,这是 BTR.sys 中存在的一项权限提升漏洞。该漏洞允许本地非管理员用户通过在驱动日志路径中放置硬链接,覆盖任意文件。

微软于 2021 年 2 月 9 日修复了 CVE-2021-24092。

Kasif Dekel 当时表示:“我们认为,这个漏洞直到现在才被发现,是因为该驱动通常并不存在于硬盘上,而是在需要时才会以随机名称释放并激活,随后又会被清除。”

此前也曾有研究展示过利用Windows 内置驱动作为内核级攻击工具的方式,而不是使用存在漏洞的第三方驱动。

其中一个案例涉及 FIN7 的 AvNeutralizer。该攻击工具曾将 Windows ProcLaunchMon.sys 驱动与 Process Explorer 驱动结合使用,从而篡改终端安全软件。

这项研究源于一次真实的事件响应调查


Check Point Research 表示,这项研究的起源也颇为特殊。

研究人员最初是在调查一起系统遭到入侵的事件响应事件时发现了相关问题。当时,一些终端遥测数据看起来存在异常,但经过进一步分析后,最终发现这些可疑活动实际上来自合法的 Windows Defender 修复操作。

Check Point Research 在论文中表示:“这项研究起源于一次针对遭到入侵系统的事件响应调查。当时,一些终端遥测数据看起来非常可疑,但最终被追溯到了合法的 Windows Defender 修复活动。”

这一发现最终促使研究人员进一步逆向分析 BTR.sys,并发现了其可以被重新利用为内核级操作原语的方式。

Check Point Research 给出 BTR.sys 滥用检测指标


Check Point Research 表示,以下 Sysmon 和 Windows 事件条件可以作为潜在 BTR.sys 滥用行为的检测指标:

  • Sysmon 事件 ID 15(FileCreateStreamHash):目标文件名以 .sys:changelist 结尾。该事件可以捕获写入驱动文件的加密配置备用数据流(Alternate Data Stream,ADS)

  • RegistryEvent(Sysmon 事件 ID 12 或 13):创建一个服务注册表键,其中 Args 值包含 :changelist,同时 Group 设置为 "Boot Bus Extender"。尤其需要关注那些没有伴随 Windows 事件 ID 7045(Service Installed)的情况。

  • Sysmon 事件 ID 11(FileCreate)和事件 ID 23(FileDelete):记录 System 进程(PID 4)快速创建并删除 \SystemRoot\Temp\BootClean.log 的行为。该日志路径被硬编码在驱动程序中,无论调用者是谁都会触发。

  • Sysmon 事件 ID 6(DriverLoad)紧接着 Sysmon 事件 ID 23(FileDelete):如果这两类事件均归因于 System 进程(PID 4),则可能表明 BTR.sys 已经被触发并在内核模式下执行。这是一次实时 BTR.sys 触发行为的重要内核执行特征。

Check Point Research 同时建议,组织应将限制 SeLoadDriverPrivilege 的分配范围作为首要的安全加固措施。

BTR_CLI 已经在github.com/Dump-GUY/BTR_CLI,以 MIT 许可证公开,其代码仓库中还提供了预编译的 x64x86 版本二进制文件。

* 注:图片均来源于网络,无法联系到版权持有者。如有侵权,请与后台联系,做删除处理。

— 【 THE END 】—