T1047: Инструментарий управления Windows

Злоумышленники могут использовать инструментарий управления Windows (WMI) для выполнения полезных нагрузок и вредоносных команд. Служба WMI предназначена для программистов и предоставляет инфраструктуру для управления данными и операциями в системах Windows. WMI — это административная функция, предоставляющая единую среду для доступа к системным компонентам Windows.

Служба WMI обеспечивает как локальный, так и удаленный доступ, при этом удаленный доступ реализуется с помощью служб удаленного доступа, таких как распределенная COM-модель и служба удаленного управления Windows. Удаленный WMI-доступ по DCOM работает через порт 135, а WMI-доступ по WinRM работает через порт 5985 (при использовании HTTP) или порт 5986 (при использовании HTTPS).

Злоумышленники могут использовать службу WMI для взаимодействия с локальными и удаленными системами и выполнять с ее помощью различные действия, такие как сбор информации для изучения и выполнения команд и полезных нагрузок. Например, программа wmic.exe может использоваться злоумышленником для удаления теневых копий с помощью команды wmic.exe shadowcopy delete, чтобы воспрепятствовать восстановлению системы.

Примечание. Инструмент wmic.exe упразднен с января 2024 года, а функция WMIC отключена по умолчанию в Windows 11 и более поздних версиях. Инструмент WMIC будет удален из последующих версий Windows и заменен на PowerShell, который будет использоваться в качестве основного интерфейса WMI. Помимо PowerShell и таких инструментов, как wbemtool.exe, для программного взаимодействия с WMI также могут использоваться API-вызовы COM в C++, .NET, VBScript и других языках и фреймворках.

Какие продукты Positive Technologies покрывают технику

Экспертиза MaxPatrol SIEM

microsoft_mecm: PT-CR-1854: MECM_Discovery_Via_WMI: Злоумышленники могут использовать запросы к классам WMI для получения конфиденциальной информации, связанной с MECM mitre_attck_execution: PT-CR-207: Suspicious_Wmic_Command: Обнаружена попытка использовать утилиту "wmic", чтобы совершить подозрительные действия mitre_attck_execution: PT-CR-2223: Execute_Via_Wmiprvse: Запуск процесса с использованием инструментария управления Windows (WMI). Злоумышленники используют WMI для выполнения вредоносных команд и получения полезных данных mitre_attck_initial_access: PT-CR-2447: WMI_Execution_Via_VBA_Macro: Создан процесс с помощью команды инструментария управления Windows (WMI) из макроса документа Microsoft Office mitre_attck_lateral_movement: PT-CR-216: Remoting_WMI: Обнаружение использование WMI для удаленного выполнения кода mitre_attck_lateral_movement: PT-CR-1374: Impacket_Like_Execution: Паттерны выполнения сценариев, созданных на основе инструмента Impacket hacking_tools: PT-CR-2450: WMEye_Execution: Возможное использование утилиты WMEye, чтобы удаленно выполнить произвольный код и переместиться горизонтально. Утилита WMEye создает фильтр событий WMI, чтобы записать полезную нагрузку в файл и выполнить ее с помощью процесса MSBuild.exe hacking_tools: PT-CR-365: Koadic_WMIC_Stager: Обнаружено возможное использование программного обеспечения Koadic через сценарий WMI hacking_tools: PT-CR-2449: WMEye_Event_Filter_Creation: Создан фильтр событий WMI и запущен процесс MSBuild.exe для возможного выполнения полезной нагрузки, записанной в файл с помощью созданного фильтра событий. Это может указывать на использование утилиты WMEye, которая позволяет горизонтально перемещаться на другие узлы инфраструктуры и удаленно выполнять произвольный код

Способы обнаружения

IDDS0029Источник и компонент данныхСетевой трафик: Создание сетевого подключенияОписание

Отслеживайте сетевой трафик на наличие подключений WMI, которые могут использоваться для удаленного изменения конфигурации, запуска служб или запроса файлов. Когда удаленные запросы WMI передаются через RPC, подключение осуществляется к интерфейсу DCOM в группе RPC netsvcs. Для обнаружения такой активности необходим датчик на сетевом уровне, способный декодировать трафик RPC, или на узле, где коммуникации можно обнаружить с помощью встроенных средств, например трассировки событий Windows. С помощью декодеров wireshark/tshark можно получить информацию об интерфейсах WMI и выявить активность WMI через RPC. Хотя в описании подробно указано, как именно следует выявлять удаленный WMI, в качестве приемлемого способа подходит поиск строки "RPCSS" в начальном RPC-соединении через 135/TCP. Возвращается супермножество этой активности, и происходит срабатывание на все связанные с DCOM службы в RPC, что, вероятно, также следует отслеживать между узлами. Подробнее о RPCSS: rpcss_dcom_interfaces.html

Отслеживайте использование запросов WMI в сетевом трафике и выявляйте случаи, когда процесс запускается сразу после появления соединения. По сути это объединяет запрос на запуск удаленного процесса через WMI с выполнением процесса. Если в это время процесс WmiPrvSE.exe будет порождать другие процессы, может наступить состояние гонки, и в результате произойдет некорректное объединение процессов. В этом случае может быть полезно более детально изучить сетевой трафик, чтобы узнать, можно ли извлечь нужную команду.

После инициализации подключения WMI можно удаленно запустить процесс с помощью команды wmic /node:"<имя узла>" process call create "<командная строка>", которую можно отслеживать с помощью соответствующего псевдокода обнаружения.

