红队成员都熟悉这种挫败感。你在一台Windows机器上拿到了本地管理员权限,想要提取哈希,于是执行 reg save HKLM\SAM C:\temp\SAM 。Windows立刻回一句: ERROR: The process cannot access the file because it is being used by another process. SAM、SYSTEM和SECURITY注册表配置单元被内核以独占方式打开。标准文件系统API还没靠近,就先撞上 STATUS_SHARING_VIOLATION 。可以尝试vssadmin,但VSS经常被禁用或被监控;也可以让磁盘脱机,但那需要重启或物理接触。 有没有一种办法,根本不向文件系统请求许可,直接读取这些文件? 在最近一次任务中,搭档Коля “KL3FT3Z”发现了一个简洁的做法: 7-Zip可以打开原始物理磁盘 。以管理员身份运行7-Zip,在地址栏输入 \\.\PhysicalDrive0\ ,它会把整块磁盘当成一个巨大的压缩包。你可以浏览分区,找到 Windows\System32\config\ ,像复制普通文件一样把SAM、SYSTEM和SECURITY拷出来。 为什么7-Zip能做到? 因为它没有对 C:\Windows\System32\config\SAM 调用NtCreateFile。它是对 \\.\PhysicalDrive0 调用CreateFile,然后手动解析NTFS引导扇区、MFT记录和数据运行。它工作在磁盘驱动层(disk.sys),完全位于文件系统栈(ntfs.sys)之下。内核在SAM上的独占锁,在这一层根本不存在。 而且7-Zip是合法、有签名、几乎每台工作站都装了的软件,大多数EDR方案不会标记这种行为。拦截文件系统IRP的微过滤驱动,并没有挂接到 \Device\HarddiskX 上。 这个发现引出一个问题:能不能做一个专用工具,更快、更安静,还能内联解密哈希? 于是有了 Sam The Butcher 。它是一个单文件、独立运行的Windows可执行程序,体积约 40–60 KB 。没有Python,没有.NET运行时,没有依赖,U盘里放一个 stb.exe 就行。 它的工作流程很直接: 打开 \\.\PhysicalDrive0 (需要管理员权限) 调用 IOCTL_DISK_GET_DRIVE_LAYOUT_EX 枚举分区,找到NTFS 读取NTFS引导扇区,拿到簇大小和 MFT_LCN 读取 $MFT 记录0,解析 $DATA 运行,把整个MFT重组进内存 从MFT构建父子文件树,解析Windows路径 这套思路的核心不是“破解”文件锁,而是 换一层去读 。文件锁在ntfs.sys这一层生效,但磁盘上的数据结构还在那里。只要绕过文件系统栈,直接从物理磁盘层解析NTFS结构,锁就失去了意义。 对红队来说,这意味着在拿到本地管理员权限后,提取凭据不再依赖VSS、不依赖重启、不依赖把磁盘脱机。对防守方来说,这提醒了一件事: 监控不能只盯文件系统API调用 。如果某个合法进程突然开始读 \\.\PhysicalDrive0 ,那可能比任何可疑的reg save都更值得注意。 特别