Привет, Хаброжители! Мы открыли предзаказ на книгу «Охота за киберугрозами» Надема аль-Фардана. Предлагаем ознакомиться с отрывком «Процесс охоты за угрозами».
Процесс охоты за угрозами состоит из трех этапов: подготовки, проведения охоты и коммуникации. В следующих подразделах они будут рассмотрены подробнее.
Подготовка
Для подготовки к охоте были предприняты следующие шаги (рис. 3.8).
Информация, предоставленная красной командой, послужила поводом для запуска охоты.
Охотник решил подготовить новый сценарий охоты.
Охотник использовал стандартный шаблон сценария охоты, представленный в главе 2 и демонстрируемый далее в этом разделе.
В качестве основного источника данных для охоты использовалась Sysmon, события которой собирались на конечных точках.
Sysmon-события были собраны и сохранены в хранилище данных Humio.
Охотник за угрозами получил доступ к этому хранилищу и мог выполнять поиск Sysmon-событий через веб-интерфейс Humio. Скорость выполнения поисковых запросов была приемлемой.

В рамках этапа подготовки охотник документирует сценарий охоты.
Название. Охота на вредоносные процессы, запущенные из Microsoft Office.
Идентификатор. Hunt-Play-Win-01.
Вводная. Внешняя красная команда, нанятая организацией, смогла обойти средства предотвращения и обнаружения атак. Она подготовила документ Microsoft Word со встроенной вредоносной нагрузкой, вложила его в письмо и разослала пользователям. При открытии файла нагрузка выполнялась автоматически. Содержащийся внутри код обходил существующие средства защиты на компьютерах пользователей под управлением Windows 10 и оставался не замеченным антивирусом. Кроме того, другие средства мониторинга не сгенерировали оповещений для команды центра безопасности (SOC).
Гипотеза. Предполагается, что злоумышленник успешно провел атаку с целевой фишинговой рассылкой, заставив пользователей скачать и открыть файл Microsoft Word. При открытии документа выполнялся вредоносный код, что позволило компрометировать конечную систему.
Область. Охватывает все конечные точки Microsoft.
-
Прием 1. Создание тщательно подготовленного письма с целевой фишинговой атакой, побуждающего пользователей перейти по встроенной ссылке и скачать вредоносный документ Microsoft Word. Действие соответствует подтехнике MITRE ATT&CK T1566.002 «Фишинг: целевой фишинг со ссылкой».
Процедура. Пользователю отправляется письмо со ссылкой для загрузки документа Microsoft Office.
Источники данных и события. События Sysmon в Windows.
-
Прием 2. Запуск из Microsoft Office Word командной оболочки Windows (cmd). Действие соответствует подтехнике MITRE ATT&CK T1059.003 «Интерпретаторы командной строки и сценариев: командная оболочка Windows».
Процедура. Microsoft Office запускает командную оболочку.
Источники данных и события. События Sysmon в Windows.
-
Прием 3. Microsoft Office Word запускает PowerShell или создает PowerShell-скрипт, которые затем выполняются. Действие соответствует подтехнике MITRE ATT&CK T1059.001 «Интерпретаторы командной строки и сценариев: PowerShell».
Процедура. Microsoft Office запускает PowerShell или создает файл PowerShell-скрипта с расширением .ps1.
Источники данных и события. События программы Sysmon в Windows.
-
Ссылки.
MITRE ATT&CK Command and Scripting Interpreter: Windows Command Shell, T1059.003 (https://attack.mitre.org/techniques/T1059/003).
MITRE ATT&CK Command and Scripting Interpreter: PowerShell, T1059.001 (https://attack.mitre.org/techniques/T1059/001).
MITRE ATT&CK Phishing: Spearphishing Link, T1566.002 (https://attack.mitre.org/techniques/T1566/002).
Проведение охоты
Рассмотрим шаги, которые мы предприняли в ходе охоты (рис. 3.9).
Мы начали с поисковых запросов, соответствующих процедурам, определенным на этапе планирования. Некоторые из них не дали результатов.
На основе собранных фактов нам удалось подтвердить гипотезу.
На одном из этапов расследования угроз мы зарегистрировали новый инцидент безопасности и передали его команде реагирования.
На скорую руку мы проверили, распространилась ли угроза на другие системы, но поиск не дал результатов. Пострадала только одна конечная точка. В следующих главах мы проведем более глубокое исследование, чтобы оценить масштаб атаки.

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

Завершая нашу первую охоту, стоит задать несколько вопросов.
Можно ли автоматизировать некоторые поисковые запросы, которые мы выполняли в ходе этого расследования? Например, найдя первую зацепку, можем ли мы настроить автоматизацию поиска, чтобы сопоставлять события атаки во времени: что было раньше и что произошло позже, без запуска отдельных запросов? Это сэкономило бы время и усилия.
У нас не было возможности отследить активность целевой фишинговой рассылки, так как соответствующие события не фиксировались. Как сделать так, чтобы в будущем эти события регистрировались и были доступны охотнику?
В ходе поиска нам не удалось найти некоторые события Sysmon, потому что на конечных точках они изначально не фиксировались согласно настройкам Sysmon. Стоит ли попросить системного администратора внести изменения в файл конфигурации Sysmon? Сколько усилий потребуют такие коррективы и как они повлияют на конечные точки, хранилища данных и сеть?
Ответы на эти вопросы помогут эффективнее планировать и проводить будущие расследования. Их мы еще обсудим в следующих главах.
События Sysmon в Microsoft Windows
Системный монитор (Sysmon) из набора Sysinternals — один из самых информативных источников данных Windows для команд мониторинга защищенности и охотников за угрозами. Этот бесплатный инструмент работает как системная служба и драйвер устройства в Windows, не входит в стандартную установку ОС. После загрузки Sysmon остается активным даже после перезапуска системы, отслеживая и протоколируя системные действия в журнал событий Windows. Важно отметить: Sysmon не анализирует события, а лишь предоставляет детализированные данные для последующей обработки.
Возможности программы Sysmon
Инструмент Sysmon поддерживает важные функции мониторинга системы.
Протоколирует запуск процессов, включая полную командную строку, как для текущего, так и для родительского процессов.
Извлекает хеш файлов образа процесса, поддерживая алгоритмы SHA1 (по умолчанию), MD5, SHA256 и IMPHASH.
Помогает сопоставлять события, даже если Windows повторно использует идентификаторы процессов, добавляя GUID процесса к событиям ProcessCreate.
Помогает сопоставлять события в рамках одной пользовательской сессии, добавляя GUID сессии и обеспечивая точное отслеживание всех действий в течение этой сессии.
При необходимости фиксирует сетевые подключения, протоколируя процесс-источник, IP-адреса, порты, имена узлов и служб.
Отслеживает изменения во время создания файлов, выявляя, когда файл был действительно создан, поскольку вредоносные программы часто изменяют метки даты, чтобы скрыть активность.
Поддерживает динамическую фильтрацию правил, позволяя при необходимости включать/исключать определенные события.
В табл. 3.1 приведены типы Sysmon-событий и их идентификаторы.
Таблица 3.1. Типы событий Sysmon в Windows
Тип Sysmon-события |
ID Sysmon-события |
Изменение состояния службы Sysmon |
0 |
Создание процесса (ProcessCreate) |
1 |
Время создания файла (FileCreateTime) |
2 |
Сетевое подключение (NetworkConnect) |
3 |
Изменение состояния службы Sysmon (Service State Change) |
4 |
Завершение процесса (ProcessTerminate) |
5 |
Загрузка драйвера (DriverLoad) |
6 |
Загрузка образа (ImageLoad) |
7 |
Создание потока в другом процессе (CreateRemoteThread) |
8 |
Прямой доступ на чтение (RawAccessRead) |
9 |
Доступ к процессу (ProcessAccess) |
10 |
Создание файла (FileCreate) |
11 |
Добавление или удаление объекта реестра (RegistryEvent — Object create and delete) |
12 |
Установка значения реестра (RegistryEvent Value Set) |
13 |
Переименование объекта реестра (RegistryEvent — Key and Value Rename) |
14 |
Создание файлового потока (FileCreateStreamHash) |
15 |
Изменение конфигурации Sysmon (ServiceConfigurationChange) |
16 |
Создание именованного канала (PipeEvent — Pipe Created) |
17 |
Подключение к именованному каналу (PipeEvent Pipe Connected) |
18 |
Фильтр события WMI (WMI Event Filter) |
19 |
Получатель события WMI (WMI Event Consumer) |
20 |
Связь WMI Consumer с Filter (WMI Event ConsumerToFilter) |
21 |
DNS-запрос (DNS Query) |
22 |
Удаление файла (File Delete) |
23 |
Захват буфера обмена (Clipboard Capture) |
24 |
Подмена процесса (Process Tampering) |
25 |
Обнаружено удаление файла (File Delete Detected) |
26 |
Обнаружение и блокировка создания исполняемых файлов (File Block Executable) |
27 |
Обнаружение и блокировка затирания данных (File Block Shredding) |
28 |
Обнаружение создания нового исполняемого файла (File Executable Detected) |
29 |
Ошибка (Error) |
255 |
Таблица 3.1 охватывает широкий спектр событий, которые регистрирует Sysmon, и именно поэтому она считается одним из лучших источников данных для охоты за угрозами. Но у работы этого ПО есть и своя цена. Далее будет приведен пример Sysmon-события типа 1 — создание процесса. Sysmon-события протоколируются в XML-формате и занимают довольно много дискового пространства, поэтому при сборе через SIEM-системы возрастает нагрузка на ресурсы памяти и увеличиваются лицензионные отчисления, которые часто рассчитываются исходя из объема собираемых данных. Одно событие занимает около 2 Кбайт. В зависимости от активности системы и выбранной конфигурации сервер с установленной Sysmon способен генерировать очень большие объемы данных с такими сведениями.
В крупной организации могут быть сотни и даже тысячи серверов Windows. Все Sysmon-события пересылаются в хранилище данных, где анализируются в рамках мониторинга защищенности и охоты за угрозами. Однако при выбранной технологии хранения такой объем информации потребует значительных ресурсов памяти и может серьезно увеличить расходы на лицензии SIEM.
При установке Sysmon важно подключить файл конфигурации, в котором фиксируются наиболее важные и значимые события в рамках мониторинга защищенности и охоты за угрозами. В частности, в стандартном конфигурационном файле Sysmon события сетевого мониторинга не собираются. С помощью собственных конфигурационных файлов вы можете отфильтровывать лишние события и сократить объем собираемых данных.
СОВЕТ Хороший шаблон для создания собственного файла конфигурации Sysmon можно найти в репозитории пользователя SwiftOnSecurity (https://mng.bz/4pBj). Он постоянно поддерживает образец в актуальном состоянии и снабдил его подробными комментариями, которые объясняют каждый тип Sysmon-события и логику включения/исключения конкретных записей. Еще один полезный ресурс — репозиторий https://github.com/olafhartong/sysmon-modular, хранящий множество фильтров для настройки сбора событий Sysmon.
Охотники за угрозами должны хорошо понимать, как работает Sysmon и какая конфигурация сбора событий используется в организации. Хотя установка и администрирование этого инструмента не входят в их обязанности, им важно быть в курсе и при необходимости участвовать в обсуждении настроек.
ПРИМЕЧАНИЕ В этой книге в процессе охоты за угрозами мы используем файлы конфигурации Sysmon, основанные на шаблоне пользователя SwiftOnSecurity, упомянутом в совете выше.
Поиск событий Sysmon
При поиске событий Sysmon поисковые запросы лучше создавать, ориентируясь на релевантные поля. Например, события типа 11 (FileCreate) содержат поля Image и TargetFilename, тогда как в типах 1 (ProcessCreate) или 3 (NetworkConnect) их нет.
В процессе охоты обычно комбинируют функции поиска: по полям и полнотекстового. В расследовании угроз, которое мы рассматривали в этой главе, мы выполняли поиск по полям — например, по CommandLine в Sysmon-событиях типа 1. Мы также применяли полнотекстовый поиск, при котором анализируется содержимое исходного события и ищутся совпадения со строкой. Так, мы проверяли все события Sysmon на наличие упоминаний файла www.ps1. Охотникам за угрозами, работающим в средах с Sysmon, важно хорошо разбираться в типах событий, а также том, какие поля в них доступны.
Упражнения
Во время охоты за угрозами удалось обнаружить инцидент в системе безопасности, заключающийся в установлении исходящих соединений для загрузки файлов с расширением .dll (www1.dll, www2.dll, www3.dll, www4.dll и www5.dll).
Найдите Sysmon-события, относящиеся к сетевым соединениям.
Определите процесс, который инициировал исходящие сетевые соединения, найденные в пункте 1.
Определите целевые IP-адреса и порты этих соединений.
Обновите временну́ю шкалу с учетом полученных данных.
Скачайте файл с событиями из репозитория главы 3 на GitHub (https://mng.bz/QVxv) и загрузите их в используемое вами хранилище данных. Sysmon-события сохранены в формате JSON, поэтому их легко анализировать с помощью таких инструментов, как Splunk, Elasticsearch или Humio.
СОВЕТ Ищите Sysmon-события с EventID 3.
Оформить предзаказ на книгу «Охота за киберугрозами» со скидкой 35% можно на нашем сайте по промокоду - Предзаказ