
Быстрый поиск и анализ артефактов криминалистики Windows
Chainsaw предоставляет мощную возможность «первого реагирования» для быстрого выявления угроз в артефактах криминалистики Windows, таких как журналы событий и файл MFT. Chainsaw предлагает универсальный и быстрый метод поиска по журналам событий по ключевым словам, а также выявление угроз с использованием встроенной поддержки правил обнаружения Sigma и пользовательских правил обнаружения Chainsaw.
Дополнительную информацию можно найти в Wiki для этого инструмента: https://github.com/WithSecureLabs/chainsaw/wiki
В WithSecure Countercept мы получаем широкий спектр источников телеметрии с конечных точек через нашего EDR-агента для предоставления услуги управляемого обнаружения и реагирования. Однако бывают обстоятельства, когда нам нужно быстро проанализировать артефакты криминалистики, которые не были захвачены нашим EDR; распространённый пример — расследования реагирования на инциденты в инфраструктуре, где наш EDR не был установлен на момент компрометации. Chainsaw был создан, чтобы предоставить нашим охотникам за угрозами и консультантам по реагированию на инциденты инструмент для быстрой сортировки артефактов криминалистики в таких обстоятельствах.
Журналы событий Windows являются богатым источником криминалистической информации для охоты за угрозами и расследований реагирования на инциденты. К сожалению, обработка и поиск по журналам событий могут быть медленным и трудоёмким процессом, и в большинстве случаев требуют накладных расходов на окружающую инфраструктуру — такую как стек ELK или экземпляр Splunk — для эффективной охоты по данным журналов и применения логики обнаружения. Эти накладные расходы часто означают, что blue teams не могут быстро провести сортировку журналов событий Windows, чтобы обеспечить направление и выводы, необходимые для продвижения их расследований. Chainsaw решает эту проблему, поскольку позволяет быстро искать и охотиться по журналам событий Windows.
На момент написания существует очень мало открытых автономных инструментов, которые предоставляют простой и быстрый метод сортировки журналов событий Windows, выявления интересных элементов в журналах и применения формата правил логики обнаружения (такого как Sigma) для обнаружения признаков вредоносной активности. В наших тестах существовавшие инструменты с трудом справлялись с эффективным применением логики обнаружения к большим объёмам журналов событий, что делало их непригодными для сценариев, где требуется быстрая сортировка.
Используя параметры --sigma и --mapping, вы можете указать каталог, содержащий подмножество правил обнаружения SIGMA (или просто весь git-репозиторий SIGMA), и chainsaw автоматически загрузит, преобразует и запустит эти правила против предоставленных журналов событий. Файл сопоставления сообщает chainsaw, какие поля в журналах событий использовать для сопоставления правил. По умолчанию Chainsaw поддерживает широкий спектр типов журналов событий, включая, но не ограничиваясь:
| Тип события | ID события |
|---|---|
| Создание процесса (Sysmon) | 1 |
| Сетевые подключения (Sysmon) | 3 |
| Загрузка образов (Sysmon) | 7 |
| Создание файла (Sysmon) | 11 |
| События реестра (Sysmon) | 13 |
| Блоки скриптов Powershell | 4104 |
| Создание процесса | 4688 |
| Создание запланированной задачи | 4698 |
| Создание службы | 7045 |
См. файл сопоставления для полного списка полей, используемых для обнаружения правил, и не стесняйтесь расширять его под свои нужды.
В дополнение к поддержке правил sigma, Chainsaw также поддерживает пользовательский формат правил. В репозитории вы найдёте каталог rules, содержащий различные правила Chainsaw, которые позволяют пользователям:
С выпуском Chainsaw v2 мы решили больше не включать репозитории Sigma Rules и EVTX-Attack-Samples в качестве подмодулей Chainsaw. Мы рекомендуем клонировать эти репозитории отдельно, чтобы убедиться, что у вас последние версии.
Если вам всё ещё нужен универсальный пакет, содержащий бинарный файл Chainsaw, правила Sigma и примеры журналов событий, вы можете скачать его из раздела релизов этого GitHub-репозитория. В этом разделе релизов вы также найдёте предварительно скомпилированные версии Chainsaw только в виде бинарных файлов для различных платформ и архитектур.
Если вы хотите скомпилировать Chainsaw самостоятельно, вы можете клонировать репозиторий Chainsaw:
git clone https://github.com/WithSecureLabs/chainsaw.git
и скомпилировать код самостоятельно, выполнив: cargo build --release. После завершения сборки вы найдёте копию скомпилированного бинарного файла в папке target/release.
Обязательно собирайте с флагом --release, так как это обеспечит значительно более быстрое время выполнения.