Windows Shell预览功能 – 受限
安装了2025年10月安全更新的Windows用户,如果使用Windows资源管理器的预览窗格,可能注意到了一个意外的变化。当预览许多下载的文件时,预览现在会被以下文字取代:
资源管理器PDF预览:“您尝试预览的文件可能会损害您的计算机。”
虽然查看远程互联网区域文件共享上的文件时也会发生此问题,但对于本地磁盘上的其他文件、位于您的“受信任站点”或“本地Intranet”区域的远程共享,或者如果您手动从文件中删除“网络标记”,则不会发生此问题。值得注意的是,资源管理器似乎会缓存此设置,截至2025年10月,存在一个Bug:删除MoTW流不会清除区域缓存条目,因此用户必须重新启动资源管理器才能看到更改。
发生了什么?
Windows中的更改很简单:互联网区域(3)中URLACTION_SHELL_PREVIEW (0x180f)的值从启用(0)更改为禁用(3):
(图片:注册表编辑器显示Zones\3下的“180F”值为0x00000000)
在Windows资源管理器请求已注册的预览器显示文件预览之前,它会查询SHELL_PREVIEW URL操作,以查看文件所在位置是否允许预览。通过此设置更改,现在系统会拒绝显示源自互联网区域的文件的预览权限。
为什么?
原因很简单,我们之前也曾提及:即通过file:协议经由SMB检索资源时,将NTLM凭证哈希泄露到互联网的风险。泄露的哈希可能允许攻击者入侵您的帐户。
正如我们在关于文件限制的帖子中所讨论的,浏览器会限制通过file:协议打开的文件使用file:协议。当您在资源管理器中预览下载的文件时,该文件的URL使用file:,因此预览器被允许请求file: URL,从而可能在预览文件时泄露哈希。通过此更改,该威胁得以缓解,因为禁用了预览,您必须实际打开下载的文件才会泄露哈希。
不幸的是,此修复是一个生硬的工具:虽然HTML文件可以轻易引用远程子资源,但像PDF文件这样的其他文件类型通常不能(我们在资源管理器预览中禁用了PDF脚本),但它们同样被阻止了。
如何恢复(风险自负)
如果您愿意,可以通过重置注册表项(或将您信任的下载共享添加到“受信任站点”区域)在您自己的PC上还原此更改。但是,请记住,这样做会重新启用该威胁向量,因此您需要确保已部署了其他补偿控制措施:例如,禁用通过SMB的NTLM(更多信息),和/或配置您的网关/防火墙以阻止SMB流量。
注册表脚本示例(恢复预览):
|
|
将此内容保存为.reg文件并运行,然后重启计算机即可恢复到安全更新前的状态。
-Eric
评论区摘要
Christopher Howell: 禁用通过SMB的NTLM会阻止我访问共享网络PC,正如我测试您的建议后刚刚发现的那样。
wualy:
感谢您的解释,但在我自己的注册表中查看后,我在HKEY_CURRENT_USER\...\Zones\3路径下找不到“180F”值。我在Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Lockdown_Zones\3路径下找到了该值。它与您的解决方案有关吗?我应该在哪里找到您提到的“180F”值?
ericlaw (作者回复):
您可以简单地导入我分享的注册表脚本,它针对的是HKEY_LOCAL_MACHINE节点(而非Current User节点)。
bob: 我已经尝试了关于这个荒谬更改的所有已发布解决方案,但都没有用。谁能请给我一个方法,让事情变回这个愚蠢的安全更新之前的样子?
ericlaw (作者回复):
你好,Bob。如果您将此[链接指向的]文件下载为.REG文件然后打开它,系统会询问您是否要更新注册表。在您这样做并重启计算机后,您将回到安全更新之前的状态。