ShieldBreak:Windows Defender 0day——微软对RoguePlanet的补丁被完整绕过

导语:Chaotic Eclipse(别名MSNightmare/Nightmare-Eclipse)这个名字在2026年的Windows漏洞圈里已经是常客了。他先是6月份扔出了RoguePlanet(CVE-2026-50656),微软7月火速发了补丁。然后他研究了一个月补丁,结论是:”你们微软,修了个寂寞。”2026年8月11日,ShieldBreak发布——100%成功率,绕过微软7月的所有修复,SYSTEM shell触手可得。


一、RoguePlanet:补丁是怎么被”修了个寂寞”的

1.1 原始漏洞

2026年6月26日,研究者Chaotic Eclipse公开披露RoguePlanet——Microsoft Malware Protection Engine(mpengine.dll,Microsoft Defender核心扫描引擎)中的一个竞态条件漏洞

漏洞类型:CWE-59 符号链接解析抢先使用(Improper Link Resolution Before File Access)

技术本质:在Defender扫描文件期间,利用符号链接将扫描目标从攻击者指定的文件重定向到系统关键文件(如ntdll.dll),诱导Defender在SYSTEM上下文执行任意文件操作,最终获得SYSTEM权限shell。

CVSS 3.1评分:7.8 High,利用难度”More Likely”(微软自评)。

1.2 微软的修复

2026年7月,微软发布安全更新,修改了Defender的文件解析逻辑,引入深度防御机制。

1.3 研究者的回复

微软以为修好了。研究者研究了一个月,结论是:补丁只堵住了一条路,但核心竞态结构完全没变

2026年8月11日,ShieldBreak发布。研究者原话:

“Microsoft has failed to properly patch the RoguePlanet vulnerability.”


二、ShieldBreak:技术深度解析

2.1 影响范围

项目详情
目标Microsoft Defender / Malware Protection Engine
绕过对象CVE-2026-50656 补丁(2026年7月)
利用结果本地提权至 SYSTEM
成功率100%(作者实测)
影响系统Windows 11 25H2(含Canary通道)、Windows Server 2025、Windows 10(亦存在漏洞,未支持)
前置条件目标系统已有本地低权限代码执行能力

2.2 核心利用链

ShieldBreak的Exploit代码约47KB(ShieldBreak.cpp),使用大量Windows内部API,核心步骤如下:

第一步:构造Cloud Files同步根

利用Windows Cloud Files API(CfRegisterSyncRoot/CfConnectSyncRoot),在用户目录下注册一个自定义云文件provider,将指定路径伪装为”云端同步文件”。这是整个利用链的基础设施。

第二步:构建符号链接树

通过NtCreateDirectoryObjectExBaseNamedObjectsRestricted下创建精心设计对象目录结构:

WD_SHADOW_<GUID>WD_SCAN  → 指向攻击者工作目录
WD_TARGET_<GUID>WD_SCAN  → 指向 ??C:WindowsSystem32

通过符号链接,让Defender扫描路径时”误入”攻击者控制的目录。

第三步:触发Defender扫描

调用MpScanStart(MpClient.dll导出函数),强制Defender引擎扫描精心构造的路径\??pipeSHIELDBREAK。Defender解析符号链接后,实际访问的是C:WindowsSystem32phoneinfo.dll:stream

第四步:CLFS竞态重定向

利用Windows Common Log File System(CLFS)的竞态条件,在Defender持有文件句柄期间,通过符号链接将文件路径重定向到攻击者可控的位置。同时通过LockFile锁定句柄,阻止Defender释放。

第五步:文件映射为可执行代码

通过CreateFileMapping+MapViewOfFile将目标DLL映射为PAGE_EXECUTE_READ,将任意文件内容映射为可执行内存,获得代码执行能力。

第六步:触发WER任务弹出SYSTEM shell

通过COM接口操作Windows Task Scheduler,在MicrosoftWindowsWindows Error Reporting目录注册任务,触发QueueReporting任务执行,最终弹出SYSTEM权限的cmd.exe窗口。

2.3 关键代码片段

Exploit中的核心API调用:

// 加载Windows Defender客户端DLL
HMODULE hm = LoadLibrary(dllpath);  // MpClient.dll

// 获取MpScanStart函数指针,强制触发扫描
MpScanStart(hbinding, MPSCAN_TYPE_RESOURCE, 0x60004002, &scanrsrc, NULL, &scanctx);

