RedSun
RedSun 漏洞技术分析与复现文档
一、漏洞描述
该漏洞存在于Microsoft Defender与Windows云文件API(CfApi)、卷影复制服务(VSS)的交互逻辑中,攻击者仅需获得本地普通用户权限,即可通过组合多种Windows合法功能实现提权,最终获取NT AUTHORITY\SYSTEM最高权限。
该漏洞攻击链不涉及任何内存破坏或内核漏洞,完全利用操作系统设计缺陷实现,因此利用稳定性接近100%。
漏洞PoC链接
https://github.com/Nightmare-Eclipse/RedSun
二、漏洞技术原理与利用链
RedSun漏洞的核心,在于巧妙地组合了Windows的多个合法功能,构造出一条精密的竞态条件攻击链。攻击者先投递一个测试病毒文件作为诱饵,待Defender查杀该文件后,再于原路径创建一个云占位符,诱导Defender执行“云恢复”操作。在恢复过程中,通过机会锁暂停Defender并重定向写入路径,最终将恶意程序写入系统目录,完成权限提升。完整利用链可分为6个阶段:
阶段1:投递诱饵,触发Defender查杀与VSS快照
攻击者首先在%TEMP%目录下创建一个随机文件夹,并写入标准EICAR反病毒测试文件。随后立即打开该文件,主动触发Defender的实时扫描。
- Defender识别到EICAR特征码后,判定为测试病毒,并执行删除或隔离操作。
- 在查杀高风险文件前,系统会通过卷影复制服务自动创建一个卷影副本(VSS快照),路径形如
\Device\HarddiskVolumeShadowCopy。 - 一个独立的监控线程会持续扫描
\Device目录,一旦发现新的VSS快照生成,便立即在该快照中的诱饵文件上请求一个批处理机会锁。此机会锁的作用是在Defender进程后续访问该文件时将其暂停,为攻击争取关键的竞态时间窗口。
阶段2:创建云占位符,注册自身为云同步源
待Defender删除文件后,攻击者在诱饵文件的原路径调用DoCloudStuff函数,执行以下操作:
- 调用
CfRegisterSyncRoot()和CfConnectSyncRoot(),将工作目录注册为云文件同步根,并将自身伪装成云存储提供者。 - 调用
CfCreatePlaceholders(),在目录中创建一个同名的云占位符文件。此文件仅包含元数据(文件名、大小等),实际内容为空,并带有“同步中”的云标记。 - 至此,攻击者完成了身份伪装:对系统而言,此目录的云同步源就是攻击者程序本身。
阶段3:触发Defender云恢复,暂停其执行
Defender在扫描工作目录时,发现了一个与之前被删除的恶意文件同名的云占位符。出于修复逻辑,Defender尝试从云同步源拉取“干净”的文件内容,以替换该空壳占位符。
- 当Defender进程(以SYSTEM权限运行)尝试访问该云文件来执行恢复操作时,会间接触发对关联VSS快照文件的访问。
- 此时,攻击者预先在VSS快照文件上放置的机会锁被激活,Defender的文件操作被暂停,攻击者赢得了执行后续路径劫持的窗口时间。
阶段4:目录Junction重定向,劫持写入路径
在Defender被机会锁暂停的瞬间,攻击者执行核心的路径重定向操作:
- 将原工作目录重命名或删除。
- 在同名位置创建一个目录联接,并将其目标指向受保护的系统目录
\??\C:\Windows\System32。 - 此时,原用户临时目录在文件系统层面已变成一个指向
System32的“传送门”。
阶段5:释放机会锁,Defender写入系统目录
- 攻击者释放机会锁,Defender恢复执行。
- Defender继续其“云恢复”写入操作,内核将写入路径透明地解析为重定向后的
C:\Windows\System32\TieringEngineService.exe。 - 同时,攻击者通过
CopyFile将恶意程序自身复制并覆盖到该路径,确保被替换的是一个完全受控的可执行文件。
阶段6:COM激活,获得SYSTEM权限
- 被替换的
TieringEngineService.exe是微软官方的“Storage Tiers Management”服务程序,默认以NT AUTHORITY\SYSTEM权限运行。 - 攻击者通过COM接口激活此服务,系统以SYSTEM权限启动了已被替换的恶意程序。
- 恶意程序检测到自身具有SYSTEM权限后,在当前用户的桌面会话中启动一个
conhost.exe控制台窗口,完成权限提升。
三、PoC复现
3.1 环境要求
- Windows 10/11/Server 2019及以上版本x64系统
- Microsoft Defender实时保护已启用
3.2 运行与验证
- 以普通用户身份运行RedSun.exe
- 等待约1-2分钟,Defender会扫描EICAR测试文件并触发利用流程
- 成功后将弹出一个SYSTEM权限的控制台窗口
- 在窗口中执行
whoami命令,预期输出:
NT AUTHORITY\SYSTEM

