devqp
Специалист
DEFUSB — PowerShell-скрипт для Windows, предотвращающий подключение неизвестных USB-устройств (мышей, клавиатур, флешек, внешних дисков и других). Особенно актуален при работе с зашифрованными дисками для защиты от физического доступа.
Принцип работы:
1. При запуске создает список известных USB-устройств в usb.txt
2. Работает в фоновом режиме, отслеживая новые подключения
3. При обнаружении неизвестного устройства немедленно блокирует систему (LockWorkStation)
Запуск:
Оптимизация: Для постоянной работы конвертируйте скрипт в EXE и добавьте в автозагрузку.
Код скрипта (defusb.ps1):
Принцип работы:
1. При запуске создает список известных USB-устройств в usb.txt
2. Работает в фоновом режиме, отслеживая новые подключения
3. При обнаружении неизвестного устройства немедленно блокирует систему (LockWorkStation)
Запуск:
Код:
powershell -noP -exec bypass defusb.ps1
Оптимизация: Для постоянной работы конвертируйте скрипт в EXE и добавьте в автозагрузку.
Код скрипта (defusb.ps1):
Код:
Remove-Item usb.txt
$usb = Get-PnpDevice -PresentOnly | Select-Object -Property InstanceId | Where-Object { $_.InstanceId -match '^USB' }
ForEach ($new_obj in $usb) {
[string]$item = $new_obj
$item | Out-File usb.txt -Append
}
while ($True) {
$file = @(Get-Content usb.txt)
$all_devace = Get-PnpDevice -PresentOnly | Select-Object -Property InstanceId | Where-Object { $_.InstanceId -match '^USB' }
ForEach ($new_obj in $all_devace) {
[string]$item = $new_obj
if ($file -contains $item) {
continue
}
else {
rundll32.exe user32.dll,LockWorkStation
$item | Out-File usb.txt -Append
}
}
}