滥用任意文件删除以提升权限和其他大技巧
字数 2017 2025-08-11 21:26:27
Windows 任意文件/文件夹删除漏洞利用技术详解
概述
本文详细讲解如何利用Windows系统中的任意文件/文件夹删除漏洞进行权限提升(EoP)和拒绝服务(DoS)攻击。这些技术可以将看似影响不大的文件系统操作漏洞转化为完整的SYSTEM权限获取或系统破坏。
核心漏洞原理
Windows Installer回滚机制
Windows Installer服务在安装应用程序时使用事务性机制,主要特点:
- 创建
C:\Config.Msi文件夹存储回滚信息 - 生成
.rbs(回滚脚本)文件记录系统更改 - 生成
.rbf(回滚文件)保存被覆盖文件的原始版本 - 回滚时使用这些文件恢复系统状态
漏洞利用关键点
- DACL问题:
C:\Config.Msi默认有严格DACL,但普通用户可在C盘根目录创建文件夹 - 时机窗口:在Windows Installer创建
C:\Config.Msi后立即删除/移动它 - 替换攻击:用弱DACL的伪造
C:\Config.Msi替换原文件夹,包含恶意.rbs和.rbf文件
漏洞利用技术详解
1. 从任意文件夹删除到SYSTEM EoP
前提条件:
- 能以SYSTEM或管理员身份删除/移动/重命名任意空文件夹
利用步骤:
- 创建虚拟
C:\Config.Msi并设置机会锁(oplock) - 触发漏洞删除原
C:\Config.Msi(SYSTEM上下文) - 在oplock回调中:
- 移动虚拟文件夹
- 启动Windows Installer安装恶意
.msi - 监控
C:\Config.Msi的创建
- 释放oplock让漏洞进程完成删除
- 用弱DACL重新创建
C:\Config.Msi - 等待Windows Installer创建
.rbs文件 - 替换为恶意
.rbs和.rbf文件 - 触发回滚执行恶意操作(如放置恶意DLL)
注意事项:
- 需要至少4核CPU减少竞争条件
- 失败后需重试
- 示例目标:替换
C:\Program Files\Common Files\microsoft shared\ink\HID.DLL
2. 从任意文件删除到SYSTEM EoP
技术关键:
- 利用NTFS特性:文件夹元数据存储在
::$INDEX_ALLOCATION备用数据流 - 删除
C:\Config.Msi::$INDEX_ALLOCATION等效于删除文件夹
利用方法:
- 使SYSTEM进程调用
DeleteFileW传入C:\Config.Msi::$INDEX_ALLOCATION - 后续步骤与文件夹删除利用相同
限制:
- 仅适用于直接调用
DeleteFileA/W的漏洞 - 不适用于进行额外文件属性检查的情况
3. 从文件夹内容删除到SYSTEM EoP
前提条件:
- 能以SYSTEM/admin身份删除指定文件夹内的所有内容
利用步骤:
- 创建
temp\folder1\file1.txt - 在file1.txt上设置oplock
- 触发漏洞进程枚举并尝试删除file1.txt
- 在oplock回调中:
- 移动file1.txt使folder1为空
- 将folder1重定向到对象命名空间
- 创建符号链接指向
C:\Config.Msi::$INDEX_ALLOCATION
- 释放oplock,使文件删除变为Config.Msi删除
- 继续标准利用流程
4. 从任意文件夹创建到永久DoS
利用方法:
- 以SYSTEM/admin身份创建特定名称的文件夹
- 例如:
C:\Windows\System32\cng.sys - 系统启动时会错误加载驱动导致无法启动
特点:
- 无需删除操作
- 效果为永久性拒绝服务
- 也可用于远程DoS攻击
防御建议
- 严格限制文件/文件夹删除权限
- 监控
C:\Config.Msi的异常操作 - 限制对象命名空间的访问
- 对关键系统位置设置更强保护
- 更新Windows Installer相关机制
总结
可利用原语与效果:
| 原语类型 | 所需权限 | 可达到的效果 |
|---|---|---|
| 任意空文件夹删除/移动/重命名 | SYSTEM/admin | SYSTEM权限提升 |
| 任意文件删除 | SYSTEM/admin | SYSTEM权限提升 |
| 指定文件夹内容删除 | SYSTEM/admin | SYSTEM权限提升 |
| 递归删除攻击者可写文件夹 | SYSTEM/admin | SYSTEM权限提升 |
| 任意文件夹创建 | SYSTEM/admin | 永久性DoS |
| 任意文件删除/覆盖 | SYSTEM/admin | 永久性DoS |
这些技术展示了如何将看似低危的文件系统操作漏洞转化为高危攻击,强调了Windows文件系统安全机制中的深层问题。