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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/seajaysec/cypheroth
РазведкаСбор информацииТестирование на Проникновение
GitHubseajaysec/cypheroth

cypheroth

Автоматизированный, расширяемый набор инструментов, который выполняет cypher-запросы к бэкенду Neo4j Bloodhound и сохраняет вывод в электронные таблицы.

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

Популярное

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

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

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

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

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

Cypheroth

Автоматизированный расширяемый набор инструментов для выполнения cypher-запросов к Neo4j-бэкенду Bloodhound и сохранения результатов в электронные таблицы.

cypheroth

Описание

Это bash-скрипт, который автоматизирует выполнение cypher-запросов к данным Bloodhound, хранящимся в базе данных Neo4j.

Я обнаружил, что снова и снова выполняю одни и те же запросы через веб-интерфейс Neo4j в разных оценках, и подумал, что должен быть более простой способ. 😅

Список выполняемых cypher-запросов полностью расширяем. Пример форматирования ниже показывает, как добавить свои собственные.

Пожалуйста, делитесь любыми дополнительными полезными запросами, чтобы я мог добавить их в этот проект!

Полностью протестирован и работает в Bash на Linux, macOS и Windows

Демонстрация

Cypheroth Demo (Создано с помощью termtosvg для вашего удовольствия от просмотра)

Предварительные требования

  • Команда cypher-shell поставляется в комплекте с Neo4j и необходима для работы этого скрипта
  • Если Neo4j установлен, а cypher-shell не найден, возможно, у вас устаревшая версия Neo4j
  • Последнюю версию всегда можно найти здесь
  • В Kali обновитесь до последней версии, используя Debian-репозиторий Neo4j
  • Опционально: если присутствует команда ssconvert, скрипт объединит все выходные .csv-файлы в листы внутри .xls-файла
    • Установите набор инструментов gnumeric с помощью apt или brew, чтобы получить доступ к ssconvert
  • В Windows мы рекомендуем использовать WSL для запуска этого скрипта, в то время как база данных neo4j работает в Windows. Вам просто нужно установить пакет cypher-shell в WSL (Linux).

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

    Флаги:

    root@kitploit:~
      -u Имя пользователя Neo4J (Обязательно)
      -p Пароль Neo4J (Обязательно)
      -d Полное доменное имя (Обязательно) (С учетом регистра)
      -a Bolt-адрес (Опционально) (По умолчанию: localhost:7687)
      -t Таймаут запроса (Опционально) (По умолчанию: 30s)
      -v Подробный режим (Опционально) (По умолчанию:FALSE)
      -h Текст справки и пример использования (Опционально)
    

    Пример с настройками по умолчанию:

    ./cypheroth.sh -u neo4j -p BloodHound -d TESTLAB.LOCAL

    Пример со всеми опциями:

    ./cypheroth.sh -u neo4j -p hunter2 -d BigTech.corp -a 10.0.0.1:7687 -t 5m -v true

    Файлы добавляются в подкаталог, названный по FQDN.

    Cypher-запросы

    В скрипте сейчас почти 60 запросов. Это пример информации, которую вы получите:

    • Полный список свойств пользователей
    • Полный список свойств компьютеров
    • Полный список свойств доменов
    • Полный список свойств подразделений
    • Полный список свойств GPO
    • Полный список свойств групп
    • Компьютеры с администраторами
    • Компьютеры без администраторов
    • Пользователи, доступные для Kerberoasting, и компьютеры, где они являются администраторами

    Чтобы добавить дополнительные запросы, отредактируйте массив queries в файле cypheroth.sh и добавьте строку в следующем формате:

    Описание;Cypher-запрос;Выходной файл

    Если добавляете запрос, требующий установки значения Domain, сохраните его как $DOMAIN.

    Пример 1:

    root@kitploit:~
    All Usernames;MATCH (u:User) RETURN u.name;usernames.csv
    

    Пример 2:

    root@kitploit:~
    All Domain Admins;MATCH (u:User) MATCH (g:Group {name:'DOMAIN ADMINS@$DOMAIN'}) RETURN u.displayname;domainAdmins.csv
    

    Анализ нескольких доменов

    Если вам нужно проанализировать несколько доменов, вы можете запустить несколько экземпляров Cypheroth параллельно, каждый из которых будет работать со своим доменом. Например, вы можете использовать следующий скрипт (10 параллельных задач).

    root@kitploit:~
    #!/usr/bin/env bash
    DOMAINS=(domA.example.net domB.example.net [...])
    parallel -j10 --lb ./cypheroth.sh <args> -d {} ::: "${DOMAINS[@]}"
    

    Устранение неполадок

    Если вы используете устаревшую версию cypher-shell, вы можете получить следующую ошибку:

    root@kitploit:~
    DateTime is not supported as a return type in Bolt protocol version 1.
    Please make sure driver supports at least protocol version 2.
    Driver upgrade is most likely required.
    

    Для исправления обновите Neo4j до последней версии.

    Автор

    Chris Farrell (@seajay)

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

    • Этот инструмент не существовал бы без BloodHound, разработанного @_wald0, @CptJesus и @harmj0y.
    • Отдельное спасибо каналу #cypher_queries в Slack Bloodhound за помощь
    • Большое спасибо @TinkerSec — основа этого проекта была буквально скопирована из его скрипта procdump 🙃
    • Большое спасибо @awsmhacks, @haus3c и @ScoubiMtl за сбор полезных cypher-запросов (здесь, здесь и здесь)
    • Огромная благодарность за вклад @chryzsh и @mubix!!
    • Все эти удивительные вклады от @cnotin
    Скачать инструмент