// 符号链接管理器——核心竞态构造
ObjectSymlinkMgr* shlnk = new ObjectSymlinkMgr(
    L"WD_SCAN",          // 链接名
    ntworkdir.c_str(),   // 指向攻击者工作目录
    shadowdir->GetHandle()
);

// CLFS日志锁定 + 文件映射
LockFileEx(hclfs_file, LOCKFILE_EXCLUSIVE_LOCK, ...);
HANDLE hmap = CreateFileMapping(hlock, NULL, PAGE_EXECUTE_READ | SEC_IMAGE, ...);
void* viewbuff = MapViewOfFile(hmap, FILE_MAP_READ | FILE_MAP_EXECUTE, ...);

三、POC获取与使用

3.1 仓库地址

https://github.com/MSNightmare/ShieldBreak

仓库文件:

文件说明
ShieldBreak.cpp完整Exploit源码(~47KB),需用Visual Studio编译
ShieldBreak.aps预编译资源文件
Report.werWindows Error Reporting载荷

3.2 使用方法

# 编译(Visual Studio Developer Command Prompt)
cl /EHsc /O2 ShieldBreak.cpp

# 以低权限用户执行
.ShieldBreak.exe

# 成功后会弹出 SYSTEM 权限的 cmd 窗口

3.3 注意事项

  • 需要目标系统已安装Windows Defender(默认开启)
  • Windows Server环境需要稍微调整(标准用户无法直接挂载ISO,需要重新设计)
  • Windows 10支持但本次未提供exploit二进制,研究者注明”亦存在漏洞”

四、这不是入口漏洞——是提权最后一环

ShieldBreak的利用前提是目标系统已有本地代码执行能力。这意味着它不能独立使用,必须配合其他漏洞或社工手段:

典型攻击链

  1. 钓鱼邮件/恶意下载 → 获得低权限shell
  2. 利用系统配置缺陷或提权漏洞(如CVE-2026-62832 LegacyHive)提权到中等权限
  3. ShieldBreak完成最后一跃 → SYSTEM权限

这也意味着:最有效的防御不是在最后一步堆砌,而是在攻击早期就切断链条。


五、微软8月补丁日:421个漏洞,ShieldBreak是否在列?

2026年8月,微软共修复了421个安全漏洞。但根据目前公开信息,ShieldBreak针对的补丁绕过尚未被确认专项修复

同期的其他高危Windows漏洞(均已修复):

  • CVE-2026-62832(LegacyHive):Windows User Profile Service符号链接跟随提权,CVSS 7.8,由Chaotic Eclipse于7月独立披露
  • CVE-2026-68820:Windows AFD Driver在野0day,CVSS 7.0,已被CISA列入KEV目录,要求2026年8月25日前修复
  • CVE-2026-72971:Windows Container Isolation FS Filter Driver(unionfs.sys)篡改漏洞

六、缓解建议

6.1 短期措施

  • 严格限制本地交互式登录用户数量,减少本地提权的实际利用面
  • 应用白名单(AppLocker / Windows Defender Application Control),阻止未经授权的EXE执行
  • 禁用不必要的脚本执行环境(PowerShell约束模式、禁止Office宏)
  • 对CI runner等高风险资产实施网络隔离

6.2 监控与检测

  • 监控BaseNamedObjectsRestricted目录下的异常对象目录创建(特别是包含WD_TARGET/WD_SHADOW前缀的目录)
  • 关注Defender扫描日志中的异常路径访问(指向命名管道或UNC路径的扫描请求)
  • 监控异常的计划任务创建(特别是MicrosoftWindowsWindows Error ReportingQueueReporting

6.3 根本解决

等待微软发布ShieldBreak专项补丁。在此之前,将ShieldBreak这类防御引擎漏洞视为高优先级威胁,因为它打击的正是本应保护你的安全产品本身。


七、结语

RoguePlanet → 微软打补丁 → ShieldBreak绕过补丁。这个”打地鼠”游戏的背后,是一个令人不安的现实:防御产品的漏洞往往比普通应用漏洞更危险,因为它们运行在最高权限,监控着系统的一切。

Chaotic Eclipse这个名字在2026年已经出现了太多次——LegacyHive、RoguePlanet、ShieldBreak……这说明Windows内核和防御引擎中还有大量未被发现的漏洞。对于防守方来说,除了等待厂商补丁,更现实的策略是:假设系统随时可能被突破,持续监控、快速响应,而不是依赖某一层防御。

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容