Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
nightHawkResponse — Фреймворк реагирования на инциденты и форензики | Kitploit
Инструменты/GitHubGitHub/biggiesmallsag/nighthawkresponse
Дисковая криминалистикаУправление индикаторами компрометации (IOC)РазведкаКриминалистика памятиФорензикаСбор информацииЦифровая криминалистикаРазведка угрозРеагирование на ИнцидентыАнализ Журналов
GitHubbiggiesmallsag/nighthawkresponse
60712376 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

nightHawkResponse

Фреймворк реагирования на инциденты и форензики

Репозиторий
Поделиться

nightHawk Response

Пользовательское приложение для асинхронного представления криминалистических данных на базе Elasticsearch.
Это приложение предназначено для загрузки файла "коллекций" Mandiant Redline и предоставления гибкости в поиске/накоплении и тегировании.

Приложение родилось из-за невозможности контролировать несколько расследований (или сотен конечных точек) в едином окне.

Для загрузки аудитов Redline мы создали nightHawkResponse — полноценное приложение на GOpher, созданное для работы с этим фреймворком. Исходный код приложения доступен в этом репозитории, скомпилированный бинарник уже запущен внутри ISO и готов к загрузке с первого запуска.

Версия 2.0 — ориентировочно март 2020

В настоящее время мы разрабатываем новую крупную версию и планируем выпустить её к марту 2020 года. Новая версия нацелена на выполнение следующих задач.

  • Установка на основе Docker (с руководствами/конфигами для развёртывания в Kubernetes/Cloud/Local) (в работе)
  • Переписанный UI на React. Упрощён до основных функций и ничего лишнего. (в работе)
  • Прогрессивная и возобновляемая загрузка триажа (ГОТОВО)
  • Плагин nightHawkResponse для Kibana (в работе)
  • Упрощённая кодовая база с модульными тестами (в работе)
  • Упрощённая среда разработки CI/CD (в работе)

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

Версия 1.0.4

Установка

  • Версия 1.0.4 работает на любой Ubuntu x64 (мы тестировали на Ubuntu 16.04LTS)
  • Обновите Ubuntu до последнего патча
  • Скачайте релиз nhr-1.0.4.tar.gz
  • Распакуйте nhr-1.0.4.tar.gz
  • Перейдите в каталог nhr-1.0.4
  • Сделайте nhr-setup.sh исполняемым (chmod +x nhr-setup.sh)
  • Установите зависимости и пакеты nightHawk Response (sudo ./nhr-setup.sh install)
    Примечание: Во время установки требуется доступ в интернет.
  • Первоначальная установка может не создать индекс Elasticsearch. Если это произойдёт, повторите (sudo ./nhr-setup.sh install)
  • Проверьте, что все компоненты запущены
    ---- sudo systemctl status elasticsearch
    ---- sudo systemctl status kibana
    ---- sudo systemctl status rabbitmq-server
    ---- sudo systemctl status nginx
    ---- sudo systemctl status nighthawk-api
    ---- sudo systemctl status nighthawk-worker
  • Вы можете получить доступ, перейдя по ссылке https://ipaddress
  • Имя пользователя и пароль по умолчанию: admin/admin

Документация по API будет позже в Wiki

01/09/2016: Версия 1.0.3

  • Добавлен контекст пользователя и учётные записи (вход с nighthawk/nighthawk), см. статью в wiki
  • Добавлена статистика платформы и информация о загрузке через websockets
  • Добавлено удаление случаев, удаление конечных точек, удаление конечных точек из случаев
  • Добавлен раздел workflow задач через websocket, см. руководство в wiki
  • Комментарии/Теги теперь являются расширяемыми объектами с подсветкой
  • Комментарии теперь являются оповещениями через websocket, см. заметки в wiki
  • Исправлена ошибка CaseName = имя конечной точки
  • Исправлены заархивированные аудиты с Mac/Windows/Linux
  • Улучшен адаптивный дизайн
  • Добавлен w32system как тип аудита

Возможности:

