VBScript как оружие: анализ простого USB-червя с полным циклом заражения

information security

В эпоху сложных атак с использованием файловых эксплойтов и уязвимостей нулевого дня кажется, что простые скриптовые угрозы ушли в прошлое. Однако свежий анализ специалистов по кибербезопасности демонстрирует обратное. Обнаруженный образец вредоносного ПО, полностью написанный на устаревшем VBScript, реализует классический, но до сих пор эффективный цикл заражения через USB-накопители. Этот червь наглядно показывает, как примитивные средства могут быть использованы для достижения устойчивого присутствия в системе и автоматического распространения.

Описание

Основная идея зловреда проста, но коварна. Сначала он обеспечивает постоянное присутствие в системе, затем следит за собственными процессами и запускает вредоносную нагрузку только в безопасных условиях. После этого скрипт переходит в режим ожидания, отслеживая подключение съёмных носителей, чтобы мгновенно их заразить. При этом он маскирует пользовательские файлы, подменяя их ярлыками для дальнейшего запуска. Весь процесс построен исключительно на штатных возможностях операционной системы Windows, без использования каких-либо эксплойтов.

Инициализация скрипта начинается с подавления ошибок и настройки окружения. Практически каждый файл червя запускается с директивой "On Error Resume Next", которая игнорирует любые ошибки выполнения. Это гарантирует, что скрипт не завершится аварийно. Далее создаются ключевые объекты: "WScript.Shell" для работы с реестром и процессами, "FileSystemObject" для манипуляций с файлами и "WinMgmts" для доступа к инструментарию WMI. Этот минимальный набор предоставляет зловреду все необходимые возможности для контроля системы.

Важным этапом является определение текущего расположения скрипта. Код динамически вычисляет путь к папке, из которой был запущен, что делает его независимым от фиксированных директорий. Этот приём особенно удобен для распространения через флешки, так как позволяет корректно находить все компоненты вредоноса, где бы они ни находились. Следовательно, червь одинаково эффективно работает как с жёсткого диска, так и со съёмного носителя.

Закрепление в системе реализовано через автозагрузку с применением продвинутой техники. Windows хранит состояние элементов автозапуска не только в папке "Startup", но и в специальном разделе реестра "StartupApproved". Если пользователь отключил автозапуск через Диспетчер задач, система помечает соответствующую запись. Обнаруженный скрипт насильно перезаписывает это значение, возвращая себе разрешение на выполнение. Затем он создаёт ярлык в папке автозагрузки пользователя, что обеспечивает его запуск при каждом входе в систему.

Для повышения живучести червь реализует примитивный механизм самовосстановления. Он постоянно опрашивает систему через WMI, получая список всех процессов "wscript.exe". Далее анализируется командная строка каждого процесса. Если скрипт обнаруживает, что один из его ключевых компонентов не выполняется, он немедленно его перезапускает. Таким образом, попытка пользователя вручную завершить процесс вредоноса приведёт лишь к его мгновенному восстановлению.

Одной из самых интересных особенностей является простейшая система анти-анализа. Скрипт проверяет, запущен ли процесс Диспетчера задач ("Taskmgr.exe"). Если Диспетчер задач не активен, червь считает среду безопасной и может запустить свою вредоносную нагрузку. В противном случае, если Диспетчер задач открыт одновременно с рабочими процессами зловреда, скрипт пытается завершить свои собственные процессы, чтобы скрыть активность от глаз пользователя. Этот метод крайне примитивен, но может быть эффективен против неопытных жертв.

Ключевая функция червя - распространение через USB-накопители - построена на подписке на события WMI. Скрипт не опрашивает диски вручную, а переходит в режим ожидания, слушая системные уведомления о подключении новых логических дисков. Как только происходит событие, код проверяет тип диска. При обнаружении съёмного носителя, коим является флешка, начинается процесс заражения.

Подготовка флешки включает создание скрытой системной папки с названием, имитирующим легитимный компонент Windows. В эту папку копируются все файлы червя, их атрибуты также меняются на скрытые и только для чтения. Таким образом, стандартные настройки проводника не отображают эти файлы. Далее следует этап социальной инженерии. Все оригинальные файлы пользователя перемещаются в специально созданную скрытую папку. На корне флешки остаётся только ярлык, имя которого совпадает с меткой тома накопителя.

Этот ярлык имеет иконку, похожую на стандартную иконку диска, и нацелен на командную строку. Его задача - незаметно для пользователя запустить скрипт, ответственный за продолжение заражения. Жертва, пытаясь открыть свою флешку, кликает по ярлыку, что приводит к выполнению вредоносного кода и закреплению червя уже в её системе. Цикл замыкается.

Выводы специалистов однозначны. VBScript, официально считающийся устаревшим и вытесняемым PowerShell, по-прежнему представляет угрозу. Он предустановлен в большинстве версий Windows, не требует компиляции или сторонних библиотек и обладает глубокой интеграцией с системой через WMI, реестр и COM. Более того, подобные скрипты часто игнорируются современными средствами защиты как незначительный "шум" или легаси-код. Этот анализ служит важным напоминанием: устаревшая технология не означает безопасную технологию. Пока Windows поддерживает Windows Script Host, простые, но продуманные VBS-скрипты остаются доступным и эффективным инструментом для злоумышленников, особенно в сценариях целевых атак с физическим доступом или через съёмные носители.

Индикаторы компрометации

MD5

  • 309e4806ec5c609a33fe7f739bad2a7b
  • 9ae0e85c4c4fd4f6167f45af65cc3879

SHA1

  • 65d67ea8314eea448a80ee9669a078e73453ff13
  • 6ad97c437d533bcb8643780317d74c0549ee6b83

SHA256

  • 54787c33bddc0dbcfc81ff200c6234bbbfab84741531ca7a5c77009a75746922
  • 68afc08e23b2099bd5f67c3a5473e8fd9c1f564ee8904ec9c3206ed685d7e67f
Комментарии: 0