Что такое формат файла WSF?
Файлы с расширением .wsf представляют собой сценарии для Microsoft Windows Script Host (WSH). Это текстовые файлы, соответствующие формату XML. Их можно открыть для редактирования в любом текстовом редакторе, но рекомендуется использовать специализированные инструменты, такие как Visual Studio Code. Один файл .wsf может включать в себя несколько задач сценария и поддерживать различные языки программирования внутри одного документа.
Стандартные языки сценариев, поддерживаемые в файлах .wsf, включают JScript и VBScript. Однако формат разработан так, чтобы не зависеть от языка - после установки совместимого движка в WSH он также может поддерживать такие языки, как:
- PerlScript,
- Python,
- BASIC,
- Ruby,
- PHP,
- Object REXX.
Интегрируя различные языки сценариев, можно использовать функции, определенные на одном языке, вместе с константами из объявленных объектов. Это приближает создание сценариев .wsf к традиционным методам программирования.
Файлы сценариев .wsf используются для ведения журналов и системного администрирования, а также часто применяются для автоматизации различных системных задач. Сценарии можно запускать в режиме GUI через WScript.exe, в консольном режиме через CScript.exe или обращаться к ним программно как к объекту COM через WShom.ocx. Также доступны инструменты отладки.
Сценарии PowerShell в значительной степени заменили .wsf для современной автоматизации Windows, начиная с Windows 7, но WSH по-прежнему присутствует во всех текущих версиях Windows. Важное примечание по безопасности: файлы .wsf являются известным механизмом доставки вредоносного ПО - программы-вымогатели и загрузчики широко использовали вложения .wsf в электронной почте. Относитесь к любому незапрошенному файлу .wsf с крайней осторожностью.
Безопасность и защита
РИСК: HIGHФайлы WSF являются основным вектором доставки вредоносного ПО в Windows. Windows Script Host исполняет .wsf нативно без специальной установки, а контейнер XML позволял ранним почтовым фильтрам пропускать их как обычный текст. Кампании вымогателей (Locky 2016, Cerber, Sage 2017, загрузчик Nemucod) активно использовали вредоносные вложения .wsf. Факторы риска: (1) .wsf может загружать и исполнять дополнительные полезные нагрузки через объекты WScript.Shell и XMLHTTP; (2) может изменять реестр, создавать файлы и вызывать системные команды; (3) для многих деструктивных действий не требуется повышение прав UAC; (4) исполняется незаметно при двойном клике через wscript.exe. Меры защиты: блокируйте .wsf на почтовых шлюзах; отключите WSH через групповую политику (HKLM\Software\Microsoft\Windows Script Host\Settings → Enabled = 0); никогда не запускайте неожиданные .wsf. Используйте текстовый редактор для проверки перед запуском.
Детали формата
в двух словахПрограммы, открывающие файлы WSF
Технические подробности
глубокая спецификация| Формат файла | Корректно сформированный XML-документ; корневой элемент <package> (необязательно) содержит один или несколько элементов <job id="...">, каждый из которых группирует один или несколько блоков <script> |
| Кодировка | Текстовая; UTF-8 или Windows-1252 (ANSI); кодировка символов указывается в объявлении XML в начале файла |
| Элементы задач XML | Каждый <job> может содержать <script language="VBScript|JScript">, <reference> (константы библиотеки типов), <object> (создание экземпляра COM), <include> (внешние файлы .vbs/.js) и <runtime> (документация аргументов) |
| Встроенные движки сценариев | JScript и VBScript встроены в WSH во всех версиях Windows; дополнительные движки (PerlScript, Python, Object REXX) требуют отдельной установки и регистрации в реестре |
| Мультиязычность в задаче | Один блок <job> может смешивать разделы <script> на JScript и VBScript, разделяя объекты COM и константы между языковыми границами |
| Режимы выполнения | Режим GUI: wscript.exe (разрешены диалоговые окна, нет консоли); консольный режим: cscript.exe (доступны stdout/stderr); доступ к объектам COM: WShom.ocx |
| Версии хоста WSH | WSH 5.8 поставляется с Windows 7 по Windows 11 и является версией во всех текущих системах; WSH 5.6 работал на Windows XP |
| Типичный размер файла | 1 КБ - 200 КБ; большинство сценариев - это компактные узкоспециализированные файлы |
| Классификация безопасности | Исполняемый файл высокого риска; WSH запускает файлы .wsf нативно при двойном клике без подтверждения пользователем; широко эксплуатируется программами-вымогателями (Locky, Cerber, Sage) и загрузчиками вредоносного ПО через вложения в почте |
| Платформа | Только Windows; Windows Script Host недоступен в macOS или Linux |
| Обработчик выполнения по умолчанию | Windows по умолчанию связывает .wsf с wscript.exe; ассоциация может быть изменена на cscript.exe или полностью отключена через групповую политику для усиления безопасности |
| Современный преемник | PowerShell (.ps1) в значительной степени заменил .wsf для системного администрирования Windows, начиная с Windows 7; WSH остается во всех текущих версиях Windows, но активно не развивается Microsoft |
| Выпущен | 1999 with Windows Script Host 2.0 (shipped with Windows 2000; downloadable for Windows 98/NT) |
| Последняя версия | WSH 5.8 (Windows 7 / Server 2008 R2; version in all later Windows editions) |
| Спецификация | learn.microsoft.com |
Конвертации WSF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах WSF.