T1547.001: Ключи запуска в реестре / Папка автозагрузки

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

В Windows по умолчанию созданы следующие ключи запуска:

  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

Ключи запуска могут существовать в разных кустах реестра. Также доступен ключ HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx, но он не создается по умолчанию в Windows Vista и более новых версиях ОС. Записи в ключах запуска в реестре могут указывать программы напрямую или как зависимости. Например, при входе в систему можно загрузить DLL-файл, используя ключ Depend в RunOnceEx: reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001\Depend /v 1 /d "C:\temp\evil[.]dll".

Программы, размещенные в папке автозагрузки, также будут запускаться при входе пользователя в систему. Существует своя папка автозагрузки для каждой пользовательской учетной записи, а также общесистемная папка автозагрузки, которая будет проверяться независимо от того, под какой учетной записью пользователь вошел в систему. Папка автозагрузки для текущего пользователя находится по пути C:\Users\[Username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup. Папка автозагрузки для всех пользователей находится по пути C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp.

В качестве механизма закрепления в системе могут быть использованы следующие ключи реестра для настройки элементов папки автозагрузки:

  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

С помощью следующих ключей реестра можно управлять автоматическим запуском служб во время загрузки:

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices

При использовании параметров политики для указания автоматически запускаемых программ создаются соответствующие значения в одном из двух указанных ниже ключей реестра:

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

Программы, указанные в параметре Load ключа HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows в реестре, автоматически запускаются для пользователя, входящего в данный момент в систему.

По умолчанию, многострочный параметр BootExecute ключа HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager в реестре имеет значение autocheck autochk *. Это значение указывает, что при запуске Windows должна быть проверена целостность файловой системы жестких дисков, если завершение работы системы произошло не должным образом. Злоумышленники могут добавить в это значение реестра другие программы или процессы, которые будут автоматически запускаться при загрузке системы.

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

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

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

mitre_attck_persistence: PT-CR-662: Command_Processor_Autorun_Modify: Процесс изменил значение параметра ключа реестра интерпретатора командной строки (cmd.exe) mitre_attck_persistence: PT-CR-269: Windows_Autorun_Modification: Изменен состав автозапуска ОС Windows

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

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

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

IDDS0022Источник и компонент данныхФайл: Изменение файлаОписание

Отслеживайте размещение и изменение файлов в папке автозагрузки. С помощью таких инструментов, как Sysinternals Autoruns, можно обнаружить изменения в системе, в том числе в папках автозагрузки, которые могут указывать на попытки закрепления в системе .

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

Отслеживайте запуск новых процессов через ключи реестра Run и RunOnce по событиям Windows с идентификатором 9707 или по наличию полной командной строки в ключах Software\Microsoft\Windows\CurrentVersion\Run и Software\Microsoft\Windows\CurrentVersion\RunOnce.

Изменение реестра часто бывает необходимым этапом закрепления через стандартные механизмы Windows. Многие легитимные изменения в реестр вносятся с помощью графического интерфейса утилиты regedit.exe, альтернативных инструментов или прямых вызовов API реестра. Встроенная утилита reg.exe обеспечивает интерфейс командной строки для работы с реестром, позволяя выполнять запросы и модификации из оболочки, например cmd.exe. Если такие действия инициированы пользователем, родительским процессом cmd.exe, как правило, является explorer.exe. Опытные пользователи и администраторы могут создавать сценарии, которые будут выполнять эти же действия, но, скорее всего, из другого дерева процессов. Следует создать список легитимных сценариев, запускаемых в фоновом режиме, чтобы исключить ложные срабатывания.

Результат выполнения Последовательность процессов, в результате выполнения которых процесс reg.exe был запущен из командной оболочки. Иерархия процессов будет выглядеть следующим образом: • great-grand_parent.exe • grand_parent.exe • parent.exe • reg.exe

Аналитика 1. Вызов reg.exe из командной оболочки

(source="*WinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode="1") OR (source="*WinEventLog:Security" EventCode="4688") Image="reg.exe" AND ParentImage="cmd.exe" | join left=L right=R where L.ParentProcessGuid = R.ProcessGuid [search EventCode IN (1, 4688) Image="*cmd.exe" ParentImage!="*explorer.exe"]

IDDS0024Источник и компонент данныхРеестр Windows: Создание ключа реестра WindowsОписание

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

IDDS0024Источник и компонент данныхРеестр Windows: Изменение ключа реестра WindowsОписание

Отслеживайте изменения в ключах запуска реестра, не связанные с известным ПО, циклами выпуска исправлений и другой легитимной активностью. С помощью таких инструментов, как Sysinternals Autoruns, можно обнаружить изменения в системе, в том числе в ключах автозапуска в реестре, которые могут указывать на попытки закрепления в системе .

Обнаружение изменений в ключе реестра Common Startup, расположенного в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\ и HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders. При входе пользователя в систему запускаются все файлы, хранящиеся в папке автозагрузки. Злоумышленники могут добавлять файлы так, чтобы обойти методы обнаружения, нацеленные на стандартные папки. Данный метод обнаружения отслеживает события с идентификаторами 4688 и 1, регистрирующие создание процессов, и событие с идентификатором 4657, регистрирующее модификацию ключей реестра.

Аналитика 1. Изменение папки автозагрузки по умолчанию с помощью ключа реестра Common Startup

(source="*WinEventLog:Security" EventCode="4657" ObjectValueName="Common Startup") OR (source="*WinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode="13" TargetObject="*Common Startup")