Не так давно в нашей организации была проверка ФСБ на внутреннего и внешнего злоумышленника. Так как у нас на рабочих станция в основном компьютеры на windows 10,7, то были обнаружены уязвимости и выписано предписание их устранить
Уязвимости это в основном связаны с NetBIOS, FDResPub, DNSClient и LLMNR. Наши админы при установки и настройки базового ПО не отключают эти параметры. Решили написать скрипт, который будет автоматически проделывать эту работу. Сам скрипт с подробными описаниями:
PowerShell
# Требуем запуск с правами администратора if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { Write-Host "Запустите скрипт от имени Администратора!" -ForegroundColor Red Start-Sleep -Seconds 3 Exit } function Disable-NetBIOS { # Путь к интерфейсам в реестре $interfacesPath = "HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces" # Получаем все интерфейсы $interfaces = Get-ChildItem -Path $interfacesPath foreach ($interface in $interfaces) { $regPath = $interface.PSPath try { # Устанавливаем значение NetbiosOptions в 2 (отключено) Set-ItemProperty -Path $regPath -Name NetbiosOptions -Value 2 -Force Write-Host "v NetBIOS отключен для интерфейса: $($interface.PSChildName)" } catch { Write-Warning " Не удалось отключить NetBIOS для интерфейса: $($interface.PSChildName). Ошибка: $_" } } } # Запускаем функцию Disable-NetBIOS Write-Host "Остановка службы FDResPub..." -ForegroundColor Yellow Stop-Service "FDResPub" -Force Write-Host "Служба FDResPub успешно остановлена!" -ForegroundColor Green # Отключаем автозапуск службы и выводим сообщение Write-Host "Отключение автозапуска FDResPub..." -ForegroundColor Yellow Set-Service "FDResPub" -StartupType Disabled Write-Host "Служба FDResPub отключена (StartupType: Disabled)." -ForegroundColor Green # Путь к разделу реестра $regPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" $propertyName = "EnableMulticast" try { # Проверяем/создаем раздел реестра if (-not (Test-Path $regPath)) { New-Item -Path $regPath -Force | Out-Null Write-Host "Раздел реестра создан: $regPath" -ForegroundColor Cyan } # Проверяем текущее значение $currentValue = Get-ItemProperty -Path $regPath -Name $propertyName -ErrorAction SilentlyContinue if ($currentValue.EnableMulticast -eq 0) { Write-Host "LLMNR уже отключен." -ForegroundColor Green } else { # Устанавливаем новое значение Set-ItemProperty -Path $regPath -Name $propertyName -Value 0 -Type DWORD -Force Write-Host "LLMNR успешно отключен." -ForegroundColor Green # Перезапускаем связанные службы try { Restart-Service -Name "DNSCache" -Force -ErrorAction Stop Write-Host "Служба DNS-клиент перезапущена." -ForegroundColor Cyan } catch { Write-Host "Не удалось перезапустить службу DNS-клиент: $_" -ForegroundColor Yellow } } } catch { Write-Host "Ошибка при работе с реестром: $_" -ForegroundColor Red Exit 1 } # Дополнительная информация Write-Host "`nДля полного применения изменений может потребоваться перезагрузка системы." -ForegroundColor Yellow
Комментарии (0)
Оставить комментарий
Пока нет комментариев. Будьте первым!