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

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

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

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

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

Категории

Все категории
Loading categories
pyCobaltHound — pyCobaltHound — это расширение скрипта Aggressor для Cobalt Strike, предназначенное для обеспечения глубокой интеграции между Cobalt Strike и Bloodhound. | Kitploit
Инструменты/GitHubGitHub/nvisosecurity/pycobalthound
Фреймворки для пентестаПовышение привилегийРазведкаФреймворки для эксплойтовЛатеральное перемещениеСбор информацииПост-эксплуатацияRed Teaming
GitHubnvisosecurity/pycobalthound

pyCobaltHound

pyCobaltHound — это расширение скрипта Aggressor для Cobalt Strike, предназначенное для обеспечения глубокой интеграции между Cobalt Strike и Bloodhound.

13519264 лет назадПроверено Kitploit
Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

Краткое описание

pyCobaltHound — это расширение для скрипта Aggressor для Cobalt Strike, которое обеспечивает глубокую интеграцию между Cobalt Strike и Bloodhound.

pyCobaltHound помогает операторам красных команд:

  • Автоматически запрашивать базу данных BloodHound для обнаружения путей повышения привилегий, открываемых вновь собранными учётными данными.
  • Автоматически помечать скомпрометированных пользователей и компьютеры как захваченные.
  • Позволять операторам быстро и легко исследовать потенциал повышения привилегий для сессий beacon и пользователей.

Для этого pyCobaltHound использует набор встроенных запросов. Операторы также могут добавлять/удалять собственные запросы, чтобы настроить возможности мониторинга pyCobaltHound. Это даёт им гибкость адаптировать pyCobaltHound на лету во время операций с учётом конкретных целей (пользователи, хосты и т.д.).

Установка и использование

Для установки pyCobaltHound клонируйте этот репозиторий. Не забудьте также клонировать включённый подмодуль!

Вы можете использовать следующую команду:

  • git clone https://github.com/NVISOsecurity/pyCobaltHound.git --recurse-submodules

Зависимости

Убедитесь, что следующие зависимости правильно установлены:

PyCobalt

PyCobalt — это Python API для Cobalt Strike. Он предоставляет множество функций Aggressor для непосредственного использования из Python.

Настройка

Убедитесь, что у вас установлен Python3+. Хотя PyCobalt может работать и на macOS, и на Windows, мы тестировали его только на Linux.

Существует два способа использования библиотеки PyCobalt:

  1. Запускать её напрямую из репозитория с помощью PYTHONPATH. pyCobaltHound использует этот подход, устанавливая путь поиска из программы Python с помощью переменной sys.path.
  2. Установить библиотеку PyCobalt. Для этого выполните python3 setup.py install. Вам придётся изменить pycobalthound.py, чтобы он использовал установленную библиотеку вместо той, что находится во включённом репозитории.
Замечания
  • Учтите, что нет гарантии, что проект PyCobalt будет поддерживаться в будущем. Фактически последнее обновление проекта было для включения изменений, сделанных в Cobalt Strike 4.2. Однако, поскольку pyCobaltHound использует только базовые функции Aggressor для взаимодействия с Cobalt Strike и его оператором, для pyCobaltHound это не является большой проблемой.
  • Подмодуль PyCobalt, используемый в этом проекте, является нашим форком. Мы не контролируем репозиторий PyCobalt.
Советы и хитрости
  • PyCobalt поставляется с некоторыми командами Script Console для управления запущенными скриптами Python. Когда вы перезагружаете скрипт Aggressor, следует сначала явно остановить скрипты Python. В противном случае они будут работать вечно, ничего не делая. Во время разработки pyCobaltHound мы заметили, что это также может привести к неопределённому поведению.

    Перезагрузка pyCobaltHound может быть выполнена следующим образом:

    aggressor> python-stop-all`
    [pycobalt] Asking script to stop: /root/pycobalthound/pycobalthound.py
    [pycobalt] Script process exited: /root/pycobalthound/pycobalthound.py
    
    aggressor> reload example.cna`
    [pycobalt] Executing script /root/pycobalthound/pycobalthound.py
    
  • Для правильной работы PyCobalt вы можете вызывать PyCobalt только в одном скрипте Aggressor. Имейте это в виду, если хотите использовать pyCobaltHound вместе с другими скриптами Aggressor, использующими PyCobalt. Наш подход заключается в том, чтобы иметь скрипт Aggressor с вызовами python() и include() для каждого инструмента на основе PyCobalt.

notify2 (Опционально)

notify2 — это (или был) пакет для отображения уведомлений на рабочем столе в Linux. Как мы увидим позже, pyCobaltHound поддерживает несколько способов уведомления оператора. notify2 используется в Linux для отправки уведомлений демону уведомлений через D-Bus.

Чтобы включить это, установите notify2 с помощью:

pip install notify2

Использование в Cobalt Strike

Использование pyCobaltHound в Cobalt Strike так же просто, как импорт скрипта Aggressor pycobalthound.cna в ваш клиент. После этого в строке меню Cobalt Strike появится меню pyCobaltHound.

Использование

Мониторинг хранилища учётных данных

Первоначальная цель pyCobaltHound заключалась в мониторинге кэша учётных данных Cobalt Strike (View > Credentials) на предмет новых записей. Это происходит путём реагирования на событие on_credentials, которое Cobalt Strike генерирует при изменениях в хранилище учётных данных.

Когда это событие происходит, pyCobaltHound:

  1. Анализирует и проверяет данные, полученные от Cobalt Strike.
  2. Проверяет, исследовал ли он уже эти сущности, просматривая свой кэш.
  3. Добавляет сущности в кэш для будущих запусков.
  4. Проверяет, существуют ли сущности в базе данных BloodHound.
  5. Помечает сущности как захваченные.
  6. Запрашивает базу данных BloodHound для каждой новой сущности, используя как встроенные, так и пользовательские запросы.
  7. Анализирует возвращённые результаты, уведомляет оператора о любых интересных находках и записывает их в базовый HTML-отчёт.

Поскольку всё это происходит асинхронно от основного клиента Cobalt Strike, этот процесс не должен блокировать ваш интерфейс, так что вы можете продолжать работать, пока pyCobaltHound проводит исследование в фоне.

pyCobaltHound использует отдельные кэши для каждого team-сервера, чтобы избежать проблем при использовании нескольких team-серверов.

Удаление сущностей из кэша

Иногда возникают ситуации, когда вы хотите повторно исследовать определённых пользователей (или всё хранилище учётных данных). Это может быть актуально, если вы загрузили новые данные в базу данных BloodHound.

Поскольку pyCobaltHound уже должен был исследовать (и, следовательно, кэшировать) все сущности в вашем хранилище учётных данных, он не будет оценивать их на основе этих новых данных без вмешательства оператора.

Для управления тем, какие сущности кэшируются, доступны два метода.

Удаление конкретных сущностей

В случаях, когда вы хотите удалить определённую сущность (или несколько) из кэша, вы можете сделать это в просмотрщике учётных данных (View > Credentials). Просто выберите целевые объекты и нажмите опцию remove from cache под пунктом меню pyCobaltHound.

Удаление всего кэша

В случаях, когда вы хотите удалить все сущности из кэша, вы можете сделать это в главном меню pyCobaltHound (Cobalt Strike > pyCobaltHound > Wipe cache). Это наиболее полезно, когда вы хотите заново оценить всё хранилище учётных данных.

Ручной запуск исследования

После удаления целей из кэша вы можете вручную запустить pyCobaltHound для повторного исследования содержимого хранилища учётных данных. Этот процесс полностью аналогичен описанному выше.

Управление beacon

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

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