Список идентификаторов событий Sysmon

Этот статья создана для демонстрации возможностей ведения журнала Sysmon с разбивкой по идентификаторам событий. Идентификаторы будут захвачены в контексте и сопоставлены с их разделом конфигурации sysmon-modular для возможностей настройки.

Содержание

Репозиторий sysmon-modular: https://github.com/olafhartong/sysmon-modular

Итак, что такое файл конфигурации Sysmon? Конфигурационный файл (для краткости) содержит директивы, которые определяют, что именно Sysmon записывает в журналы. Возьмем, к примеру, следующую выборку конфигурационного файла, который я создал с помощью sysmon-modular для этой статьи.

Идентификатор события 1: Создание процесса

Идентификатор события 1: Создание процесса

В предыдущей директиве конфигурации указано, что в событии Event ID 1, Process Creation, должно быть сопоставлено одно из перечисленных изображений. Это даже близко не полный список имен изображений, перечисленных в блоке конфигурации Event ID 1 в modular. Выбор предназначен для демонстрации возможностей sysmon modular. Итак, давайте установим Sysmon и посмотрим.

Идентификатор события 1: Создание процесса

И пусть bitsadmin попробует загрузить файл для нас.

Идентификатор события 1: Создание процесса

Простое выполнение команды bitsadmin привело к следующему совпадению с предыдущим снимком экрана. Если вы уделите немного времени и прокрутите страницу до модульной конфигурации, то заметите еще один интересный момент. Раздел конфигурации каждого изображения включает потенциальную карту MITRE ATT&CK. Как показано ниже и сопоставлено выше, использование образа Bitsadmin.exe совпадает с T1197, задания BITS (https://attack.mitre.org/techniques/T1197/).

Идентификатор события 1: Создание процесса

Идентификатор события 2: процесс изменил время создания файла

Эта техника называется "Timestomping", ниже есть ссылка на страницу MITRE.

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

https://attack.mitre.org/techniques/T1070/006/

Идентификатор события 3: Сетевые подключения

Событие ID 3 предназначено для документирования сетевых соединений. Установленные имена образов и типы соединений из модульной конфигурации затем приводят к маппингу техники. На следующем снимке экрана мы видим RDP-соединение с рабочей станции на другой IP-адрес вне подсети. Хотя это безопасное соединение, мы видим, что техника MITRE ATT&CK сопоставлена с T1021 (удаленные службы).

Идентификатор события 3: Сетевые подключения

Идентификаторы событий 4, 5: изменения в службе Sysmon

Идентификатор события 4 не подлежит фильтрации. Оно сообщается в случае изменения состояния службы Sysmon.

Идентификаторы событий 4, 5: изменения в службе Sysmon

Событие Sysmon ID 5, похоже, является редким событием. Я смог вызвать это событие, перезапустив службу Sysmon.

Идентификаторы событий 4, 5: изменения в службе Sysmon

Судя по файлу модульной конфигурации, образы должны были загружаться и выгружаться из userland, temp или \Windows\temp.

Идентификаторы событий 4, 5: изменения в службе Sysmon

Идентификатор события 6: Драйвер загружен

Событие ID 6 также было редким. Оно описывается как "Driver Loaded", и системы в этой конкретной сети не сообщали о событиях Sysmon с идентификатором 6 за последние 24 часа.

Идентификатор события 7: Образ загружен

Идентификатор события 7 охватывает операции загрузки образов и процессы, которые их выполняют.

Это событие было маппингом к T1073 (DLL Side-Loading), который был упразднен вместо T1574.002. Родительской техникой в данном случае является Hijack Execution Flow, а подтехникой - DLL Side-Loading.

Ссылка: https://attack.mitre.org/techniques/T1574/002/

Хотя технически MS Defender "загружает" DLL, это отличная возможность для знакомства с теорией настройки событий. В этой ситуации мы должны просмотреть каталоги модульной конфигурации, структуру и убедиться, что мы понимаем, как sysmon-modular был разработан для обработки именно этой ситуации. Возьмем следующий снимок экрана, где есть и исключающий, и включающий оператор - они должны существовать в отдельных RuleGroups.

Идентификатор события 7: Образ загружен

Чтобы исключить образ MpCmdRun.exe из блока конфигурации события ID 7, нам пришлось создать совершенно новую RuleGroup, иначе при обновлении файла конфигурации возникла бы ошибка. Еще один момент, который следует отметить, - это отсутствие явного раздела конфигурации "Event ID ##", правила обрабатываются по спискам, которые мы можем сопоставить с оперативным журналом sysmon (показано ниже).

Идентификатор события 7: Образ загружен

Например, чтобы создать новые RuleGroups для идентифицированных правил, используем синтаксис, подобный следующему.

Идентификатор события 8: CreateRemoteThread

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

Идентификатор события 8: CreateRemoteThread

Другое событие заслуживает внимания и выглядит следующим образом.

Идентификатор события 8: CreateRemoteThread

Идентификатор события 9: RawAccessRead

Событие с идентификатором 9 относится к категории событий RawAccessRead. Когда "процесс выполняет операции чтения с диска, используя обозначение \\\.\". Это же событие указано сайте Sysinternals для sysmon.

Ссылка: https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon

Идентификатор события 10: ProcessAccess

Event ID 10 - очень интересное событие, которое значится как ProcessAccess. Это происходит, когда образ запрашивает "priv" для доступа к другому процессу. Как показано на следующем снимке экрана, MS Defender попросил заглянуть в LSASS, и система предоставила соответствующий доступ.

Идентификатор события 10: ProcessAccess

Идентификатор события 11: События создания файлов

Идентификатор события 11 охватывает события создания файлов. Это может быть очень полезно для обнаружения, криминалистики и расследований. При наличии некоторых базовых правил создания файлов Sysmon EID11 может служить системой раннего предупреждения об операциях записи в пользовательском пространстве.

Небольшое отступление, чтобы дать определение понятию "пользовательское пространство".

Пользовательская область или пространство пользователя (существительное):

Идентификатор события 11: События создания файлов

В контексте вычислительной техники это может относиться ко всему коду, который выполняется в процессах с низкими привилегиями, вне контекста администратора или ядра. В ограничительных средах пользователи должны иметь ограниченные привилегии для записи на диск рабочей станции, обычно это местоположение C:\users\%username%\ или, в некоторых случаях, перенаправление пользовательского местоположения на сетевые ресурсы.

Как показано на следующем снимке экрана, события создания файлов .bat и .cmd записываются на диск.

Создание файлов .cmd и .bat записывается на диск.

Идентификатор события 11: События создания файлов

Идентификаторы событий 12, 13, 14: объекты реестра

Эти идентификаторы событий связаны с событиями в реестре.

  • RegObject added/deleted (HKLM / HKU)
  • RegValue set (DWORD / QWORD дополнения)
  • Переименование объекта реестра

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

Идентификаторы событий 12, 13, 14: объекты реестра

Идентификаторы событий 12 и 13 встречались относительно часто и, вероятно, нуждаются в некоторой настройке.

Идентификатор события 15: FileCreateStreamHash

Событие ID 15 охватывает события, связанные с файловыми потоками, как правило, загрузками через веб-браузер. Как показано ниже, мы видим, как chrome.exe загружает файл build_collector.py из архива CrackMap. Обратите внимание на файл zone.identifier, выделенный в содержимом события и упоминаемый на странице Sysinternals для sysmon как "метка веба".

Идентификатор события 15: FileCreateStreamHash

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

Идентификатор события 16: Изменение конфигурации Sysmon

Очень простой для интерпретации идентификатор события - EID16: Sysmon Config Change.

Идентификатор события 16: Изменение конфигурации Sysmon

Идентификаторы событий 17 и 18: События Pipe

Эти идентификаторы событий относятся к событиям Pipe .

Идентификатор события 17: Pipe создана

Идентификатор события 18: Pipe подключен

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

Конфигурация Sysmon modular для этих идентификаторов событий - это исключение первой операции. Некоторые общие нарушители событий перечислены в результирующем файле конфигурации, показанном ниже.

Идентификаторы событий 17 и 18: События Pipe

Ссылка: https://docs.microsoft.com/en-us/dotnet/standard/io/how-to-use-named-pipes-for-network-interprocess-communication

Идентификаторы событий 19, 20, 21: события WMI

EID19 WMIEventFilters

EID20 WMIEventConsumer

EID21 WMIEventConsumertoFilter

События WMI могут быть шумными и зависеть от среды. Включение полного протоколирования WMI может привести к большому количеству журналов. Параметры конфигурации по умолчанию для модульной системы включают события, в которых любой из EventFilters, EventConsumers или EventConsumertoFilters указан как созданный в содержимом создаваемого события.

Идентификаторы событий 19, 20, 21: события WMI

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

Идентификатор события 22: DNS Events

События DNS полезны, а в сочетании с событием ID 3, событиями сетевых подключений и записи файлов могут помочь составить полную картину. Однако....... как и многое другое в сети, эти события могут быть очень шумными. Модульный подход к решению этой проблемы заключается в исключении известных доменов и регистрации остальных.

Идентификатор события 22: DNS Events

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

Идентификатор события 22: DNS Events

Идентификатор события 23: Удаление файлов

Это событие стало еще одним очень интересным дополнением к семейству событий Sysmon! Как сказал бы криминалист, "покажите мне вредоносное ПО". Многие хакеры убирают за собой, а этот инструмент позволяет нам сохранять архивные копии, когда файлы создаются в определенных пространствах (userland) и впоследствии удаляются, поэтому событие ID 23 - FileDelete.

Идентификатор события 23: Удаление файлов

Это событие оказалось сложнее вызвать, чем я предполагал до изучения структуры конфигурации sysmon modular. Рассмотрим, например, раздел \Downloads\ в конфиге.

Я попытался создать файлы, соответствующие этим расширениям (перехваченные EID 11), а затем удалить их. Это не привело к ожидаемым событиям. После изучения параметров конфигурации groupRelation выяснилось, что проблема заключается в логическом операторе "и". После изменения файла конфигурации и обновления локальной операционной установки я смог вызвать EID23 при заданных условиях. По состоянию на 28 декабря 2020 года модульное репо могло использовать запрос на исправление этого логического недостатка. Исправление оказалось простым, как показано ниже ("или", а не "и").

Ниже показана подборка отфильтрованных журналов событий.

Идентификатор события 23: Удаление файлов

Идентификатор события 24: Изменения буфера обмена

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

Идентификатор события 24: Изменения буфера обмена

Идентификатор события 25: Фальсификация процессов

В 13-й версии Sysmon добавлена функция подделки процессов для борьбы с техникой герпадерпинга процессов Джонни Шоу (основанной на вскрытии и т.д.). Чтобы убедиться в том, что эта техника будет поймана, после компиляции проекта я использовал скомпилированный файл ProcessHerpaderping.exe и выполнил его.

Идентификатор события 25: Фальсификация процессов

Как показано на предыдущем снимке экрана, я использовал ProcessHerpaderping.exe вместе с mimikatz.exe для создания файла sysmon.exe, начиненного сигнатурными битами lsass.exe.

В результате получается capture!!!!. Теперь мы все можем поймать подделку процесса.

Но давайте посмотрим на обратную сторону этого процесса. Сначала мы рассмотрели событие Event ID 25, Process Tampering. Но первое событие, Event ID 1, зафиксировало событие создания процесса. Как показано ниже, мы также видим частичную командную строку. Возможный IOC? Извините за следующий снимок, для удобства чтения я его обрезал - но здесь вся команда:

.\ProcessHerpaderping.exe mimikatz.exe sysmon25.exe C:\Windows\System32\lsass.exe

Идентификатор события 25: Фальсификация процессов

Мы также видим .exe, созданный этим процессом, в идентификаторе события 11: Создание файла.

Идентификатор события 25: Фальсификация процессов

Глядя на окно просмотра событий, становится ясно, что перед выполнением сработали какие-то флажки, и, как минимум, мы должны быть в состоянии помочь команде криминалистов разобраться в том, что произошло.

Идентификатор события 25: Фальсификация процессов

Идентификатор события 26: обнаружение удаления файлов

Допустим, противник хочет замести следы, удалив свои артефакты. Этот идентификатор события кажется мне либо EID23 (удаление архива), либо EID26 (удаление файла). Действительно, если архивировать все подряд, можно увеличить местоположение архива до неприличных размеров. Но, возможно, это именно то, что вам нужно. В таком случае выбирайте Event ID 23 и архивируйте те удаления, которые соответствуют логике вашего файла конфигурации. В противном случае, если все, что вы хотите знать, - это когда пользователи удаляют соответствующие файлы, выберите Event ID 26.

Идентификатор события 26: обнаружение удаления файлов

Идентификатор события 27: Исполняемый файловый блок

Это одно из моих любимых дополнений к движку Sysmon. Невероятно внятный ответ на основную проблему: мы не хотим, чтобы наши пользователи скачивали exe-файлы из Интернета. Следующий фрагмент конфигурационного файла блокирует exe, загруженные в c:\users\*\Downloads. Обратите внимание, что приведенный ниже фрагмент конфигурации охватывает изменения конфигурации, необходимые для EID 27 и EID 28.

Идентификатор события 27: Исполняемый файловый блок

Предположим, я пытаюсь загрузить файл из Интернета, например Chrome.exe. Отказано. Игра окончена. Легко и просто.

Идентификатор события 27: Исполняемый файловый блок

Мы обсудили права пользователя и права на запись, административный доступ и множество связанных с этим тем. Давайте сведем все к следующему - пользователи должны иметь ограниченные права на запись в свои локальные системы. Чем лучше конфигурация пользовательского пространства, тем проще будет реализовать эту защиту. Ограничив права на запись на диск, вы также сузили фокус оптики в Sysmon. Эта демонстрация полностью полагалась на конфигурацию браузера по умолчанию, загружающего .exe в C:\users\someuser\Downloads\ и могла быть легко обойдена. Ограничьте доступ к записи и настройте эти места для отказа с помощью Sysmon.

Идентификатор события 28: измельчение файловых блоков

Это последний идентификатор события, добавленный в Sysmon, который был разработан для того, чтобы запретить инструментам уничтожения, таким как sdelete, уничтожать файлы на диске. В качестве примера ниже мы видим, как противник пытается уничтожить вредоносный файл Firefox Installer.exe из каталога загрузок. Sysmon вмешался и запретил эту операцию.

Идентификатор события 28: измельчение файловых блоков

В журналах событий мы видим следующее: Sysmon заблокировал операцию.

Идентификатор события 28: измельчение файловых блоков

Идентификатор события 29: Исполняемый файловый блок

Этот идентификатор события был разработан для перехвата исполняемых файлов, особенно в формате PE, который включает EXE, DLL и объектный код. Конфигурационный файл также нужно будет обновить, и, как всегда, Олаф и Falcon Force располагают необходимыми битами для правильной реализации. При тестировании нам пришлось добавить фрагмент под биты <include>, чтобы покрыть пользовательскую среду по адресу c:\users\.

Идентификатор события 29: Исполняемый файловый блок

Тестирование трех конкретных условия. Загрузку файла с помощью Edge, который был пойман.

Идентификатор события 29: Исполняемый файловый блок

Попытка скопировать файл через RDP-сессию с помощью Explorer и тоже попались.

Идентификатор события 29: Исполняемый файловый блок

Наконец, мы также использовали PowerShell для перемещения скопированного файла в новое имя. И здесь мы попались.

Идентификатор события 29: Исполняемый файловый блок

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

Идентификатор события 255: Ошибки

Идентификатор события 255: Ошибки

Заключение

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

 

Понравилась статья? Поделиться с друзьями:
Добавить комментарий