TGViewer
purple shift purple shift @purpleshift · 3.05K subscribers
Post #156 2.51K
Как вы могли заметить, наши "красные" регулярно создают полезные инструменты (BFScan, UnUnicode, Collab2, osmo-nidc, разные штуки для Mythic). Вот и сегодня расскажем, как мы улучшили работу с модулем Hive для коллаборации пентестеров на платформе Hexway Pentest Suite.

Приложение Hive позволяет собирать в одном месте результаты сканов, заметки, скриншоты и другую инфу о сервисах. А ещё мы используем Hive для того, чтобы отслеживать план работ: отмечать, что уже проверено, на что стоит обратить внимание, и кто из команды какой сервис смотрит сейчас. Это позволяет не выполнять проверки дважды (или больше раз, если в проектной команде много пентестеров и каждый хочет запустить условный ffuf со словарем raft-large-directories-lowercase.txt), а также фильтровать сервисы по статусам.

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

У компании Hexway есть библиотека на Python для работы с Hive REST API, но она давно не обновлялась. Однако в документации описано, как получить спецификацию OpenAPI.

В итоге мы написали утилиту scan2hive, которая парсит результаты работы разных инструментов и загружает в Hive. Вот что делают её модули:

HTTPX. Парсит результат httpx в формате JSON, добавляет к портам тег и заметку вида:

httpx result:
url: {url}
title: {title}
webserver : {webserver}
tech: {tech}
final_url: {final_url}


Удобно пролистывать список портов и сразу понимать, что это за сервис. Для поиска можно использовать фильтр по заметке, например, note == '%nginx%'.

Nmap. Модуль для импорта результатов nmap и masscan (формат XML). В веб-интерфейсе Hive есть возможность импорта файлов с результатами работы этих утилит, но мы добавили несколько фич:

— Если на хосте больше 300 портов (можно число задать параметром -m), то порты не импортируются (используем для отсетивания false positive) и к IP-адресу добавляется заметка:

  if len(host.ports) > self._max_ports:
host.notes.append(HiveLibrary.Note(text=f"{len(host.ports)} ports. No port will be imported"))
logger.info(f"Host {host.ip} has {len(host.ports)} open ports. Skip ports.")
host.ports = list()


— К каждому порту добавляется тег.
— Результаты скриптов можно добавить в заметки или проигнорировать их (параметр --script-parsing). По умолчанию данные добавляются в Records, как и при импорте из веб-интерфейса.

Nuclei. Из формата JSON или JSONL забирает template_id, severity (можно указать параметр --min-severity), description, extracted_results, matched-at и matcher-name и добавляет заметку к порту (по одной заметке на severity). Можно игнорировать часть шаблонов.

Gowitness. Может импортировать скриншоты (по умолчанию без скринов, можно выбрать все или только для ответов 200 ОК) и добавлять заметку с данными из базы:

gowitness result:
url: {url}
response_code: {response_code}
title: {title}
webserver : {webserver}
final_url: {final_url}
tech: {tech}
cookies: {cookies}


Poseidon. Парсит json с результатом таски в агенте poseidon C2 Mythic.

В теге мы обычно указываем IP, с которого обращались к хостам, что помогает составить карту сети на внутреннем пентесте или, например, понять, что какие-то сервисы доступны только из конкретной страны. Для того, чтобы проверить, как распарсится файл, можно использовать режим --dry-run, а для загрузки в Hive использовать режим --upload.

А в /tests мы добавили сгенерированные скриптом результаты сканов nmap и masscan, чтобы не тестировать на данных заказчиков.
  • 🔥 16
  • 👍 6
  • 🤔 3
  • ❤ 1
More from @purpleshift
  1. Sep 23, 2026В конце 2024 года мы рассказывали о том, как детектировать атаки на основе компрометации г…
  2. Sep 21, 2026В конце лета число подписчиков нашего канала перевалило за 3 тысячи. Мы конечно же поздрав…
  3. Sep 16, 2026«Мир стоит на кодах и шифрах, Джон. Многомиллионные охранные системы в банках и простеньки…
  4. Sep 11, 2026Финал соревнований VolgaCTF 2026 пройдёт с 16 по 18 сентября в Самаре. И на этом мероприят…
  5. Sep 7, 2026В начале августа мы рассказали, что хакерская группировка Labooboo (Toy Ghouls, Bearlyfy,…
  6. Sep 4, 2026Атаки с использованием NTFS-потоков в Windows давно стали классикой. В Linux-средах про ра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →