滥用任意文件删除以提升权限和其他大技巧
字数 2017 2025-08-11 21:26:27

Windows 任意文件/文件夹删除漏洞利用技术详解

概述

本文详细讲解如何利用Windows系统中的任意文件/文件夹删除漏洞进行权限提升(EoP)和拒绝服务(DoS)攻击。这些技术可以将看似影响不大的文件系统操作漏洞转化为完整的SYSTEM权限获取或系统破坏。

核心漏洞原理

Windows Installer回滚机制

Windows Installer服务在安装应用程序时使用事务性机制,主要特点:

  • 创建C:\Config.Msi文件夹存储回滚信息
  • 生成.rbs(回滚脚本)文件记录系统更改
  • 生成.rbf(回滚文件)保存被覆盖文件的原始版本
  • 回滚时使用这些文件恢复系统状态

漏洞利用关键点

  1. DACL问题C:\Config.Msi默认有严格DACL,但普通用户可在C盘根目录创建文件夹
  2. 时机窗口:在Windows Installer创建C:\Config.Msi后立即删除/移动它
  3. 替换攻击:用弱DACL的伪造C:\Config.Msi替换原文件夹,包含恶意.rbs.rbf文件

漏洞利用技术详解

1. 从任意文件夹删除到SYSTEM EoP

前提条件

  • 能以SYSTEM或管理员身份删除/移动/重命名任意空文件夹

利用步骤

  1. 创建虚拟C:\Config.Msi并设置机会锁(oplock)
  2. 触发漏洞删除原C:\Config.Msi(SYSTEM上下文)
  3. 在oplock回调中:
    • 移动虚拟文件夹
    • 启动Windows Installer安装恶意.msi
    • 监控C:\Config.Msi的创建
  4. 释放oplock让漏洞进程完成删除
  5. 用弱DACL重新创建C:\Config.Msi
  6. 等待Windows Installer创建.rbs文件
  7. 替换为恶意.rbs.rbf文件
  8. 触发回滚执行恶意操作(如放置恶意DLL)

注意事项

  • 需要至少4核CPU减少竞争条件
  • 失败后需重试
  • 示例目标:替换C:\Program Files\Common Files\microsoft shared\ink\HID.DLL

2. 从任意文件删除到SYSTEM EoP

技术关键

  • 利用NTFS特性:文件夹元数据存储在::$INDEX_ALLOCATION备用数据流
  • 删除C:\Config.Msi::$INDEX_ALLOCATION等效于删除文件夹

利用方法

  1. 使SYSTEM进程调用DeleteFileW传入C:\Config.Msi::$INDEX_ALLOCATION
  2. 后续步骤与文件夹删除利用相同

限制

  • 仅适用于直接调用DeleteFileA/W的漏洞
  • 不适用于进行额外文件属性检查的情况

3. 从文件夹内容删除到SYSTEM EoP

前提条件

  • 能以SYSTEM/admin身份删除指定文件夹内的所有内容

利用步骤

  1. 创建temp\folder1\file1.txt
  2. 在file1.txt上设置oplock
  3. 触发漏洞进程枚举并尝试删除file1.txt
  4. 在oplock回调中:
    • 移动file1.txt使folder1为空
    • 将folder1重定向到对象命名空间
    • 创建符号链接指向C:\Config.Msi::$INDEX_ALLOCATION
  5. 释放oplock,使文件删除变为Config.Msi删除
  6. 继续标准利用流程

4. 从任意文件夹创建到永久DoS

利用方法

  1. 以SYSTEM/admin身份创建特定名称的文件夹
  2. 例如:C:\Windows\System32\cng.sys
  3. 系统启动时会错误加载驱动导致无法启动

特点

  • 无需删除操作
  • 效果为永久性拒绝服务
  • 也可用于远程DoS攻击

防御建议

  1. 严格限制文件/文件夹删除权限
  2. 监控C:\Config.Msi的异常操作
  3. 限制对象命名空间的访问
  4. 对关键系统位置设置更强保护
  5. 更新Windows Installer相关机制

总结

可利用原语与效果

原语类型 所需权限 可达到的效果
任意空文件夹删除/移动/重命名 SYSTEM/admin SYSTEM权限提升
任意文件删除 SYSTEM/admin SYSTEM权限提升
指定文件夹内容删除 SYSTEM/admin SYSTEM权限提升
递归删除攻击者可写文件夹 SYSTEM/admin SYSTEM权限提升
任意文件夹创建 SYSTEM/admin 永久性DoS
任意文件删除/覆盖 SYSTEM/admin 永久性DoS

这些技术展示了如何将看似低危的文件系统操作漏洞转化为高危攻击,强调了Windows文件系统安全机制中的深层问题。

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文件系统安全机制中的深层问题。