Den-Sec/USBBlocker

GitHub: Den-Sec/USBBlocker

通过注册表切换 Windows USB 存储类驱动状态,在保留外设正常工作的前提下屏蔽 U 盘和手机等大容量存储设备的端点加固工具。

Stars: 0 | Forks: 0

# USBBlocker 在 Windows 上屏蔽 USB **大容量存储** —— U 盘、外接 HDD/SSD,以及处于 MTP/PTP 模式的智能手机 —— 同时保持鼠标、键盘、音频、网络摄像头、打印机和其它 USB 外设完全正常工作。 这是一个轻量级的端点加固 / 数据泄露防护控制工具:无需 agent,也无需安装驱动程序。它通过注册表切换 Windows 的 USB 存储类驱动。 [![许可证: MIT](https://img.shields.io/badge/License-MIT-c084fc.svg?style=flat-square)](LICENSE)  ![平台](https://img.shields.io/badge/Windows-PowerShell-3776ab?style=flat-square) ## 功能说明 它会设置三个存储类驱动的 `Start` 值: | 驱动程序 | 涵盖范围 | |--------|--------| | `USBSTOR` | U 盘、标准外接 HDD/SSD | | `UASPStor` | 高性能 USB 3.x 驱动器 (USB Attached SCSI) | | `WpdBusEnum` | Windows 便携设备 (处于 MTP/PTP 模式的手机) | - **屏蔽** → `Start = 4` (已禁用):新接入的存储设备会被拒绝。已挂载的驱动器在断开连接前仍可访问。 - **解除屏蔽** → `Start = 3` (按需):存储设备恢复正常工作。 USB 总线上的其它设备(输入设备、音频设备、摄像头、dongle)仍会继续工作 —— 它们使用的是不同的驱动程序。 ## 用法说明 ### 交互式(推荐) 双击 **`USBBlocker.bat`**。它会自动提权 (UAC) 并显示一个菜单: ``` [1] Show current status [2] BLOCK USB storage [3] UNBLOCK USB storage [4] Open log [0] Exit ``` ### 命令行 在**已提权**的 PowerShell 中运行: ``` .\USBBlocker.ps1 -Status # show current driver state (no admin needed) .\USBBlocker.ps1 -Block # disable USB storage .\USBBlocker.ps1 -Unblock # re-enable USB storage ``` ## 注意事项 - 相关操作会记录在脚本同目录下的 `usbblocker.log` 文件中。 - 更改对**新连接的**设备生效;已经挂载的驱动器在拔出前会保持原有状态。 - 若要在整个设备群中实施限制,建议使用 Group Policy / Intune —— 此工具主要用于单台机器的快速管理和实验测试。 ## 许可证 [MIT](LICENSE) © Dennis Sepede ([Den-Sec](https://github.com/Den-Sec))
标签:AI合规, Awesome, IPv6, Libemu, PowerShell, 端点防护, 系统管理, 终端安全