ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Cloud Files API实战:RedSun如何用CfCreatePlaceholders伪造恶意占位文件骗过Defender

Cloud Files API实战:RedSun如何用CfCreatePlaceholders伪造恶意占位文件骗过Defender Cloud Files API实战RedSun如何用CfCreatePlaceholders伪造恶意占位文件骗过Defender【免费下载链接】RedSunThe Red Sun vulnerability repository项目地址: https://gitcode.com/gh_mirrors/re/RedSunRedSun 是一个 Windows 安全漏洞 PoC 仓库核心思路是借助 Cloud Files API 的CfCreatePlaceholders接口伪造恶意占位文件云标签文件反向利用 Windows Defender 对带云标记文件的错误处理逻辑最终覆盖系统文件并提权至管理员。整个 PoC 只有一个 C 源文件却把 Defender 的行为玩出了花——本指南带你一步步看懂它骗杀毒软件的完整原理无需逐行读懂源码。 一句话看懂 RedSun 漏洞用作者自己的话说Windows Defender 一旦发现某个恶意文件身上带有云标签cloud tag出于某种神奇且荒谬的逻辑它不会删除文件而是会把文件重写回原位置。PoC 正是滥用这一行为把恶意可执行文件写进C:\Windows\System32从而获得管理员权限。作者在 README.md 中的吐槽也很直白反恶意软件产品应该删除恶意文件而不是确保它们存在。☁️ 先搞懂Cloud Files API 与占位文件是什么Windows 10/11 的按需文件Files On-Demand机制允许同步应用如 OneDrive在本地只保存一个占位文件Placeholder本地只留文件元数据大小、时间戳、云身份 ID真实内容存放在云端用户访问时才按需水合hydration拉回真实内容第三方同步引擎通过Cloud Files API头文件cfapi.h与系统交互其中三个关键函数CfRegisterSyncRoot把一个文件夹注册为同步根目录CfConnectSyncRoot建立同步引擎与系统的连接CfCreatePlaceholders批量创建带云标记的占位文件。RedSun 的 DoCloudStuff 函数 就完整演示了这套流程先用SERIOUSLYMSFT这个名字注册一个假同步引擎再用CfCreatePlaceholders创建占位文件并打上CF_PLACEHOLDER_CREATE_FLAG_MARK_IN_SYNC标志让系统认为文件已在云端同步就绪。这就是欺骗的起点Defender 看到恶意文件 云同步文件于是选择把它重写回原位置而不是删除。⚠️️ 攻击链路拆解RedSun 的五步棋RedSun.cpp 的 main 函数 把整个攻击串成了 5 步第 1 步伪造诱饵恶意文件在%TEMP%\RS-随机GUID工作目录下创建TieringEngineService.exe写入业界标准的 EICAR 杀毒测试字符串RedSun.cpp。EICAR 是通用 AV 测试样本所有主流杀毒软件都会识别它。第 2 步主动触发 Defender 响应PoC 以可执行权限再次打开该文件RedSun.cpp强制触发实时防护。此时 Defender 开始处置——正常预期是隔离删除但由于文件即将被标记为云占位文件Defender 反而把它重写回来。第 3 步后台线程盯住卷影副本Defender 处置文件时会用到卷影副本VSS即HarddiskVolumeShadowCopy设备。ShadowCopyFinderThread 在后台持续枚举\Device对象目录一旦发现新的卷影副本出现就对该文件请求batch oplockFSCTL_REQUEST_BATCH_OPLOCKRedSun.cpp——这是同步引擎合法使用的文件锁借此卡住Defender 文件操作的时机窗口。第 4 步把目录调包成系统目录关键手法在 RedSun.cppPoC 把工作目录改造成指向C:\Windows\System32的目录联接Junction / 挂载点重解析。从这一步起写入工作目录里的任何文件实际都会落在 System32。第 5 步写入 System32 并以 SYSTEM 执行PoC 轮询用FILE_SUPERSEDE方式打开C:\Windows\System32\TieringEngineService.exeRedSun.cpp把自己的副本复制进去再激活Tier Management Engine COM 服务RedSun.cpp。至此恶意代码以 SYSTEM 身份进入系统目录——权限提升完成。 本地复现RedSun PoC 运行效果⚠️安全提示本 PoC 会真实覆写C:\Windows\System32下的文件并提升权限请务必只在一次性虚拟机或隔离环境中测试切勿在生产机器上运行。上图就是官方文档中展示的 PoC 运行效果控制台依次打印The sun is shinning...和The red sun shall prevail.随后新开的管理员窗口里whoami显示nt authority\system——提权成功。复现要点依赖库参考 RedSun.cppWindows 10/11 环境用 MSVC 编译链接synchronization.lib、sas.lib、ntdll.lib、CldApi.lib确保 Defender实时保护开启——PoC 会等待 AV 响应最长 120 秒超时会提示is real time protection enabled ?RedSun.cpp运行后若看到The red sun shall prevail.说明恶意占位文件已成功骗过 Defender 并落入 System32。️ 启示这个漏洞教会了我们什么杀毒软件处理云文件的逻辑必须谨慎Defender 对带云标签的恶意文件执行了重写回原位置与隔离/删除的本职背道而驰这正是本漏洞的根源占位文件是合法功能但可被伪装Cloud Files API 本为 OneDrive 等同步场景设计攻击者却能伪造假同步引擎身份如本 PoC 的SERIOUSLYMSFT任何信任云标签的安全产品都可能被类似手法绕过保持系统更新此类逻辑缺陷通常会在后续 Defender 引擎或系统更新中修复普通用户最有效的防护就是及时更新 Windows 与 Defender 签名减少不必要的第三方同步盘挂载多余的同步盘会增加系统目录被异常水合篡改的风险面。 项目资料速查文件说明RedSun.cpp完整 PoC 源码CWindows 平台RedSun.cppDoCloudStuff注册同步根 CfCreatePlaceholders创建占位文件RedSun.cpp卷影副本监控与 batch oplock 线程RedSun.cpp目录联接Junction指向 System32RedSun.cpp轮询写入 System32 恶意可执行文件README.md漏洞原理说明与运行效果图LICENSE开源协议【免费下载链接】RedSunThe Red Sun vulnerability repository项目地址: https://gitcode.com/gh_mirrors/re/RedSun创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表