Ее выполнение оставляет артефакты как на уровне сети (RPC), так и на уровне процесса (командная строка). Если для удаленного создания процессов используется wmic.exe (или API schtasks), Windows использует RPC (135/TCP) для связи с удаленным компьютером.

После того как будет выполнена аутентификация RPC, RPC Endpoint Mapper инициирует соединение через порт с высоким номером, через который и осуществляется вызов удаленной процедуры schtasks. Эти функции можно определить с помощью соответствующих декодеров пакетов или путем поиска определенных потоков байтов в общей массе данных.

При выполнении командной строки она будет иметь в качестве родительского процесса C:\windows\system32\wbem\WmiPrvSE.exe. Аналитика ищет последовательность этих двух событий и выдает данные о сетевом соединении и целевом процессе.

Определенные строки могут служить идентификаторами WMI, если искать UUID интерфейса для IRemUnknown2 в различных форматах:

  • UUID 00000143-0000-0000-c000-000000000046 (в декодированном виде);
  • Hex 43 01 00 00 00 00 00 00 c0 00 00 00 00 00 00 46 (в необработанном виде);
  • ASCII CF (только печатный текст).

Этот идентификатор встречается трижды на этапе запроса RPC. Любой датчик, имеющий доступ к байт-коду в необработанном, декодированном или ASCII-виде, может реализовать эту аналитику. Синтаксис передачи следующий:

  • UUID 8a885d04-1ceb-11c9-9fe8-08002b104860 (декодировано);
  • Hex 04 5d 88 8a eb 1c c9 11 9f e8 08 00 2b 10 48 60 (необработанный вид);
  • ASCII `]+H`` (только печатный текст).

Таким образом, хорошей ASCII-сигнатурой будет

  • CF]+HCFCFhost"

Примечание. Для обнаружения WMI через RPC (с помощью DCOM) необходимо наличие датчика, который будет анализировать отдельные соединения и может декодировать и интерпретировать трафик RPC. В частности, WMI можно выявить, анализируя трафик RPC, в котором целевой интерфейс совпадает с интерфейсом WMI — IRemUnknown2. Отслеживайте использование запросов WMI в сетевом трафике и выявляйте случаи, когда процесс запускается сразу после появления соединения. По сути это объединяет запрос на запуск удаленного процесса через WMI с выполнением процесса. Если в это время процесс WmiPrvSE.exe будет порождать другие процессы, может наступить состояние гонки, и в результате произойдет некорректное объединение процессов. В этом случае может быть полезно более детально изучить сетевой трафик, чтобы узнать, можно ли извлечь нужную команду.

Аналитика 1. Удаленный запуск с помощью WMI через RPC

source="*Zeek:RPC" dest_port="135" protocol_rpc_interface="IRemUnknown2"

IDDS0009Источник и компонент данныхПроцесс: Создание процессаОписание

Отслеживайте создание процессов и (или) выполнение командных строк, связанных с использованием wmic. Если утилита командной строки wmic.exe используется на исходном узле, ее также можно обнаружить с помощью аналитики. В командной строке на исходном узле обычно используется команда, подобная этой: wmic.exe /node:"<hostname>" process call create "<command line>". При подключении по IP-адресу строка "<hostname>" заменяется IP-адресом. Существует ряд других способов удаленного создания процессов с помощью WMI, например посредством прямого доступа к API или встроенной утилиты PowerShell.

Примечание. Указаны идентификаторы событий для Sysmon (1: создание процесса) и журнала безопасности Windows (4688: создание нового процесса).

Помимо выполнения произвольных процессов, через wmic.exe также могут выполняться данные, хранящихся в альтернативных потоках данных NTFS (см. технику Атрибуты файлов NTFS). Отслеживайте запуск процесса wmic.exe, а также наличие следующих подстрок в командной строке:

  • process call create
  • /node:

Аналитика 1. Создание удаленного процесса посредством WMIC

(source="*WinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode="1") OR (source="*WinEventLog:Security" EventCode="4688") AND Image="wmic.exe" AND CommandLine=" process call create *"

IDDS0005Источник и компонент данныхИнструментарий управления Windows (WMI): Создание WMIОписание

Отслеживайте создание объектов WMI, которые могут выполнять вредоносные команды и запускать полезную нагрузку.

IDDS0017Источник и компонент данныхКоманда: Выполнение командОписание

Отслеживайте выполнение команд с аргументами, которые могут использоваться для выполнения действий в удаленных системах.

Меры противодействия

IDM1026НазваниеУправление привилегированными учетными записямиОписание

Не допускайте дублирования учетных данных администраторов и привилегированных учетных записей в разных системах .

IDM1018НазваниеУправление учетными записямиОписание

По умолчанию только администраторы могут использовать удаленное подключение с помощью WMI. Установите ограничения для других пользователей, которые могут использовать подключение, или заблокируйте удаленное подключение к WMI для всех пользователей.

IDM1040НазваниеПредотвращение некорректного поведенияОписание

Включите правила Attack Surface Reduction (ASR) в Windows 10, чтобы блокировать процессы, созданные командами WMI, от запуска. Примечание. Многие легитимные инструменты и приложения используют WMI для выполнения команд .

IDM1038НазваниеЗащита от выполненияОписание

Используйте контроль приложений, настроенный на блокировку выполнения wmic.exe, если он не требуется для данной системы или сети, чтобы предотвратить потенциальное использование злоумышленниками. Например, в Windows 10, Windows Server 2016 и более поздних версий для блокировки приложения wmic.exe и предотвращения злоупотреблений можно применять правила политики управления приложениями в Защитнике Windows (WDAC).