Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Windows Server, AD и Роли

Как отключить Windows Script Host (WSH) для защиты от вирусов

Обновлено: 08.09.2026 · Официальная документация ↗

Архитектура WSH и векторы атак шифровальщиков

Windows Script Host (WSH) — это встроенный в Windows сервер сценариев (исполняемые файлы wscript.exe для GUI и cscript.exe для консоли). Он позволяет запускать скрипты на VBScript (.vbs) и JScript (.js, .jse). В современных корпоративных сетях эти расширения являются одним из главных векторов первичного заражения (Initial Access) программами-вымогателями (Ransomware) и троянами (Emotet, Qakbot). Злоумышленники присылают ZIP-архив с маскированным .js файлом, при клике на который WSH скачивает полезную нагрузку (Payload) с C2-сервера. Бизнес-риски: полная компрометация домена через фишинг рядового сотрудника.

Анализ уязвимых расширений

Расширение файлаДвижок интерпретацииЛегитимное применение в ОС
.vbs, .vbeVBScript (wscript/cscript)Устаревшие скрипты логона (Logon Scripts), управление принтерами (prnmngr.vbs).
.js, .jseJScript (wscript/cscript)Практически не используются легитимно, 99% — это вредоносная активность.
.wsf, .wshWindows Script File (XML)Обертка для VBS/JS, также опасны.

Методы блокировки WSH в корпоративной среде

Сценарий 1: Отключение WSH через реестр (Локально или через GPO)

Самый простой и жесткий метод — сказать подсистеме Windows полностью игнорировать сервер сценариев.

 Отключение WSH для текущего пользователя
reg add "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 0 /f

 Отключение WSH на уровне всего компьютера (через GPO Preferences)
reg add "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 0 /f

Результат: При попытке запустить .vbs скрипт пользователь получит окно "Доступ к Windows Script Host отключен на этом компьютере".

Сценарий 2: Блокировка через AppLocker (Рекомендуемый Enterprise-подход)

Отключение WSH целиком может сломать легитимные скрипты системных администраторов (например, скрипты Zabbix-агента). AppLocker позволяет блокировать запуск из профиля пользователя, но разрешать из системных папок.

  1. Откройте gpmc.msc -> Конфигурация компьютера -> Политики безопасности -> AppLocker.
  2. Перейдите в раздел Правила сценариев (Script Rules).
  3. Создайте правила по умолчанию (Default Rules): Разрешить запуск из %PROGRAMFILES% и %WINDIR%.
  4. Всё, что лежит в %USERPROFILE%\Downloads (или AppData), будет автоматически заблокировано.

Типовые ошибки администраторов

  • Простое удаление ассоциаций файлов: Изменение программы по умолчанию для .vbs на "Блокнот" не защищает от запуска скрипта через командную строку (cscript.exe malware.vbs). Вредоносные макросы в Office вызывают интерпретатор напрямую.
  • Забытая служба активации: Активация Windows (KMS) использует скрипт slmgr.vbs. Если полностью отключить WSH через реестр, скрипт управления лицензиями перестанет работать.
Боитесь вирусов-шифровальщиков, но боитесь сломать старые VBS-скрипты?
Инженеры ITSTM проведут аудит исполняемых файлов в вашей сети (через Sysmon и Event Forwarding), перепишут legacy-скрипты на защищенный PowerShell (с Constrained Language Mode) и настроят гранулярные политики AppLocker без прерывания бизнес-процессов.
💡 Практика специалистов: Практика ITSTM: При внедрении политик ограничения программной среды мы рекомендуем полностью переходить на PowerShell, подписывая скрипты внутренним PKI (Code Signing Certificate). VBScript официально признан Microsoft устаревшим (Deprecated) и будет удален в будущих версиях Windows 11/Server.

Частые вопросы (FAQ)

Как запустить легитимный скрипт, если WSH отключен через реестр?

Вам придется временно включить WSH (поставить Enabled = 1 в реестре), выполнить скрипт, а затем снова отключить. Для автоматизации лучше использовать AppLocker, разрешая запуск скриптов, подписанных корпоративным сертификатом.

Влияет ли блокировка WSH на работу PowerShell?

Нет. PowerShell использует свой собственный интерпретатор (powershell.exe) и движок (.NET Core/Framework). Для защиты PowerShell нужно использовать Execution Policy и Constrained Language Mode.

Ломает ли это работу макросов в Microsoft Office?

Макросы VBA внутри Word/Excel (winword.exe, excel.exe) не используют wscript.exe, они выполняются внутренним движком Office. Блокировка WSH остановит макрос только на том этапе, когда он попытается запустить внешний VBS-скрипт (Drop & Execute).

Как проверить, что блокировка работает?

Создайте текстовый файл test.vbs с кодом: MsgBox "Test". Двойной клик по нему должен выдать системную ошибку об ограничении доступа, а не диалоговое окно 'Test'.

Полезные материалы
Рекомендуем