到防范 BadUSB 按键注入攻击,这似乎是合乎逻辑的需要密码才能以管理员权限访问命令行可以通过修改以下注册表项的“值数据”来实现1
:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ConsentPromptBehaviorAdmin
据记载: “当操作需要提升权限时,此选项会提示同意管理员输入其用户名和密码(或其他有效管理员)。此操作在安全桌面上进行”
这将防止通过命令行进行任何未经授权的系统修改。
但是,注册表编辑器本身不需要任何密码来访问它,而 BadUSB 攻击可以假设上述保护措施已经完成,因此将密钥修改为默认值,4
这样就不需要密码就可以以管理员权限访问命令行。
那么有没有办法通过要求密码来保护注册表编辑器打开它?
答案1
您可以修改文件的权限C:\WINDOWS\System32\regedt32.exe
,以仅允许管理员或非当前用户的其他组具有执行权限。
假 USB 键盘可以通过很多其他方式造成损害,而不仅仅是通过 GUI 注册表编辑器,因为在 Windows 中有很多方法可以完成所有事情。例如,有一个reg.exe
命令行实用程序,那么您可能可以做很多事情,但rundll32.exe
您无法禁用它,因为它被 Windows 组件和程序使用。
您应该通过限制系统对可移动设备的响应来解决此问题。我还没有深入研究过,但也许Microsoft Defender ATP可以提供帮助。理想情况下,您授权一个 USB 键盘和鼠标,并拒绝任何其他。
有些事情很简单——但对大多数人来说有点过度了——如果您的系统有旧式 PS/2 端口并且您不需要 USB 设备(您可能还想禁用可移动驱动器和摄像头),只需禁用 USB 端口或从设备管理器禁用根集线器设备。