Метод MITRE ATT&CK T1546.003 позволяет киберпреступникам установить скрытый механизм стойкого закрепления в системе. Благодаря использованию подписок WMI, атакующий может обойтись без создания отдельных исполняемых файлов или скриптов, поскольку необходимые объекты хранятся непосредственно в репозитории WMI. Постоянные WMI-подписки способны сохранять свою активность после завершения сессии пользователя и даже перезагрузки компьютера. В зависимости от типа потребителя и параметров выполнения, они могут запускать процессы с повышенными правами доступа. Для создания стойких объектов в корневом пространстве имен обычно требуются права администратора.

В рамках данного материала рассматриваются следующие вопросы:

  • Практическое создание WMI-подписки для экспериментальных целей
  • Комплексный анализ подписок на уровне логов системы, дисковых артефактов и памяти процесса
  • Методы обнаружения подобных атак в среде SOC
  • Внедрение защитных механизмов против WMI-персистентности

Различие между временными и постоянными подписками

В Windows реализованы два типа механизмов подписки на события WMI, которые функционируют по принципиально разным принципам.

Временные подписки существуют исключительно в контексте того процесса, который их инициировал. Например, командлет Register-WmiEvent регистрирует обработчик только в текущей сессии PowerShell. После завершения этого процесса или удаления подписчика командлетом Unregister-Event временная подписка прекращает работу. Она не создает записей в пространстве имен root\, не сохраняется после перезапуска PowerShell или перезагрузки компьютера и не генерирует события Sysmon 19, 20 и 21.

Постоянные подписки состоят из трех компонентов WMI:

  • __EventFilter — определяет условие срабатывания события
  • CommandLineEventConsumer — указывает действие, которое необходимо выполнить
  • __FilterToConsumerBinding — устанавливает связь между фильтром и потребителем

Эти объекты сохраняются в хранилище WMI и переживают перезагрузку системы, что соответствует механизму персистентности MITRE ATT&CK T1546.003.

Как функционирует временная подписка

Для иллюстрации принципа работы событийной активации рассмотрим временную подписку через Register-WmiEvent. Хотя этот метод не может служить надежным механизмом стойкого закрепления, он наглядно демонстрирует основной процесс: событие WMI инициирует заранее определенное действие.

В примере подписка срабатывает при запуске приложения Notepad и открывает изображение из сети. Это безопасный способ продемонстрировать механизм событийного выполнения. При реальной атаке вместо открытия изображения могло бы выполняться вредоносное действие.

Обнаружение активности через Sysmon и PowerShell

Sysmon является критически важным инструментом для отслеживания активности WMI. Он регистрирует три ключевых события:

  • Event ID 19 — регистрация WMI-фильтра (триггера)
  • Event ID 20 — создание WMI-потребителя (исполняемое действие)
  • Event ID 21 — связывание фильтра с потребителем

PowerShell Script Block Logging (Event ID 4104) предоставляет еще один способ обнаружения попыток создания временных подписок. Пока сессия PowerShell остается активной, информацию о зарегистрированных подписчиках можно получить командлетом Get-EventSubscriber.

Защита от механизмов персистентности WMI

Для эффективной защиты рекомендуется реализовать комплексный подход, включающий постоянный мониторинг событий Sysmon, анализ логов PowerShell, проверку объектов в репозитории WMI и контроль над правами доступа к административным функциям. Дополнительно следует внедрить правила Detection and Response для быстрого выявления подозрительной активности WMI в корпоративной среде.