В мире, где кибератаки становятся все более изощренными, традиционные методы защиты, основанные на пассивном ожидании срабатывания систем безопасности, уже недостаточны. Современная киберзащита требует смены парадигмы: от реактивного реагирования на инциденты к проактивному поиску угроз. Именно здесь на сцену выходит Threat Hunting (Охота на угрозы) — дисциплина, которая превращает специалистов по безопасности из пассивных наблюдателей в активных охотников. Это не просто просмотр логов; это искусство и наука выслеживания злоумышленников, которые уже могли проникнуть в вашу сеть и умело обходят автоматизированные средства защиты.
Охотник на угрозы исходит из предположения, что компрометация уже произошла. Его задача — найти доказательства этого, следуя по едва заметным цифровым следам, которые оставляет после себя атакующий. Это непрерывный и итеративный процесс, требующий глубоких знаний, интуиции и правильных инструментов.
Методология Threat Hunting: от гипотезы к обнаружению
В основе эффективной охоты на угрозы лежит гипотезо-ориентированный подход (Hypothesis-Driven Threat Hunting). Вместо того чтобы бесцельно просматривать терабайты логов в надежде наткнуться на что-то подозрительное, охотник формулирует конкретную, проверяемую гипотезу. Эти гипотезы строятся на основе данных Threat Intelligence, глубокого понимания тактик, техник и процедур (TTPs) атакующих, а также досконального знания собственной IT-инфраструктуры.
Пример формулирования гипотезы:
"Я предполагаю, что атакующий, получив первоначальный доступ, может попытаться извлечь хеши паролей сервисных учетных записей с помощью техники Kerberoasting. Для проверки этой гипотезы мне необходимо проанализировать логи безопасности контроллеров домена на предмет событий с Event ID 4769, где тип шифрования тикета — RC4 (0x17). При этом запросы должны исходить от учетных записей, не являющихся компьютерами (имя не заканчивается на символ $), так как легитимные сервисы редко используют устаревшее шифрование RC4".
Такой подход позволяет сфокусировать усилия и использовать ресурсы максимально эффективно.
Пошаговый процесс охоты на угрозы (Фреймворк PEAK)
Один из популярных фреймворков для структурирования процесса охоты — PEAK (Prepare, Execute, Act with Knowledge).
- Подготовка (Prepare): На этом этапе определяется цель охоты. Собираются актуальные данные Threat Intelligence, анализируется матрица MITRE ATT&CK для выбора релевантных техник, и проверяется наличие и доступность необходимых источников данных (логов). Без качественных данных даже самая лучшая гипотеза бесполезна.
- Выполнение (Execute): Это фаза активной охоты. Гипотеза проверяется с помощью SIEM-запросов, PowerShell-скриптов, EDR-решений или других аналитических инструментов. Охотник ищет аномалии, отклонения от базового уровня (baseline) и паттерны, характерные для предполагаемой техники атаки.
- Действие (Act with Knowledge): Просто найти угрозу недостаточно. Все находки должны быть тщательно задокументированы. На основе полученных знаний создаются новые правила детектирования для автоматизации обнаружения в будущем, устраняются пробелы в видимости (например, включается дополнительное логирование), а результаты и выводы передаются команде SOC (Security Operations Center) для улучшения общей защищенности.
Охота на популярные техники из матрицы MITRE ATT&CK
Матрица MITRE ATT&CK — это бесценный ресурс для любого охотника, представляющий собой глобальную базу знаний о тактиках и техниках злоумышленников. Рассмотрим, как охотиться на некоторые из самых распространенных техник.
T1558.003: Kerberoasting
- Описание угрозы: Kerberoasting — это атака, при которой злоумышленник, уже находясь в сети, запрашивает у контроллера домена Kerberos-тикеты для различных сервисных учетных записей (Service Principal Names, SPN). Хеш пароля этой учетной записи внедряется в тикет. Получив его, атакующий может в оффлайн-режиме пытаться подобрать пароль, не рискуя быть заблокированным.
- Гипотеза охоты: Злоумышленник с низкопривилегированной учетной записью запрашивает за короткий промежуток времени множество TGS-тикетов с устаревшим типом шифрования RC4, который легко поддается брутфорсу.
- События для мониторинга:
- Event ID 4769 (Запрошен билет на службу Kerberos) на контроллере домена.
- Ключевые поля для анализа:
- Ticket Encryption Type: 0x17 (RC4-HMAC).
- Ticket Options: 0x40810000.
- Account Name: Не должно заканчиваться на $ (исключаем учетные записи компьютеров).
- Service Name: Не должно заканчиваться на $.
SIEM-запрос (Splunk SPL):
index=windows sourcetype=WinEventLog:Security EventCode=4769 Ticket_Encryption_Type=0x17 Ticket_Options=0x40810000 NOT Account_Name="*$" NOT Service_Name="*$" | stats count by Account_Name, Service_Name, src_ip | where count > 10- Усиление детектирования (Honeypot): Создайте фиктивную сервисную учетную запись с высоким уровнем привилегий в названии (например, svc_sql_admin) и назначьте ей SPN. Установите для нее очень сложный и длинный пароль и настройте аудит. Любой запрос Kerberos-тикета для этой учетной записи является стопроцентным индикатором атаки.
T1003.001: LSASS Memory Dumping
- Описание угрозы: Процесс lsass.exe (Local Security Authority Subsystem Service) хранит в оперативной памяти учетные данные пользователей, вошедших в систему (хеши паролей, Kerberos-тикеты). Злоумышленники используют инструменты вроде Mimikatz или легитимные системные утилиты (procdump.exe, Диспетчер задач) для создания дампа памяти этого процесса и последующего извлечения учетных данных.
- Гипотеза охоты: Нетипичный процесс (например, procdump.exe или даже svchost.exe) получает доступ к памяти процесса lsass.exe для ее чтения.
- События для мониторинга (требуется Sysmon):
- Sysmon Event ID 10 (ProcessAccess): Ищите доступ к TargetImage="*lsass.exe" с правами GrantedAccess=0x1010 или 0x1410.
- Sysmon Event ID 11 (FileCreate): Ищите создание файлов с расширением .dmp.
- Sysmon Event ID 7 (ImageLoad): Процесс lsass.exe загружает нетипичные DLL, такие как dbghelp.dll или dbgcore.dll.
SIEM-запрос (Splunk SPL):
index=sysmon EventCode=10 TargetImage="*lsass.exe" (GrantedAccess=0x1010 OR GrantedAccess=0x1410) | table _time, SourceImage, SourceProcessId, TargetImage, GrantedAccess, Computer | sort -_timeДетектирование Mimikatz через логи PowerShell: При включенном Script Block Logging (Event ID 4104), ищите в логах PowerShell характерные для Mimikatz команды.
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-PowerShell/Operational'; ID=4104} | Where-Object { $_.Message -match "mimikatz|sekurlsa::logonpasswords|lsadump::sam|kerberos::ptt" }
T1021.002: Боковое перемещение через SMB/PsExec
- Описание угрозы: Скомпрометировав одну систему, атакующие стремятся расширить свое присутствие в сети. Один из самых популярных методов — использование протокола SMB и утилит типа PsExec для создания и запуска удаленных сервисов на других хостах.
- Гипотеза охоты: С одного хоста инициируется сетевой вход (Logon Type 3) на другой хост, после чего на целевом хосте практически сразу создается новая служба.
- События для мониторинга:
- Event ID 4624 (Успешный вход в систему) с Logon Type 3 (Network).
- Event ID 7045 (Служба была установлена в системе) в журнале System.
- Event ID 4697 (Служба была установлена в системе) в журнале Security.
SIEM-запрос (Microsoft Sentinel KQL):
SecurityEvent | where EventID in (7045, 4697) | where ServiceName matches regex @"(PSEXESVC|Admin\$|BTOBTO)" or (ImagePath has ".exe" and ImagePath contains "\\") | project TimeGenerated, Computer, Account, ServiceName, ImagePath | sort by TimeGenerated descДля повышения точности следует коррелировать эти события с предшествующими им событиями входа (Event ID 4624) с того же исходного IP-адреса.
T1003.003: Атака DCSync
- Описание угрозы: DCSync — это чрезвычайно опасная атака, при которой злоумышленник, обладающий необходимыми правами, имитирует поведение контроллера домена и запрашивает у другого КД данные для репликации. Это позволяет ему получить хеши паролей всех пользователей домена, включая хеш учетной записи krbtgt, что равносильно полной компрометации Active Directory.
- Гипотеза охоты: Учетная запись, не являющаяся контроллером домена, выполняет запрос на репликацию объектов каталога с использованием привилегий DS-Replication-Get-Changes-All.
- События для мониторинга:
- Event ID 4662 (Была выполнена операция над объектом) на контроллере домена.
- Фильтры для анализа:
- Object Server: DS.
- Properties содержит GUID 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 (DS-Replication-Get-Changes-All).
- Account Name не заканчивается на $ (запрос исходит не от имени компьютера/другого КД).
SIEM-запрос (Microsoft Sentinel KQL):
SecurityEvent | where EventID == 4662 | where EventData contains "1131f6ad-9c07-11d1-f79f-00c04fc2dcd2" // DS-Replication-Get-Changes-All | where Account !endswith "$" | project TimeGenerated, Computer, Account, IpAddress
Техники "Living Off the Land" (LOLBAS)
Атакующие все чаще используют легитимные, предустановленные в операционной системе утилиты для своих целей. Этот подход называется "Living Off the Land" (Жизнь за счет земли), а бинарные файлы — LOLBins. Такой метод значительно усложняет обнаружение, так как активность маскируется под обычные административные задачи.
- Популярные LOLBins для мониторинга:
- PowerShell.exe: Выполнение безфайловых атак, загрузка вредоносов, разведка.
- Certutil.exe: Загрузка и декодирование файлов.
- Bitsadmin.exe: Фоновая загрузка/выгрузка файлов.
- Wmic.exe: Удаленное выполнение команд, сбор информации о системе.
- Rundll32.exe: Запуск вредоносного кода из DLL в обход белых списков приложений.
Охота с помощью PowerShell Event ID 4104 (Script Block Logging): Этот журнал — золотая жила для охотника. Он записывает полный текст выполненных блоков PowerShell-скриптов.
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-PowerShell/Operational'; ID=4104} | Where-Object { $_.Message -match "DownloadString|Invoke-Expression|IEX|EncodedCommand|-enc|FromBase64String|System.Reflection.Assembly" }Поиск этих ключевых слов поможет выявить попытки обфускации, безфайлового выполнения и загрузки вредоносного кода.
Практические рекомендации для Blue Team
1. Настройте качественное логирование
Охота невозможна без данных. Убедитесь, что вы собираете и централизованно храните логи из следующих источников:
- Windows Event Logs:
- Security: 4624/4625 (входы), 4688 (создание процессов с командной строкой), 4720 (создание пользователя), 4769 (запросы Kerberos), 4662 (доступ к объектам AD).
- System: 7045 (установка служб).
- PowerShell/Operational: 4104 (логирование блоков скриптов).
- Sysmon: Это бесплатный инструмент от Microsoft, который обеспечивает детализированное логирование системной активности. Обязательно отслеживайте:
- Event ID 1 (Создание процесса).
- Event ID 3 (Сетевое соединение).
- Event ID 10 (Доступ к процессу).
- Event ID 13 (Изменение в реестре).
- Дополнительные источники: Логи DNS-запросов, межсетевых экранов, прокси-серверов, VPN-концентраторов.
2. Автоматизируйте рутину с помощью Sigma
Sigma — это универсальный формат для написания правил детектирования, который не зависит от конкретной SIEM-системы. Вы можете написать правило один раз, а затем сконвертировать его в запрос для Splunk, Elastic, QRadar, Microsoft Sentinel и др. Это позволяет делиться правилами с сообществом и быстро внедрять новые методики обнаружения.
Пример Sigma-правила для Kerberoasting:
title: Kerberoasting via RC4 Encryption logsource: product: windows service: security detection: selection: EventID: 4769 TicketEncryptionType: '0x17' filter: AccountName|endswith: '$' condition: selection and not filter level: high tags: - attack.credential_access - attack.t1558.003
3. Снижайте количество ложных срабатываний (False Positives)
- Создайте baseline: Определите, что является нормальной активностью для вашей сети. Какое количество сетевых входов в час является нормой? Какие процессы обычно обращаются к lsass.exe?
- Используйте allowlist (белые списки): Исключите из правил детектирования легитимные административные скрипты и программное обеспечение.
- Коррелируйте события: Ищите не отдельные аномалии, а цепочки событий, которые вместе составляют картину атаки.
Threat Hunting — это не временная мера, а непрерывный цикл совершенствования защиты. Он превращает вашу команду безопасности из пассивной защиты в проактивную силу, способную обнаруживать угрозы, которые обходят автоматизированные системы. Каждая охота, даже если она не приводит к обнаружению злоумышленника, ценна. Она помогает выявить пробелы в видимости, протестировать существующие средства контроля и углубить понимание собственной инфраструктуры.
Ключевые принципы успешной охоты:
- Мыслите как атакующий: Формулируйте гипотезы на основе техник из MITRE ATT&CK.
- Используйте многоуровневое детектирование: Комбинируйте данные из разных источников.
- Автоматизируйте то, что можно автоматизировать: Превращайте успешные гипотезы в правила детектирования.
- Непрерывно обучайтесь: Каждая охота должна делать вашу защиту сильнее.
В условиях, когда современные атакующие способны скомпрометировать сеть и развернуть программу-вымогатель за считанные часы, скорость обнаружения становится критически важной. Threat Hunting — это именно тот инструмент, который позволяет сократить время пребывания злоумышленника в сети (dwell time) с месяцев до дней или даже часов, минимизируя потенциальный ущерб.