[Перевод] ELK, SIEM из OpenSource, Open Distro: Case management

В сегодняшней статье мы поставим последний кусочек пазла на его место. Мы собираемся представить вам часть нашего SOC, касающуюся управления делами. Мы использовали две технологии с открытым исходным кодом — TheHive и Cortex.

TheHive будет использоваться в качестве платформы управления оповещениями для нашего проекта, которая может управлять оповещениями об инцидентах от создания до закрытия. Между тем, Cortex — это дополнительный программный продукт от той же команды, что и TheHive, который дополняет его функцией обогащения данных с помощью своих «анализаторов» и «респондентов».

Оглавление всех постов.

6mufz0pvlpnn91iwdkguejsosgm.png

Эта статья разделена на следующие разделы:


  • Установка и настройка TheHive и Cortex.
  • Обзорные панели инструментов TheHive и Cortex
  • Интеграция Cortex с TheHive
  • Установка MISP и интеграция с TheHive
  • Расследование: ведение дела


1- Установка и настройка TheHive и Cortex:

Мы будем интегрировать TheHive 3.4.0–1 и Cortex 3.0.1–1.

TheHive требует, чтобы Elasticsearch был запущен. Для этого мы решили использовать docker-compose, чтобы запускать их вместе в контейнерах Docker. Вы также можете установить и настроить Elasticsearch вручную, если не хотите использовать Docker.

Для получения более подробной информации вы можете обратиться к:

https://github.com/TheHive-Project/TheHiveDocs/blob/master/installation/install-guide.md

Примечание. TheHive использует ElasticSearch для хранения данных. Оба программного обеспечения используют виртуальную машину Java. Мы рекомендуем использовать виртуальную машину с 8vCPU, 8 ГБ ОЗУ и 60 ГБ на диске. Вы также можете использовать физический компьютер с аналогичными характеристиками.

Давайте продолжим. Мы использовали следующий файл: docker-compose.yml для запуска Elasticsearch, TheHive и Cortex вместе в трех разных контейнерах:

version: "2" 
services: 
  elasticsearch: 
    image: elasticsearch:6.8.0 
    ports: 
      - "0.0.0.0:9200:9200" 
    environment: 
      - http.host=0.0.0.0 
      - cluster.name=hive 
      - thread_pool.index.queue_size=100000 
      - thread_pool.search.queue_size=100000 
      - thread_pool.bulk.queue_size=100000 
    ulimits: 
      nofile: 
        soft: 65536 
        hard: 65536 
  cortex: 
    image: thehiveproject/cortex:3.0.1 
    depends_on: 
      - elasticsearch 
    ports: 
      - "0.0.0.0:9001:9001" 
  thehive: 
    image: thehiveproject/thehive:3.4.0 
        depends_on: 
      - elasticsearch 
      - cortex 
    ports: 
      - "0.0.0.0:9000:9000" 
    command: --cortex-port 9001

Скопируйте / вставьте и сохраните его в docker-composer.yml и выполните эту команду:

sudo sysctl -w vm.max_map_count=524288

И наконец запустите:

docker-compose up

TheHive доступен на порту 9000/tcp, а Cortex — на порту 9001/tcp. Эти порты можно изменить, изменив файл docker-compose.

Вы можете проверить создание контейнеров, используя: docker ps –a

gvc4ayxmnaqnti3e8cun0a6bbms.png

Проверьте, отвечает ли Elasticsearch:
lbnqwwnxwtjgv-ltnvoc6evl0vo.png

Отлично! Теперь все настроено, давайте посмотрим на панель управления TheHive:


2- Обзор информационных панелей TheHive и Cortex

Перейдите по адресу: http://YOUR_IP:9001

Примечание. Не забудьте создать правила для портов 9000,9001,9200, если вы собираетесь установить эту установку в облаке.

5j-g60ew0sr2ms3kuk1n8smtl_q.png

Обновите базу данных и создайте пользователя с правами администратора:

uwdxd1dtd5yqco9senjthupd8vo.png

Войдите в систему с этим пользователем:

bwkw-ungbmmvgqm_rypmcar2pfu.png