Видеодемонстрация: Платформа nightHawk Response

  1. Криминалистика конечных точек в едином представлении (несколько типов аудита).
  2. Глобальный поиск.
  3. Построение временной шкалы.
  4. Накопление (stacking).
  5. Тегирование.
  6. Интерактивное дерево процессов.
  7. Загрузка нескольких файлов и именованные расследования.

ISO nightHawk

Чтобы упростить использование nightHawk, мы создали ISO со всем предварительно настроенным. То есть вы получаете следующее:

  1. Последний исходный код nightHawk.
  2. CentOS 7 Minimal с основными библиотеками, необходимыми для работы nightHawk.
  3. Nginx и UWSGI, настроенные в reverse proxy (сокеты и оптимизация), включён SSL.
  4. Последние Elasticsearch/Kibana (Kibana доступна и может использоваться при желании).
  5. Sysctrl для всех основных служб.
  6. Логирование (ротация) для всех основных служб.
  7. Настраиваемые параметры системы, список которых можно найти в файле /opt/nighthawk/etc/nightHawk.json.

Запуск системы:

Перед созданием виртуальной машины с предоставленным ISO учтите следующее:

  1. CPU/RAM.

Ожидается: Настройка службы Elastic в виде двух узлов с 1/4 выделенной системной памяти на узел. Это означает, что если вы дадите 2 ГБ ОЗУ, каждый узел ES получит 512 МБ, а в системе останется 1 ГБ для работы.

Если вы хотите настроить иначе, зайдите по SSH и настройте как вам удобно.

  1. HDD.

Минимум 20 ГБ. Файл аудита может быть большим, поэтому рекомендуется выделить много места для обработки большого количества коллекций.

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

Установка:

Скачать ISO: nightHawk v1.0.3

Настройте оборудование, смонтируйте ISO в виртуальную машину, запустите скрипт установки.

После завершения в вашем браузере (Chrome/FireFox) перейдите по адресу https://192.168.42.173.

Войдите в систему с 'nighthawk/nighthawk' - нажмите "goto site", чтобы войти в приложение.

Если вам нужен доступ к Kibana, перейдите по адресу https://192.168.42.173:8443.

Если вам нужно подключиться по SSH, данные для входа: admin/nightHawk.

Если вы хотите изменить IP-адрес (отражается во всём приложении): /opt/nighthawk/bin/nighthawkctl set-ip <новый_ip_адрес>

Скрипт сбора аудитов Redline можно найти в корне этого репозитория. Используйте его при использовании автономного сборщика Redline, так как он вернёт документы, необходимые для правильного заполнения nightHawk.

Загрузка:

ВАЖНО: Создание zip-файла аудита для загрузки (Автономный сборщик Redline):
шаг_1: Перейдите в Sessions\AnalysisSessionX\Audits<ComputerName>, где X — номер анализа, обычно 1.
шаг_2: Создайте zip-архив папки, содержащей файлы аудита, например 20160708085733
шаг_3: Загрузите 20160708085733.zip

ВАЖНО: Используйте существующий аудит HX (Сборщик HX): Аудиты FireEye HX имеют расширение .mans. Аудит от HX отличается от сборщика Redline, потому что возвращаемый файл .mans на самом деле является zip-архивом. Это означает, что его можно загрузить напрямую, в отличие от аудита Redline, для которого нужно следовать инструкциям выше.

Перейдите к иконке "Upload" на панели навигации, выберите один или несколько zip-файлов аудита, укажите имя случая (иначе система предложит своё) и отправьте. Если вы использовали наш скрипт аудита Redline для создания коллекции, следуйте инструкциям "Redline Collector" чуть выше.

После обработки конечная точка появится в узле дерева "Current Investigations". Под конечной точкой будут представлены все доступные типы аудита для этой конечной точки. Функция загрузки этого веб-приложения запускает подпроцессы pOpen, которые вызывают приложение GO для разбора аудита Redline и отправки данных в Elasticsearch. Есть два варианта загрузки: последовательный и параллельный.

Обратите внимание: Параллельная загрузка ограничена 5 одновременно и может быть ресурсоёмкой; если у вас недостаточно мощная машина, ограничьте использование этой функции 2-3.

Тегирование:

Вы можете кликнуть на любую строку в любой таблице (в представлении ответа), чтобы отметить эти данные. После тегирования вы можете просмотреть комментарии в представлении комментариев.

Elasticsearch:

Существуют пользовательские маппинги (предоставлены в корне git) и рекомендательные комментарии по следующему:

  1. Связи "родитель/ребёнок":

Документы индексируются через приложение GO как связь "родитель/ребёнок". Это было выбрано, потому что позволяет получить относительно логичный путь для просмотра документов, т.е. родитель — это имя конечной точки, а дети — типы аудита. Выполнение агрегаций в документах со связью "родитель/ребёнок" в масштабе также кажется разумным. Фреймворк накопления (stacking) основан на построении массива родителей для получения всех агрегаций дочерних документов для определённых типов аудита.

  1. Шардирование:

Настройки Elasticsearch требуют настройки и правильного распознавания дизайна. Шардирование важно понимать из-за того, как мы связываем документы "родитель/ребёнок". Ребёнок ВСЕГДА направляется к родителю, он не может существовать сам по себе. Это означает, что необходимо учитывать, сколько шардов находится в индексе. Насколько мы понимаем, может быть разумно выбрать конфигурацию, включающую много узлов с одиночными шардами. Для повышения производительности такой конфигурации мы работаем над поиском с маршрутизацией по шардам.

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

  1. Масштабирование:

Это приложение предназначено для огромного масштабирования. С самого начала проектирования мы могли запускать его плавно на виртуальной машине Ubuntu с одним процессором и 2 ГБ ОЗУ с 3 узлами ES (Macbook Pro) и примерно 4 миллионами+ документов (или 50 конечных точек). Если переходить в производство с конфигурацией 64/128 ГБ ОЗУ и SAS-хранилищем, вы сможете обеспечить молниеносное время ответа при извлечении документов, одновременно работая с приложением через многих аналитиков.

Рекомендации:

  1. Смешанная обработка DataTables:

    Существует несколько типов аудита, которые слишком велики, чтобы возвращать все документы в таблицу. Например, история URL и реестр могут вернуть 15k документов в DOM, что создаст нагрузку на браузер клиента. Для борьбы с этим мы используем обработку на стороне сервера для постраничного вывода результатов определённых типов аудита. Это означает, что вы также можете искать по документам в типе аудита, используя Elasticsearch на бэкенде.

  2. Тегирование:

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

Зависимости (все предустановлены):

elasticsearch-dsl.py django 1.8 python requests

В планах:

Обработка дескрипторов (в процессе).
Ползунки выбора времени для генераторов на основе времени (в процессе).
Контекстное меню для текущих/предыдущих расследований.
Контекст тегирования. Система тегирования будет интегрирована в цикл websocket для живых комментариев в панелях аналитиков (в процессе).
Контекст приложения.
Возможность перемещать конечные точки между контекстами.
Возможный редизайн дерева узлов, чтобы оно было основано на дате расследования.
Выборочное накопление, в настоящее время включён селектор корневого узла.
Поиск с маршрутизацией по шардам.
Шаблон скрипта аудита Redline.
Более широкая интеграция с AngularJS (в процессе).
Адаптивный дизайн. (в процессе).
Страница административного управления для настройки основных параметров (в процессе).

Авторы и примечания:

Мы всегда ищем единомышленников, которые хотят внести вклад в этот проект; мы ни в коем случае не гуру веб-дизайна. Если вы считаете, что мы можем сделать что-то лучше, пожалуйста, сделайте pull request, и если он нам понравится, мы его примем.

Daniel Eden & Roshan Maskey

Благодарности:

Разработчики Mandiant Redline, AngularJS, Django, Angular-DataTables/DataTables, D3 (Bostock), Elasticsearch/ES-dsl.py, jsTree, qTip, GOlang, Python, Fahad Abdulaal (Логотип/Видео).

Скриншоты:

alt tag alt tag alt tag alt tag alt tag alt tag

Скачать инструмент