有一个漏洞可让用户重置 Windows 上的管理员密码。具体操作方法是从修复磁盘启动,启动命令提示符,然后将 C:\Windows\System32\sethc.exe 替换为 C:\Windows\System32\cmd.exe。
当在登录屏幕上按下粘滞键组合时,用户就可以以管理员权限访问命令提示符。
这是一个巨大的安全漏洞,任何有一点 IT 知识的人都可能被这个操作系统攻击。它几乎让你想换用 Mac 或 Linux。如何预防呢?
答案1
为了防止攻击者从修复磁盘启动并利用该磁盘访问您的系统,您应该采取以下几个步骤。按重要性排序:
- 使用 BIOS/UEFI 设置来防止从可移动媒体启动,或要求输入密码才能从外部媒体启动。具体步骤因主板而异。
- 锁好您的电脑。如果攻击者获得主板的物理访问权限,通常有一种方法可以重置 BIOS/UEFI 设置(包括密码),因此您需要防止这种情况发生。您能做到什么程度取决于多种因素,例如您要保护的数据的重要性、攻击者的专注程度、通往您工作站的物理安全类型(例如,它是在只有同事才能访问的办公室中,还是在向公众开放的隔离区域),以及典型攻击者需要多长时间才能在不被发现的情况下破坏您的物理安全。
- 使用某种磁盘加密,例如 BitLocker 或 TrueCrypt。虽然这无法阻止专门的攻击者在获得物理访问权限并重置您的 BIOS 密码的情况下重新格式化您的系统,但它几乎可以阻止任何人访问您的系统(假设您妥善保管密钥,并且攻击者无法访问任何后门)。
答案2
此处的问题是物理访问机器。禁用从 CD/USB 启动的功能,并使用密码锁定 BIOS。但是,这无法阻止有足够时间独自使用机器的人使用多种不同方法侵入机器。
答案3
SETHC.exe 也可以替换为 explorer.exe(或任何其他 .exe)的副本,从而从登录屏幕提供完整的系统级访问权限。不想重复其他人的话,但如果您谈论的是服务器安全,我认为一定程度的物理安全已经到位。具体程度取决于您的组织概述的可接受风险。
我发布这篇文章也许是为了走一条不同的路。如果您担心组织中的用户社区可以或将对 Windows 7 工作站进行此类攻击(如您在问题中所述),那么规避此类攻击的唯一方法是将计算“移动”到数据中心。这可以通过多种技术来实现。我将选择 Citrix 产品来简要概述该过程,尽管许多其他供应商也提供类似的产品。使用 XenApp、XenDesktop、Machine Creation Services 或 Provisioning Services,您可以将工作站“移动”到数据中心。此时(只要您的数据中心是安全的),您就可以对工作站进行物理保护。您可以使用瘦客户端或功能齐全的工作站来访问从数据中心托管的桌面。在任何这些情况下,您都需要一些 hypvervisor 作为主力。这个想法是,无论用户所在的物理机器是否受到损害,其安全状态的风险都是微不足道的。基本上,物理工作站只能访问非常有限的资源(AD、DHCP、DNS 等)。在这种情况下,所有数据和所有访问权限仅授予 DC 中的虚拟资源,即使工作站或瘦客户端受到威胁,也无法从该端点获得任何收益。这种设置更适合大型企业或高安全性环境。我只是想把这个作为一个可能的答案提出来。
答案4
只需禁用按 5 次 shift 键时运行的粘滞键提示即可。然后当 CMD 重命名为 SETHC 时,它不会弹出。解决了。
Windows 7的:
- 开始>输入“更改键盘的工作方式”
- 点击第一个选项
- 点击设置粘滞键
- 取消选中“按下 Shift 键 5 次时打开粘滞键”。
您实际上不需要在 USB 上有 Windows 光盘或映像即可使漏洞利用工作。我想说的是,禁止 PC 从内部系统驱动器以外的其他驱动器启动不会阻止漏洞利用的执行。此解决方法是在启动时重置计算机并使用启动修复来访问文件系统以将 CMD 重命名为 SETHC。当然,这对磁盘驱动器来说很难,但如果您侵入别人的机器,您就不在乎了。