这里需要添加排除项执行编译好的文件否则会还没运行exe就被检查到EICAR 字符串触发实时扫描导致exe删除

3.3 常见问题
- PoC 被 Defender 直接查杀:若未添加排除项,Defender 会立即删除编译好的 exe,导致程序无法运行。这是静态特征(如 EICAR 字符串)触发实时扫描所致。临时解决方法是将 exe 所在目录添加到 Defender 排除项,或参照“免杀方案”对 EICAR 字符串进行异或加密后重新编译,实现无排除项执行。
- PoC超时:检查Defender实时保护是否启用,确保用户对
%TEMP%目录有写入权限 - 文件替换失败:确保系统中没有其他进程占用
TieringEngineService.exe
RedSun 漏洞涉及的核心概念详解
1. EICAR 测试病毒字符串
- 是什么:全称为欧洲计算机防病毒研究协会测试文件,是一个由 68 个可打印 ASCII 字符组成的标准字符串。
- 常规用途:被全球安全厂商约定为无害的测试文件,专门用来验证杀毒软件是否正常工作。
- 在攻击中的作用:安全研究员在攻击链中将反转编码的 EICAR 字符串写入诱饵文件。Windows Defender 在实时保护开启时会立即将其识别为“测试病毒”,执行标准的检测-隔离-恢复流程。这是启动后续所有竞态操作的唯一“触发器”。
2. VSS (卷影复制服务) 影卷
- 是什么:Windows 系统的官方快照服务,能在某个时间点为整个磁盘分区创建一个只读的“时间点副本”。
- 常规用途:主要用于系统还原和文件历史记录。在安装更新、驱动程序或进行系统修改前,系统会自动创建快照,充当“后悔药”,万一操作出现问题可以把系统恢复到之前的状态。
- 在攻击中的作用:
- 触发时机:当 Defender 要对系统进行深度清理这类会影响系统稳定性的操作之前,会例行触发 VSS 创建一个“事前快照”作为保险。
- 为什么带毒:这个“事前快照”确实会忠实地记录下病毒删除前的状态,病毒就在里面,但它是只读的,被封印着,不会主动运行。
- 攻防逆转:VSS 快照是一个内容固定不变、路径可预测的“静物”。攻击者提前在这个“静物”上设置机会锁,把它当成一个用来“伏击”高权限 Defender 进程的“稳定靶子”。
3. Oplock (机会锁)
- 是什么:Windows 文件系统的一种同步机制,全称是 Opportunistic Lock。
- 常规用途:允许多个客户端安全地同时访问和缓存同一个文件,提高网络文件共享的性能。当一个进程请求机会锁后,若另一个进程试图访问该文件,系统会暂停后者,直到锁被释放。
- 在攻击中的作用:安全研究员利用机会锁的这个“暂停”特性,把它当成一个精确控制高权限进程执行流的“暂停键”。Defender 进程在尝试访问被锁定的 VSS 文件时,会被系统无条件暂停,从而为后续的路径劫持创造关键的毫秒级时间窗口。
4. 云标记文件与 Cloud Files API
- 是什么:Windows 10 引入的云存储抽象层,允许 OneDrive 等应用在本地创建“占位符”文件,文件内容仅在需要时从云端下载。
- 常规用途:节省本地磁盘空间,文件在本地可见,但内容不占空间,实现“按需下载”。
- 在攻击中的作用:
- 安全研究员注册一个伪造的云同步根,并创建一个同名的空壳云占位符。
- Defender 发现曾被删除的恶意文件位置出现了一个“空壳”,其内置的修复逻辑会试图联系云同步源,将这个空壳“恢复”为安全的内容。
- 安全研究员通过这个机制,成功引诱 Defender 这个高权限进程,去执行一次由攻击者预谋的恶意写入操作。
5. Junction (目录联接)
- 是什么:一种目录重解析点,可以将一个目录映射到另一个位置。
- 常规用途:解决旧软件的路径兼容问题。
- 在攻击中的作用:在 Defender 被机会锁暂停的窗口内,安全研究员将工作目录替换为一个指向
C:\Windows\System32的 Junction。这就是攻击链里的“偷梁换柱”步骤——Defender 以为自己写入的是安全的临时文件夹,但实际上,它的高权限写入操作被透明地重定向到了系统核心目录。
6. TieringEngineService.exe (Storage Tiers Management)
- 是什么:微软官方系统服务“Storage Tiers Management”的可执行文件,位于
C:\Windows\System32\。 - 常规用途:优化存储池中分层存储的数据放置。
- 在攻击中的作用:它默认以
SYSTEM权限手动启动。安全研究员用恶意程序覆盖这个文件后,通过相应的 COM 接口启动服务,系统会毫无防备地以最高SYSTEM权限直接运行攻击者的恶意程序,完成提权。

浙公网安备 33010602011771号