Содержание статьи
info
В тексте используются результаты, полученные в статьях «Таймлайн всего. Используем Plaso для сбора системных событий» и «Цифровой детектив. Используем Timesketch для работы с таймлайнами Plaso».
В предыдущих статьях мы научились извлекать события различного типа из образа исследуемого компьютера, формировать таймлайн, а также настроили систему совместного анализа и разобрались с ее базовыми возможностями. Если ты внимательно изучил интерфейс Timesketch, то уже понял, что эта штуковина может переварить не только файл Plaso, но и абсолютно произвольную CSV, содержащую таймлайн событий. Главное, чтобы в ней присутствовали ключевые для Timesketch поля datetime
, timestamp_desc
и message
. Таким образом, нам предоставляется шикарная возможность добавить в один таймлайн сведения из разных источников.
Чем больше источников событий (до которых Plaso просто не имеет физической возможности добраться) мы соберем, тем более точную картину произошедшего построим. Например, мы можем загрузить в наш скетч логи с сетевого файрвола, Surricata или веб‑прокси, журнал событий из Moloch или результат работы сторонних утилит, которые могут дать много полезной инфы при динамическом выполнении (типа autorunsc).
В результате порой получается довольно насыщенный таймлайн, когда на одну минуту инцидента приходится до 250 тысяч событий. И если бы у нас было 250 тысяч сотрудников, то совместный анализ был бы быстр и незатейлив. Реальность же, к сожалению, такова, что 249 997 человек еще где‑то надо найти.
Однако ИБ‑бойцы — это крайне ленивый народ. А лень, как известно, двигатель прогресса. Благодаря ей у нас появились стандарты и протоколы анализа инцидентов и такие крутые инструменты, как Yara и Snort, которые живут и развиваются за счет коллективного разума. Не так давно свет увидел новый проект, который называется Sigma. Давай разбираться, как он может облегчить нашу жизнь.
Sigma
Стартовал проект в 2016 году, и год спустя на гитхабе появился первый релиз. Создатели позиционируют свое детище так: «Sigma для логов — это как Snort для трафика или Yara для файлов». Задумывался он в качестве универсального формата описания правил детектирования, основанного на данных из логов. Еще он может служить в качестве конвертера, который позволит перевести эти правила в формат любой поддерживаемой SIEM-системы, в том числе сформировать запрос к Elasticsearch (дальше буду использовать сокращение ES). Этот конвертер работает, если для него есть соответствующий конфигурационный файл, который объясняет Sigma, как перегнать то или иное правило под конкретный бэкенд. По сути своей это обычный файл формата YAML, где указывается соответствие используемых в правилах полей реальным данным в бэкенде.
Сейчас благодаря стараниям заинтересованных людей в репозитории Sigma хранится около 1200 правил для различных ситуаций (что почти на два порядка больше имеющихся по дефолту анализаторов в Timesketch). Данные правила позволяют задетектить всякую всячину, начиная от использования mimikatz и обнаружения следов эксплуатации ProxyShell в Exchange до выявления следов работы APT-группировки Silence. В большинстве правил есть ссылки на соответствующие техники MITRE.
На нашей виртуалке с Timesketch конфигурационный файл для конвертера хранится по пути /
. Благодаря ему Sigma и работает (или иногда немножко не работает) с Timesketch. Давай заглянем в него.
$ nano /opt/timesketch/etc/timesketch/sigma_config.yaml
В разделе backends мы можем наблюдать все бэкенды, с которыми Sigma должна работать, дабы правила завелись на Timesketch:
backends:
- es-dsl - es-qs - es-qr - es-rule
А дальше идут два самых больших блока logsources
и fieldmappings
, в которых маппятся те самые типы источников логов из бэкенда на конкретные типы, используемые в правилах (посмотрим на них ниже).
В рамках интеграции Sigma в Timesketch разработчики напилили нам отдельный анализатор во вкладке Analyzer и чуть меньше месяца назад сделали одноименную вкладку с возможностью просмотреть и применить каждое отдельное правило прямо в веб‑интерфейсе.
info
Если ты помнишь, в первой статье я говорил, что установка Sysmon позволяет существенно упростить жизнь админам и криминалистам. Так вот, в Sigma почти две трети правил для Windows опираются именно на события Sysmon. К сожалению, далеко не все админы пользуются одним из самых крутых инструментов тов. М. Руссиновича. Соответственно, не удивляйся, что очень часто не все правила будут давать ожидаемый детект.
Давай клонируем себе проект, чтобы дальше было проще разбираться.
$ git clone https://github.com/SigmaHQ/sigma.git
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»