Вуаля! Это основная панель управления TheHive:

c7xvqianywyg51qodu4kmlnmyyc.png

Давайте теперь проверим Cortex Dashboard:

http://YOUR_IP:9001

jrcjz-ajpc-pwnmexx7xvavvl8o.png

Обновите базу данных, создайте пользователя-администратора и войдите в систему, как мы это делали для TheHive.

9y3elfobiya5kdloslkwq4jdmqu.png

Отлично! Cortex работает так: ваш текущий пользователь может создавать организации и пользователей, но вы должны войти в систему под учетной записью организации, чтобы включить анализаторы и управлять ими.

Создайте новую организацию, нажав кнопку +Add Organization на этой странице.

fabu2wlc_u45vj_zu_v5lcalgto.png

Теперь переключитесь на вкладку Пользователи и нажмите +Add User.

Назначьте нового пользователя в созданную вами организацию и дайте ему роль OrgAdmin.

После сохранения нажмите »New Password» для только что созданного пользователя и введите пароль. Нажмите Enter, чтобы сохранить.

Теперь выйдите из системы и снова войдите в систему как новый пользователь.

Перейдите на вкладку Organization вверху.

bn2_wryjgjimxidbizkpvxabqgu.png

Теперь щелкните вложенную вкладку »Analyzers» в основном корпусе, а не вкладку «Analyzers», выделенную синим цветом вверху.

Если Cortex настроен правильно, вы должны увидеть свои анализаторы. На сегодняшний день у меня в наличии 124.

pbqx-prqtjarswgbrhoh6dwwdpi.png

Теперь давайте включим некоторые анализаторы для использования в дальнейшем. Оставьте настройки по умолчанию.

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


3-Интеграция Cortex с TheHive:

Перейдите на подвкладку Users и создайте нового пользователя для интеграции с TheHive. У этого пользователя должна быть роль чтения и анализа. На этот раз не устанавливайте пароль для пользователя, вместо этого нажмите »Create API Key» и скопируйте ключ. Теперь вернемся к нашему терминалу, остановим все контейнеры. Создайте файл и назовите его application.conf в своем домашнем каталоге:

d9x1toah0qummbphnv_n3qemepi.png

cortex { 
  "CORTEX-SERVER-ID" { 
    # URL of the Cortex server 
    url = "http://172.18.0.3:9001" 
    # Key of the Cortex user, mandatory for Cortex 2 
    key = "nBqA7B6BYc1kHhgAXZOYoXjBnt5vlCgM" 
  } 
}

Где url = http://your_cortex_container_ip:cortexPort

И ключ = «ключ API, который вы создали для предыдущего пользователя»

Вы можете использовать docker inspect для получения IP-адреса контейнера

Сохраните этот файл, а затем измените файл docker-compose.yml:

В разделе thehive добавьте

volumes:
- /home/your_user/application.conf:/etc/thehive/application.conf

И в команде добавьте — cortex-key <тот же api_key, который использовался в предыдущем stp>

e35wogf1twlp5zveq-ik-eg9ugs.png

Сохраните файл и выйдите из редактора.

Затем снова запустите docker-compose up.

Теперь вернитесь на панель инструментов Hive после того, как все контейнеры будут установлены, перейдите к about под своей учетной записью, вы должны увидеть:

n7wgzo6hwbkaefn5bhkn_nlhpjs.png

Как видите, мы успешно интегрировали Cortex с TheHive.


4-Установка MISP и интеграция с TheHive:


4–1 Установка MISP:

sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install mysql-client -y
curl https://raw.githubusercontent.com/MISP/MISP/2.4/INSTALL/INSTALL.sh -o misp_install.sh
chmod +x misp_install.sh
./misp_install.sh -A

Когда он запросит у вас baseurl, введите свой IP:

https://ВАШ_IP/

Когда он попросит создать пользователя «misp», введите «y».

PS: не забудьте открыть порт 80 443 на вашем компьютере.

После завершения установки перейдите по адресу https://ВАШ_IP/, вы должны получить панель аутентификации:

ulcwzmuzsvxwihkygtbuiwd3js0.png

Войдите, используя исходные учетные данные:

Имя пользователя: admin@admin.test

Пароль: admin

Затем введите новый пароль

Включите интеграцию MISP:

Перейдите на веб-страницу вашего сервера MISP> Администрирование> Добавить пользователя (MISP Server webpage > Administration > Add User)

Дайте пользователю электронное письмо. Например: cortex_integration@admin.test

Добавьте пользователя в организацию ORGNAME

Роль — пользователь (user)

Снимите все флажки внизу

Скопируйте пользовательский AuthKey

ipbihwsudnuzi3fafqe_cenc1bq.png

Перейдите в Cortex > Organization > Analyzers

В поле поиска введите «misp»

Enable «MISP_2_0»

Дайте серверу MISP описательное имя

URL = https: //

key = AuthKey от пользователя MISP, которого вы создали

cert_check: False

u91e9f9zzyfusjz3coga3qwahfs.png

Теперь перейдите на MISP server webpage > Sync Actions > List Feeds.

Найдите один из каналов, на которые вы подписаны, и нажмите на увеличительное стекло справа. Выберите IP-адрес из списка и скопируйте его.

Теперь в Cortex нажмите + New Analysis, добавьте тип данных IP и вставьте скопированный IP.

Выберите The MISP_2_0 analyzer и запустите.

На странице истории заданий нажмите «View», и вы должны увидеть имя списка, из которого вы скопировали IP-адрес, а также любую другую информацию, которую предоставляет список.

Вы можете зайти в TheHive и добавить этот IP-адрес в качестве наблюдаемого для тестирования оттуда.

5- Расследование: ведение дел с TheHive:

Ключевым элементом TheHive является расследование. TheHive стремится облегчить аналитику и обеспечить лучшее понимание между членами команды, работающими над этим. Это жизненно важно, поскольку расследование дела является основным элементом большинства расследований безопасности, независимо от того, просматриваете ли вы предупреждения, выполняете обратную разработку вредоносного ПО или работаете с заявленным инцидентом.

oxcxgeqzzfuqsykkz-gy-y-0nze.png

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

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

После создания кейса вы можете приступить к настройке задач к нему. Задачей действительно может быть что угодно, но мы рекомендуем использовать их для отслеживания действий, предпринятых для ответа на исследовательские вопросы.

Кроме того, несколько аналитиков могут работать над одним и тем же делом одновременно. Например, аналитик может заниматься анализом вредоносных программ, в то время как другой может работать над отслеживанием активности передачи маячков C2 в журналах прокси, как только их коллега добавил IOC.
abaxahkfgd4hvipeptmv5wapcjq.png

Шаблоны кейсов:

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

k6hhyyavkrhqqmmgigxq-gecoxe.png

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

Кроме того, TheHive позволяет вам создавать отдельные записи для интересных наблюдаемых в контексте случая. Наблюдаемый — это любой интересный артефакт данных. TheHive имеет несколько встроенных общих наблюдаемых типов. Сюда входят такие вещи, как IP-адреса, доменные имена, HTTP-URI и т. Д. Конечно, вы также можете определить свои собственные типы, которые делают эту возможность довольно гибкой.

0l45vqkhlwm4yo_g1ydzawptc-0.png

Отслеживание наблюдаемых дает множество преимуществ. Самым очевидным является то, что вы можете искать их во время более поздних расследований, чтобы добавить дополнительный контекст. Вы также можете экспортировать их для последующего импорта в черный список, белый список или механизмы обнаружения. Наконец, вы можете использовать встроенную интеграцию Cortex для автоматической отправки наблюдаемых на любое количество исследовательских сайтов OSINT. Это очень простой процесс, и в первую очередь вам нужно ввести ключи API для каждой службы, которую вы будете использовать. Некоторые из существующих интеграций включают Passive Total, Virus Total и Domain Tools.

Когда вы будете готовы закрыть обращение, нажмите кнопку «Закрыть» в строке заголовка обращения:

hxevceoxe78ap0ki08uosbyuegi.png

Вы можете выбрать истинно положительный, ложный положительный результат и т. Д.

© Habrahabr.ru