
ThePhish: автоматизированный инструмент анализа фишинговых писем
ThePhish — это автоматизированный инструмент анализа фишинговых писем на основе TheHive, Cortex и MISP. Это веб-приложение, написанное на Python 3 и основанное на Flask, которое автоматизирует весь процесс анализа, начиная с извлечения наблюдаемых данных из заголовка и тела письма и заканчивая выработкой вердикта, который в большинстве случаев является окончательным. Кроме того, оно позволяет аналитику вмешиваться в процесс анализа и при необходимости получать дополнительные сведения об анализируемом письме. Для взаимодействия с TheHive и Cortex используются TheHive4py и Cortex4py — это клиенты Python API, которые позволяют использовать REST API, предоставляемые TheHive и Cortex соответственно.
На следующей диаграмме показана работа ThePhish на высоком уровне:
Этот пример призван продемонстрировать, как пользователь может отправить письмо в ThePhish для анализа и как аналитик может фактически проанализировать это письмо с помощью ThePhish.
Пользователь может отправить письмо на адрес электронной почты, используемый ThePhish для получения писем для анализа. Письмо необходимо переслать в виде вложения в формате EML, чтобы предотвратить загрязнение заголовка письма. В данном случае используется почтовый клиент Mozilla Thunderbird, а адрес электронной почты — Gmail.
Аналитик переходит на веб-страницу ThePhish и нажимает кнопку «List emails», чтобы получить список писем для анализа.
Когда аналитик нажимает кнопку «Analyze», соответствующую выбранному письму, запускается анализ, и его ход отображается на веб-интерфейсе.
Тем временем ThePhish извлекает наблюдаемые данные (URL-адреса, домены, IP-адреса, адреса электронной почты, вложения и хэши этих вложений) из письма, а затем взаимодействует с TheHive для создания инцидента.
Внутри инцидента создаются три задачи.
Затем ThePhish начинает добавлять извлеченные наблюдаемые данные в инцидент.
На этом этапе пользователь уведомляется по электронной почте о начале анализа благодаря ответному действию Mailer.
Описание первой задачи позволяет ответному действию Mailer отправить уведомление по электронной почте.
После закрытия первой задачи запускается вторая задача, и анализаторы запускаются на наблюдаемых данных. Ход анализа отображается на веб-интерфейсе во время запуска анализаторов.
Ход анализа также можно просматривать в TheHive с помощью его прямой трансляции.
После завершения выполнения всех анализаторов вторая задача закрывается и запускается третья, после чего ThePhish вычисляет вердикт. Поскольку вердикт — «вредоносный», все наблюдаемые данные, признанные вредоносными, помечаются как IoC. В данном случае только одно наблюдаемое помечается как IoC.
Затем инцидент экспортируется в MISP как событие с единственным атрибутом, представленным указанным выше наблюдаемым.
Затем ThePhish отправляет вердикт по электронной почте пользователю с помощью ответного действия Mailer.
Наконец, закрываются и задача, и инцидент. Описание третьей задачи позволяет ответному действию Mailer отправить вердикт по электронной почте. Кроме того, инцидент был закрыт через пять минут и разрешен как «True Positive» с «No Impact», что означает, что атака была обнаружена до того, как она могла нанести какой-либо ущерб.
После закрытия инцидента вердикт доступен аналитику на веб-интерфейсе вместе с полным журналом хода анализа.
На этом этапе аналитик может вернуться назад и проанализировать другое письмо. Вышеописанный случай был связан с фишинговым письмом, но аналогичный рабочий процесс можно наблюдать, когда анализируемое письмо классифицируется как «безопасное». Действительно, инцидент закрывается, и вердикт отправляется пользователю по электронной почте.
Затем вердикт также отображается аналитику на веб-интерфейсе.
С другой стороны, когда письмо классифицируется как «подозрительное», вердикт отображается аналитику только на веб-интерфейсе.
На этом этапе аналитику необходимо использовать кнопки в левой части страницы, чтобы использовать TheHive, Cortex и MISP для дальнейшего анализа. Это связано с тем, что анализ еще не завершен, поэтому пользователь уведомляется только о том, что анализ письма, которое он переслал в ThePhish, был начат. Действительно, последняя задача и инцидент еще не закрыты, поскольку их должен закрыть сам аналитик после выработки окончательного вердикта.
Аналитик может просматривать отчеты всех анализаторов в TheHive и Cortex, и если этого оказалось недостаточно, он также может загрузить EML-файл письма и проанализировать его вручную.
Когда аналитик завершает анализ, он может заполнить тело письма для отправки пользователю в описании последней задачи, запустить ответное действие Mailer, экспортировать инцидент в MISP, если вердикт «вредоносный», нажав кнопку «Export», и затем закрыть инцидент.
ThePhish — это веб-приложение, написанное на Python 3. Веб-сервер реализован с использованием Flask, а внешняя часть приложения, представляющая собой динамическую страницу, написанную на HTML, CSS и JavaScript, реализована с использованием Bootstrap. Помимо модуля веб-сервера, внутренняя логика приложения состоит из трех модулей Python, которые инкапсулируют логику самого приложения, и класса Python, используемого для поддержки функции ведения журнала через протокол WebSocket. Если вы хотите увидеть графическое представление логики приложения, нажмите здесь. Кроме того, существует несколько файлов конфигурации, используемых вышеупомянутыми модулями, которые служат различным целям.
Когда аналитик переходит по базовому URL-адресу приложения, загружается веб-страница ThePhish и устанавливается двунаправленное соединение с сервером. Это делается с помощью JavaScript-библиотеки Socket.IO на веб-странице, которая обеспечивает связь в реальном времени, двунаправленную и основанную на событиях между браузером и сервером. Это соединение устанавливается через WebSocket, когда это возможно, и будет использовать HTTP long polling в качестве запасного варианта. Для этого серверное приложение использует Python-библиотеку Flask-SocketIO, которая обеспечивает интеграцию Socket.IO для приложений Flask. Затем это соединение используется ThePhish для отображения хода анализа на веб-интерфейсе.
Каждый раз, когда аналитик выполняет действие на веб-интерфейсе, на сервер отправляется AJAX-запрос, который является асинхронным HTTP-запросом, позволяющим обмениваться данными с сервером в фоновом режиме и обновлять страницу без ее перезагрузки. Это позволяет аналитику как просматривать список писем для анализа, так и запускать анализ.
ThePhish взаимодействует с TheHive и Cortex с помощью TheHive4py и Cortex4py. Кроме того, он взаимодействует с IMAP-сервером для получения писем для анализа.
Поскольку установка и настройка служб TheHive, Cortex и MISP с нуля для производственной среды может быть не совсем простой, TheHive Project предоставляет образы Docker и шаблоны Docker Compose здесь для упрощения процедуры установки. Для простоты предоставленные шаблоны сделаны простыми, без предоставления всех параметров конфигурации каждого образа Docker.
Если вы хотите только опробовать ThePhish или хотите быстро запустить его, вы можете использовать предоставленный шаблон Docker в папке docker, который является модифицированной версией одного из шаблонов Docker, предоставленных TheHive Project, который также позволяет создать контейнер ThePhish. Чтобы установить ThePhish с помощью Docker и Docker Compose, обратитесь к этому руководству. Я настоятельно рекомендую установить его таким образом хотя бы в первый раз, чтобы вы могли изучить основы и то, как его настроить с минимальной конфигурацией, которая должна работать с первой попытки. Действительно, вышеупомянутое руководство также предоставляет пошаговую процедуру настройки экземпляров TheHive, Cortex и MISP.
Это руководство относится только к установке ThePhish, которая требует:
Для установки, настройки и интеграции экземпляров TheHive, Cortex и MISP обратитесь к их официальной документации:
Желательно, чтобы адрес электронной почты, с которого ThePhish получает письма для анализа, был адресом Gmail, так как именно с ним ThePhish тестировался больше всего. Предпочтительно, чтобы учетная запись была новосозданной, с единственной целью — использоваться ThePhish. Процедура активации пароля приложения, необходимого ThePhish для подключения к почтовому ящику и получения писем, описана здесь.
Эта процедура установки была протестирована на виртуальной машине под управлением Ubuntu 20.04.3 LTS с установленным Python 3.8 и версиями TheHive, Cortex и MISP, указанными в этом файле docker-compose.yml.
После того как TheHive, Cortex и MISP настроены и прослушивают определенный URL-адрес, а адрес электронной почты готов к использованию, вы можете установить и настроить ThePhish.
Клонируйте репозиторий
$ git clone https://github.com/emalderson/ThePhish.git
Создайте виртуальное окружение Python и активируйте его (это хорошая практика, но необязательно)
$ cd ThePhish/app
$ sudo apt install python3-venv
$ python3 -m venv venv
$ source venv/bin/activate
Установите зависимости
$ pip install -r requirements.txt
Добавьте функцию run_responder() в файл api.py TheHive4py
Чтобы отправлять письма пользователю, ThePhish использует ответное действие Mailer. Поскольку ThePhish использует TheHive4py для взаимодействия с TheHive, необходима функция, позволяющая запускать ответное действие по его ID. К сожалению, этой функции пока нет в TheHive4py, но был сделан pull request для ее добавления в TheHive4py (#219). Ожидая его добавления, ее необходимо добавить вручную с помощью следующей команды для корректной работы ThePhish (замените версию Python в команде, если используете другую версию Python):
$ (cat << _EOF_
def run_responder(self, responder_id, object_type, object_id):
req = self.url + "/api/connector/cortex/action"
try:
data = json.dumps({ "responderId": responder_id, "objectType": object_type, "objectId": object_id})
return requests.post(req, headers={"Content-Type": "application/json"}, data=data, proxies=self.proxies, auth=self.auth, verify=self.cert)
except requests.exceptions.RequestException as e:
raise TheHiveException("Responder run error: {}".format(e))
_EOF_
) | tee -a venv/lib/python3.8/site-packages/thehive4py/api.py > /dev/null
<ul class="navbar-nav text-light" id="accordionSidebar">
<li class="nav-item"><a class="nav-link active" href="/" style="max-width: 114px;" target="_blank" rel="noopener noreferrer"><img class="img-fluid" data-bss-hover-animate="bounce" src="https://raw.githubusercontent.com/emalderson/thephish/static/assets/img/logo_rounded.png" style="margin-top: 0px;margin-left: 0px;"></a></li>
<li class="nav-item"><a class="nav-link" href="http://thehive:9000" style="max-width: 114px;" target="_blank" rel="noopener noreferrer"><img class="img-fluid" data-bss-hover-animate="bounce" src="https://raw.githubusercontent.com/emalderson/thephish/static/assets/img/thehive.png" style="margin-right: 0px;margin-left: 0px;"></a></li>
<li class="nav-item"><a class="nav-link" href="http://cortex:9001" style="max-width: 114px;" target="_blank" rel="noopener noreferrer"><img class="img-fluid" data-bss-hover-animate="bounce" src="https://raw.githubusercontent.com/emalderson/thephish/static/assets/img/cortex.png" style="transform: translate(0px);"></a></li>
<li class="nav-item"><a class="nav-link" href="https://misp" style="max-width: 114px;" target="_blank" rel="noopener noreferrer"><img class="img-fluid" data-bss-hover-animate="bounce" src="https://raw.githubusercontent.com/emalderson/thephish/static/assets/img/misp.png" style="transform: translate(0px);"></a></li>
</ul>
$ python3 thephish_app.py
Сервером, который будет использоваться для запуска приложения, является WSGI-сервер, предоставляемый eventlet, поскольку он указан в зависимостях. Он необходим для работы протокола WebSocket, чтобы избежать перехода на HTTP long polling. Без eventlet будет использоваться стандартный WSGI-сервер Flask (Werkzeug). Если вы хотите использовать другой WSGI-сервер (например, Gunicorn) или обратный прокси (например, NGINX), в документации Flask-SocketIO объясняется, как это сделать.
Теперь приложение должно быть доступно по адресу http://localhost:8080.
⚠️ Предупреждение: Если вы используете Mozilla Firefox для работы с ThePhish и по какой-то причине во время анализа появляется сообщение об ошибке, решение можно найти здесь.
ThePhish может запустить анализатор или ответчик, только если он включен и правильно настроен в Cortex. Эта часть документации объясняет, как их включить, а эта часть перечисляет доступные анализаторы и ответчики с их параметрами конфигурации. Следует отметить, что хотя многие анализаторы бесплатны, некоторые требуют специального доступа, а другие — действительной подписки на услуги или лицензии на продукт.
Каждый анализатор выдает отчет в формате JSON, который содержит уровень вредоносности для наблюдаемого объекта, который может быть "info", "safe", "suspicious" или "malicious". Однако, хотя структура отчета обычно следует соглашению, это соглашение соблюдается не всегда. Более того, после анализа кода многих анализаторов и проведения нескольких тестов, в некоторых анализаторах были обнаружены ошибки. По этой причине были использованы некоторые корректировки и обходные пути, чтобы либо все же получить уровни вредоносности, предоставляемые этими анализаторами, либо предотвратить сбой приложения из-за этих ошибок.
Кроме того, эти уровни не всегда отражают реальный уровень вредоносности наблюдаемого объекта. Поскольку это зависит от того, как запрограммированы сами анализаторы, ThePhish поставляется с дополнительным файлом конфигурации под названием analyzers_level_conf.json, с помощью которого можно создать сопоставление между фактическими уровнями вредоносности, предоставляемыми любым анализатором, и уровнями, установленными аналитиком. Помимо этого, файл позволяет аналитику выбрать типы наблюдаемых объектов, к которым должны применяться эти изменения. Файл должен соответствовать структуре, показанной в следующем примере, используя точное название настраиваемых анализаторов и желаемый уровень справа. Если анализатор не указан в этом файле, то предоставляемые им уровни вредоносности остаются без изменений.```json
{
"DomainMailSPFDMARC_Analyzer_1_1" : {
"dataType" : ["url", "ip", "domain", "mail"],
"levelMapping" : {
"malicious" : "suspicious",
"suspicious" : "suspicious",
"safe" : "safe",
"info" : "info"
}
},
"MISP_2_1" : {
"dataType" : ["url", "ip", "domain", "mail"],
"levelMapping" : {
"malicious" : "malicious",
"suspicious" : "malicious",
"safe" : "safe",
"info" : "info"
}
}
}
В этом примере уровень «suspicious» для анализатора *MISP_2_1* повышается до «malicious», поскольку это указывает на то, что некоторые наблюдаемые объекты в текущем анализируемом письме уже были замечены в ранее проанализированном письме, вердикт которого был «malicious». И наоборот, уровень «malicious» анализатора *DomainMailSPFDMARC_Analyzer_1_1* понижается до «suspicious», так как многие легитимные домены не имеют настроенных записей DMARC и SPF.
Вы можете добавлять или удалять анализаторы в этом файле по своему усмотрению, но я рекомендую оставить те, которые уже присутствуют в файле, нетронутыми, поскольку эти изменения были мотивированы многочисленными тестами, проведенными на большом количестве различных писем.
### Протестированные анализаторы
ThePhish был протестирован со следующими анализаторами:
- AbuseIPDB_1_0
- AnyRun_Sandbox_Analysis_1_0
- CyberCrime-Tracker_1_0
- Cyberprotect_ThreatScore_3_0
- *DomainMailSPFDMARC_Analyzer_1_1*
- DShield_lookup_1_0
- EmailRep_1_0
- FileInfo_8_0
- Fortiguard_URLCategory_2_1
- IPinfo_Details_1_0
- **IPVoid_1_0**
- KasperskyThreatIntelligencePortal_1_0
- Maltiverse_Report_1_0
- *Malwares_GetReport_1_0*
- *Malwares_Scan_1_0*
- MaxMind_GeoIP_4_0
- MetaDefenderCloud_GetReport_1_0
- *MISP_2_1*
- NERD_1_0
- *Onyphe_Summary_1_0*
- OTXQuery_2_0
- PassiveTotal_Enrichment_2_0
- *PassiveTotal_Malware_2_0*
- PassiveTotal_Osint_2_0
- PassiveTotal_Ssl_Certificate_Details_2_0
- PassiveTotal_Ssl_Certificate_History_2_0
- PassiveTotal_Unique_Resolutions_2_0
- PassiveTotal_Whois_Details_2_0
- PhishTank_CheckURL_2_1
- **Pulsedive_GetIndicator_1_0**
- *Robtex_Forward_PDNS_Query_1_0*
- *Robtex_IP_Query_1_0*
- *Robtex_Reverse_PDNS_Query_1_0*
- Shodan_DNSResolve_1_0
- **Shodan_Host_1_0**
- **Shodan_Host_History_1_0**
- Shodan_InfoDomain_1_0
- **SpamhausDBL_1_0**
- StopForumSpam_1_0
- *Threatcrowd_1_0*
- UnshortenLink_1_2
- **URLhaus_2_0**
- Urlscan_io_Scan_0_1_0
- *Urlscan_io_Search_0_1_1*
- VirusTotal_GetReport_3_1
- VirusTotal_Scan_3_1
- Yara_2_0
Анализаторы, выделенные *курсивом*, — это те, для которых были изменены уровни (но которые можно переопределить, хотя это не рекомендуется), в то время как анализаторы, выделенные **жирным шрифтом**, — это те, которые обрабатываются непосредственно в коде ThePhish либо потому, что они не соблюдают соглашение о структуре отчета, либо из-за наличия ошибок. Кроме того, следующие анализаторы обрабатываются в коде ThePhish для их оптимального использования:
- **DomainMailSPFDMARC_Analyzer_1_1**: запускается только на доменах, которые предположительно могут отправлять электронные письма.
- **MISP_2_1**: используется для интеграции с MISP.
- **UnshortenLink_1_2**: запускается перед любым другим анализатором для URL, чтобы сократить ссылку и добавить сокращенную ссылку в качестве дополнительного наблюдаемого объекта.
- **Yara_2_0**: это единственный анализатор, который запускается на вложении EML.
### Включение анализатора *MISP*
Для интеграции Cortex с MISP необходимо активировать анализатор *MISP_2_1* и настроить его с помощью ключа аутентификации пользователя, созданного в MISP, который Cortex будет использовать для взаимодействия с MISP. Это означает, что перед этим в MISP должны быть созданы организация и пользователь с ролью `sync_user` в этой организации (вы можете узнать, как это сделать и получить ключ аутентификации [здесь (документация ThePhish, рекомендуется)](https://github.com/emalderson/ThePhish/tree/master/docker#configure-the-misp-container) или [здесь (документация MISP)](https://www.circl.lu/doc/misp/administration/#users)).
### Включение анализатора *Yara*
Если вы хотите использовать анализатор *Yara_2_0*, вы должны создать на машине, где работает Cortex, папку, содержащую:
- Yara-правила, где каждое правило представлено файлом с расширением `.yar`
- Файл с именем `index.yar`, который содержит одну строку для каждого Yara-правила в этой папке, соответствующую синтаксису: `include "yara_rule_name.yar"`
Затем необходимо указать путь к этой папке в Cortex. Например, если вы создали папку `yara_rules` по пути `/opt/cortex`, то вам нужно настроить путь `/opt/cortex/yara_rules` в Cortex (через веб-интерфейс).
## Включение ответчика *Mailer*
Для отправки электронных писем пользователям необходимо включить и правильно настроить ответчик *Mailer*. Процедура включения ответчика идентична процедуре включения анализатора. Если вы используете адрес Gmail, вот правильные параметры для настройки:
- from: `<ВашGmailEmailАдрес>`
- smtp_host :`smtp.gmail.com`
- smtp_port: `587`
- smtp_user: `<ВашGmailEmailАдрес>`
- smtp_pwd: `<ПарольПриложенияВашегоГмаилАдреса>`
## Использование белого списка
ThePhish позволяет создавать белый список, чтобы избежать анализа наблюдаемых объектов, которые могут вызывать ложные срабатывания или которые аналитик решает не учитывать во время анализа. Белый список содержится в файле с именем `whitelist.json` и состоит из множества различных списков, что обеспечивает большую гибкость как в отношении типов сопоставляемых наблюдаемых объектов, так и в отношении режимов сопоставления. Поддерживаются следующие режимы сопоставления:
- Точное сопоставление строк для адресов электронной почты, IP-адресов, URL, доменов, имен файлов, типов файлов и хешей
- Сопоставление по регулярному выражению для адресов электронной почты, IP-адресов, URL, доменов и имен файлов
- Сопоставление по регулярному выражению для поддоменов, адресов электронной почты и URL, содержащих указанные домены
Ниже показан пример игрушечного файла `whitelist.json`.```json
{
"exactMatching": {
"mail" : [],
"ip" : [
"127.0.0.1",
"8.8.8.8",
"8.8.4.4"
],
"url" : [],
"domain" : [
"adf.ly",
"paypal.com"
],
"filename" : [],
"filetype" : [
"application/pdf"
],
"hash" : []
},
"domainsInSubdomains" : [
"paypal.com"
],
"domainsInURLs" : [
"paypal.com"
],
"domainsInEmails" : [
"paypal.com"
],
"regexMatching" : {
"mail" : [],
"ip" : [
"10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}",
"172\\.16\\.\\d{1,3}\\.\\d{1,3}",
"192\\.168\\.\\d{1,3}\\.\\d{1,3}"
],
"url" : [],
"domain" : [],
"filename" : []
}
}
В то время как части, связанные с точным сопоставлением и сопоставлением по регулярным выражениям, используются без изменений, остальные части используются для создания ещё трёх списков регулярных выражений. Вам не нужно разрабатывать сложные регулярные выражения для включения этих функций — достаточно лишь добавить домены в соответствующие списки, и ThePhish сделает всё остальное. Например, в приведённом выше примере фильтруется не только домен "paypal.com", но и любой поддомен, URL-адрес и адрес электронной почты, содержащие домен "paypal.com". Эти регулярные выражения разработаны для предотвращения нежелательного поведения, например, они не позволяют ошибочно включить в белый список такие домены, как "paypal.com.attacker.com".
Примечание: Если вы добавите домен в раздел "domainsInSubdomains", то сам домен также будет отфильтрован. Поэтому добавлять один и тот же домен в список доменов в разделе "exactMatching" нет необходимости. Различие сделано для случаев, когда нужно включить в белый список только домен, а не его поддомены. Таким образом, в этом примере включение "paypal.com" в оба списка избыточно.
Файл белого списка, предоставленный в этом репозитории, уже содержит некоторые белые наблюдаемые объекты, но это всего лишь пример; вы можете (и должны) редактировать его в соответствии со своими потребностями, удаляя или добавляя элементы.
ThePhish использует замечательную функцию TheHive — возможность экспорта случая в MISP как события. Это позволяет использовать анализатор MISP_2_1 для поиска соответствия между наблюдаемым объектом в случае и атрибутом одного из этих событий в MISP. К сожалению, на ранних этапах разработки ThePhish функция, позволяющая делать это через API на Python, ещё не была доступна в TheHive4py. По этой причине был создан pull request (#187) для TheHive4py с целью добавления такой функциональности. Pull request был принят, и функция export_to_misp() была добавлена в веху 1.8.0 TheHive4py.
ThePhish сильно зависит от анализаторов, предоставляемых Cortex. Чтобы они продолжали работать должным образом, создаются pull request'ы в репозиторий, который их содержит. Вот обновлённый список таких pull request'ов:
ThePhish — это программное обеспечение с открытым исходным кодом и бесплатное, выпущенное под лицензией AGPL (Affero General Public License).
Этот проект начался в 2020 году, и его ранняя неполная версия была представлена в качестве итоговой работы для окончания Cybersecurity HackAdemy организованного Университетом Неаполя имени Федерико II. За это я хотел бы поблагодарить Roberto Celletti за первоначальную идею и мою команду, в состав которой входили gianpor, MrFelpon и xdinax, которые помогли мне на ранних этапах разработки приложения с первоначальным развёртыванием и первыми тестами.
Затем я полностью переработал инструмент с точки зрения функциональности, логотипа и пользовательского интерфейса, добавил поддержку Docker и написал подробную документацию, чтобы представить её в качестве дипломной работы для получения степени магистра в области компьютерной инженерии в 2021 году в Университете Неаполя имени Федерико II под руководством Simon Pietro Romano (spromano).
Я также хотел бы поблагодарить Xavier Mertens (xme) за разработку IMAP2TheHive и публикацию его на GitHub, поскольку это стало искрой, приведшей к разработке данного проекта, и послужило источником вдохновения для кода ThePhish.
Конфигурация
Файл configuration.json является глобальным файлом конфигурации, который позволяет задать параметры для подключения к почтовому ящику и к экземплярам TheHive, Cortex и MISP. Он также позволяет задать параметры, связанные с инцидентами, которые будут создаваться в TheHive.
{
"imap" : {
"host" : "imap.gmail.com",
"port" : "993",
"user" : "",
"password" : "",
"folder" : "inbox"
},
"thehive" : {
"url" : "http://thehive:9000",
"apikey" : ""
},
"cortex" : {
"url" : "http://cortex:9001",
"apikey" : "",
"id" : "local"
},
"misp" : {
"id" : "MISP THP"
},
"case" : {
"tlp" : "2",
"pap" : "2",
"tags" : ["email", "ThePhish"]
}
}
Вы можете узнать, как создать организацию и пользователя с ролью org-admin в этой организации на TheHive и получить его API-ключ здесь (документация ThePhish, рекомендуется) или здесь (документация TheHive). Аналогично, вы можете узнать, как создать организацию и пользователя с ролями read, analyze в этой организации на Cortex и получить его API-ключ здесь (документация ThePhish, рекомендуется) или здесь (документация Cortex).
URL-адреса и ID, указанные в этом файле, должны совпадать с теми, что указаны в файле конфигурации TheHive с именем application.conf, который содержит часть, относящуюся к Cortex, и часть, относящуюся к MISP. Параметры, которые следует искать, — это name и url в обеих частях, которые соответствуют ID и URL-адресам экземпляров Cortex и MISP. ID также можно найти в окне «About» на веб-интерфейсе TheHive. Пример, где ID Cortex — строка local, а ID MISP — строка MISP THP, показан на следующем рисунке:
Файл application.conf используется для интеграции TheHive с Cortex и MISP. Вы можете узнать, как настроить интеграцию с Cortex здесь (документация ThePhish, рекомендуется) или здесь (документация TheHive), а для интеграции с MISP вы можете перейти сюда (документация ThePhish, рекомендуется) или сюда (документация TheHive).URL-адреса, по которым доступны экземпляры TheHive, Cortex и MISP, также следует заменить в файле templates/index.html, чтобы кнопки на веб-интерфейсе могли до них добраться. Для этого замените последние три href в следующем фрагменте кода: