T1543.003: Служба Windows
Злоумышленники могут создавать или изменять службы Windows для систематического выполнения полезной нагрузки с целью закрепления в системе. При загрузке Windows запускаются программы или приложения, называемые службами, которые выполняют фоновые задачи в системе. Информация о конфигурации службы Windows, включая путь к исполняемому файлу службы или программам/командам восстановления, хранится в реестре Windows.
Для закрепления в системе злоумышленники могут установить новую службу или изменить существующую, чтобы она выполнялась при запуске системы. Конфигурации служб можно устанавливать или редактировать с помощью системных утилит (например, sc.exe
), путем изменения реестра или напрямую через API Windows.
Злоумышленники также могут использовать службы для установки и запуска вредоносных драйверов. Например, после записи файла драйвера (например, с расширением .sys
) на диск полезная нагрузка может быть загружена и зарегистрирована с помощью функций нативного API, таких как CreateServiceW()
(или вручную с помощью функций ZwLoadDriver()
и ZwSetValueKey()
), либо путем создания необходимых значений для служб в реестре (техника Изменение реестра), либо с помощью утилит командной строки, таких как PnPUtil.exe
. Злоумышленники могут использовать эти драйверы в качестве руткитов, чтобы скрыть свою вредоносную активность в системе. Злоумышленники также могут загрузить подписанный, но уязвимый драйвер на скомпрометированный компьютер (техника, известная как Bring Your Own Vulnerable Driver (BYOVD)) с целью эксплуатации уязвимостей для повышения привилегий.
Службы, созданные с привилегиями администратора, могут выполняться с привилегиями SYSTEM, поэтому злоумышленник может также использовать службу для повышения привилегий. Злоумышленники также могут напрямую запускать службы через диспетчер управления службами (SCM).
Чтобы усложнить анализ и обнаружение, вредоносные службы также могут использовать маскировку задачи или службы (например, использовать имя службы и (или) полезной нагрузки, связанное с легитимной ОС или легитимным программным компонентом). Злоумышленники также могут создавать скрытые службы (техника Сокрытие артефактов), например, используя команду sc sdset
для установки разрешений службы с применением языка SDDL (Service Descriptor Definition Language). Это позволяет скрыть службу Windows от обнаружения стандартными средствами, например Get-Service
, sc query
и services.exe
.
Какие продукты Positive Technologies покрывают технику
Экспертиза MaxPatrol SIEM
mitre_attck_execution: PT-CR-257: Windows_Service_Installed: Обнаружена попытка установить новую службу не из системных каталогов Windows
hacking_tools: PT-CR-523: Remote_Connection_through_SMBEXEC_WinXP: Обнаружение попыток закрепиться в системе при помощи техники SMBExec
mitre_attck_lateral_movement: PT-CR-1752: Service_From_Remote_File_Creation: Создание службы из сетевой директории
mitre_attck_lateral_movement: PT-CR-1981: SVCCTL_Connection: Удаленное подключение к диспетчеру служб с помощью интерфейса svcctl, который позволяет удаленно управлять службами Windows
mitre_attck_lateral_movement: PT-CR-226: Remoting_Impacket_PsExec: Обнаружено удаленное выполнение кода с помощью PsExec из набора Impacket
mitre_attck_lateral_movement: PT-CR-589: Remoting_SysInternals_PsExec: Обнаружено удаленное выполнение кода с помощью PsExec из набора Sysinternals Suite
mitre_attck_lateral_movement: PT-CR-785: Modify_and_Start_Remote_Service: Обнаружена попытка выполнения кода или горизонтального перемещения путем изменения команды запуска системных служб
mitre_attck_execution: PT-CR-217: Execute_PSEXEC: Обнаружение попыток запусить утилиту администрирования PsExec и ее аналогов
hacking_tools: PT-CR-1355: Sliver_GetSystem: Удаленное выполнение команды Sliver GetSystem из С2 фреймворка Sliver
hacking_tools: PT-CR-1356: Sliver_PsExec: Запуск модуля Sliver PsExec из С2 фреймворка Sliver
hacking_tools: PT-CR-1838: NimExec_Activity: Активность инструмента NimExec, использующегося для удаленного выполнения команд
mitre_attck_execution: PT-CR-778: Hidden_Service_Create: Обнаружено создание скрытой службы через реестр без использование функции CreateService
mitre_attck_persistence: PT-CR-271: Service_Created_or_Modified: Обнаружена попытка выполнить операции со службами Microsoft Windows через командную строку или PowerShell
hacking_tools: PT-CR-752: Cobalt_Strike_Psexec_Jump: Обнаружено горизонтальное перемещение с помощью утилиты PSexec для Cobalt Strike
mitre_attck_cred_access: PT-CR-1363: Masky_Tool_Usage: Обнаружение использования инструмента Masky, предназначенного для получения NT-хешей и TGT пользователей, работающих на атакованных узлах, для запроса сертификатов от их имени
Способы обнаружения
ID | DS0019 | Источник и компонент данных | Служба: Изменения в службе | Описание | Monitor for changes made to Windows services to repeatedly execute malicious payloads as part of persistence. |
---|
ID | DS0027 | Источник и компонент данных | Драйвер: Загрузка драйвера | Описание | Monitor for new service driver installations and loads (ex: Sysmon Event ID 6) that are not part of known software update/patch cycles. Note: Sysmon Event ID 6 (driver load) provides information on whether the loaded driver was signed with a valid signature (via the |
---|
ID | DS0029 | Источник и компонент данных | Сетевой трафик: Поток сетевого трафика | Описание | Monitor for several ways that code can execute on a remote host. One of the most common methods is via the Windows Service Control Manager (SCM), which allows authorized users to remotely create and modify services. Several tools, such as PsExec, use this functionality. When a client remotely communicates with the Service Control Manager, there are two observable behaviors. First, the client connects to the RPC Endpoint Mapper over 135/tcp. This handles authentication, and tells the client what port the endpoint—in this case the SCM—is listening on. Then, the client connects directly to the listening port on services.exe. If the request is to start an existing service with a known command line, the the SCM process will run the corresponding command. This compound behavior can be detected by looking for services.exe receiving a network connection and immediately spawning a child process. |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Создание процесса | Описание | Suspicious program execution through services may show up as outlier processes that have not been seen before when compared against historical data. Look for abnormal process call trees from known services and for execution of other commands that could relate to Discovery or other adversary techniques. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as network connections made for Command and Control, learning details about the environment through Discovery, and Lateral Movement. Windows runs the Service Control Manager (SCM) within the process services.exe. Windows launches services as independent processes or DLL loads within a svchost.exe group. To be a legitimate service, a process (or DLL) must have the appropriate service entry point SvcMain. If an application does not have the entry point, then it will timeout (default is 30 seconds) and the process will be killed. To survive the timeout, adversaries and red teams can create services that direct to cmd.exe with the flag /c, followed by the desired command. The /c flag causes the command shell to run a command and immediately exit. As a result, the desired program will remain running and it will report an error starting the service. This analytic will catch that command prompt instance that is used to launch the actual malicious executable. Additionally, the children and descendants of services.exe will run as a SYSTEM user by default. Note: Create a baseline of services seen over the last 30 days and a list of services seen today. Remove services in the baseline from services seen today, leaving a list of new services. Returns all processes named cmd.exe that have services.exe as a parent process. Because this should never happen, the /c flag is redundant in the search. Analytic 2 - Services launching CMD
|
---|
ID | DS0009 | Источник и компонент данных | Процесс: Вызовы API ОС | Описание | Monitor for API calls that may create or modify Windows services (ex: |
---|
ID | DS0024 | Источник и компонент данных | Реестр Windows: Изменение ключа реестра Windows | Описание | Look for changes to service Registry entries that do not correlate with known software, patch cycles, etc. Service information is stored in the Registry at Analytic 1 - Modification of the HKLM\System\CurrentControlSet\Services Registry key
|
---|
ID | DS0017 | Источник и компонент данных | Команда: Выполнение команд | Описание | Monitor processes and command-line arguments for actions that could create or modify services. Command-line invocation of tools capable of adding or modifying services may be unusual, depending on how systems are typically used in a particular environment. Services may also be modified through Windows system management tools such as Windows Management Instrumentation and PowerShell, so additional logging may need to be configured to gather the appropriate data. Also collect service utility execution and service binary path arguments used for analysis. Service binary paths may even be changed to execute commands or scripts. |
---|
ID | DS0024 | Источник и компонент данных | Реестр Windows: Создание ключа реестра Windows | Описание | Monitor for new constructed windows registry keys that may create or modify Windows services to repeatedly execute malicious payloads as part of persistence. Analytic 1 - Creation of the HKLM\System\CurrentControlSet\Services Registry key
|
---|
ID | DS0019 | Источник и компонент данных | Служба: Создание службы | Описание | Creation of new services may generate an alterable event (ex: Event ID 4697 and/or 7045 ), especially those associated with unknown/abnormal drivers. New, benign services may be created during installation of new software. Analytic 1 - Creation of new services with unusual directory paths such as temporal files in APPDATA
|
---|
ID | DS0022 | Источник и компонент данных | Файл: Метаданные файла | Описание | Adversaries may modify the binary file for an existing service to achieve Persistence while potentially Defense Evasion. If a newly created or modified runs as a service, it may indicate APT activity. However, services are frequently installed by legitimate software. A well-tuned baseline is essential to differentiating between benign and malicious service modifications. Look for events where a file was created and then later run as a service. In these cases, a new service has been created or the binary has been modified. Many programs, such as msiexec.exe, do these behaviors legitimately and can be used to help validate legitimate service creations/modifications. |
---|
Меры противодействия
ID | M1040 | Название | Предотвращение некорректного поведения | Описание | On Windows 10, enable Attack Surface Reduction (ASR) rules to prevent an application from writing a signed vulnerable driver to the system. On Windows 10 and 11, enable Microsoft Vulnerable Driver Blocklist to assist in hardening against third party-developed service drivers. |
---|
ID | M1028 | Название | Изменение конфигурации ОС | Описание | Ensure that Driver Signature Enforcement is enabled to restrict unsigned drivers from being installed. |
---|
ID | M1047 | Название | Аудит | Описание | Use auditing tools capable of detecting privilege and service abuse opportunities on systems within an enterprise and correct them. |
---|
ID | M1045 | Название | Подпись исполняемого кода | Описание | Enforce registration and execution of only legitimately signed service drivers where possible. |
---|
ID | M1018 | Название | Управление учетными записями | Описание | Limit privileges of user accounts and groups so that only authorized administrators can interact with service changes and service configurations. |
---|