
Модульный OSINT-хонтипот для специалистов синих команд
Manuka — это honeypot для разведки на основе открытых источников (OSINT), который отслеживает попытки разведки со стороны угроз и генерирует полезную информацию для синей команды. Он создаёт симулированную среду, состоящую из подготовленных OSINT-источников, таких как профили в социальных сетях и утекшие учётные данные, и отслеживает признаки интереса противника, тесно согласуясь с фреймворком MITRE PRE-ATT&CK. Manuka предоставляет синей команде дополнительную видимость фазы разведки до атаки и генерирует сигналы раннего предупреждения для защитников.
Хотя они различаются по масштабу и сложности, большинство традиционных honeypot сосредоточены на сетях. Эти honeypot выявляют атакующих на этапах 2 (Создание оружия) – 7 (Достижение целей) киберцепочки атаки, предполагая, что атакующие уже зондируют сеть.

Manuka осуществляет обнаружение OSINT-угроз на этапе 1 (Разведка) киберцепочки атаки. Несмотря на многомиллионные инвестиции в сетевую защиту, организации могут быть легко скомпрометированы с помощью одного поиска в Google. Недавний пример — хакеры, раскрывшие корпоративные совещания, сеансы терапии и университетские занятия через звонки Zoom, оставленные в открытом доступе. Предприятиям необходимо обнаруживать такие OSINT-угрозы на своём периметре, но им не хватает инструментов для этого.
Manuka спроектирован для масштабирования. Пользователи могут легко добавлять новые модули-прослушиватели и подключать их к Docker-среде. Они могут одновременно координировать несколько кампаний и honeypot, расширяя поверхность honeyport. Кроме того, пользователи могут быстро настраивать и развёртывать Manuka под различные сценарии использования. Данные Manuka спроектированы так, чтобы их можно было легко переносить в сторонние инструменты анализа и визуализации в рабочем процессе организации.
Разработка OSINT-honeypot представляет собой новую задачу из-за сложности и широкого спектра OSINT-техник. Однако такой инструмент позволил бы синей команде «сдвинуться влево» в своей стратегии киберразведки.

Manuka построен на следующих ключевых терминах и процессах.


Сам фреймворк состоит из нескольких Docker-контейнеров, которые могут быть развёрнуты на одном хосте.
Эти контейнеры оркестрируются с помощью одной команды docker-compose.
В режиме разработки компоненты работают на следующих портах в своих контейнерах:
manuka-client: 3000manuka-server: 8080manuka-listener: 8080Чтобы клиент и сервер могли взаимодействовать без проблем CORS, дополнительный слой nginx на localhost:8080 проксирует /api/ на manuka-server, а / на manuka-listener.
Кроме того, manuka-listener работает на следующих портах:
8081 для подставной страницы входа8082 для взаимодействия с подставной электронной почтойТребования указаны в репозиториях отдельных компонентов.
docker >= 19.03.8docker-compose >= 1.25.4ngok >= 2.3.35docker/secrets/postgres_password с паролем для Postgres.docker/secrets/google_credentials.json с учётными данными вашего проекта.docker/secrets/google_topic.docker/secrets/google_oauth2_token.json.docker-compose -f docker-compose.yml -f docker-compose-dev.yml up --build --remove-orphansmanuka-listener:
./ngok http <manuka-listener port> и запишите полученный HTTPS-URL.ngrok вы должны увидеть POST /notifications 200 OK, а в консоли Docker — Received push notification.В production-режиме следующие порты сопоставлены с серверами:
8080: manuka-client на / и manuka-server на /api80: manuka-listener-login на / и manuka-listener-social на /notificationsЭто позволяет любому домену, указывающему на ваш сервер, отображать подставную страницу входа, в то время как панель управления доступна на порту 8080. Кроме того, панель управления защищена HTTP-базовой аутентификацией на уровне nginx.
Требования указаны в репозиториях отдельных компонентов.
docker >= 19.03.8docker-compose >= 1.25.4ngok >= 2.3.35http://DOMAIN/notifications.docker/nginx/nginx.prod.conf.example в docker/nginx/nginx.prod.conf и замените examplecompany.com на ваш production-домен.init-letsencrypt.sh для генерации SSL-сертификатов.COMPANY_NAME='Next Clarity Financial' NGINX_USERNAME=username NGINX_PASSWORD=password docker-compose -f docker-compose.yml -f docker-compose-prod.yml up --build --remove-orphans -d
NGINX_USERNAME и NGINX_PASSWORD будут учётными данными для базовой аутентификации панели управления.COMPANY_NAME будет названием компании на подставной странице входа.