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

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

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

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

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

Категории

Все категории
Loading categories
flashingestor — Сборщик данных Active Directory на основе TUI, который принимает объекты LDAP, выполняет удаленный сбор RPC/SMB/HTTP и генерирует дампы, совместимые с BloodHound CE, для анализа путей атак. | Kitploit
Инструменты/GitHubGitHub/macmod/flashingestor
РазведкаКартирование сетиСбор информацииТестирование на ПроникновениеRed Teaming
GitHubmacmod/flashingestor

flashingestor

Сборщик данных Active Directory на основе TUI, который принимает объекты LDAP, выполняет удаленный сбор RPC/SMB/HTTP и генерирует дампы, совместимые с BloodHound CE, для анализа путей атак.

Репозиторий
17313166 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

flashingestor

TUI для сбора данных Active Directory.

Релиз GitHub Версия Go Размер кода Лицензия Статус сборки Go Report Card Загрузки GitHub Подписчики в Twitter

Философия

Основные цели этого проекта:

  1. Быть полноценным сборщиком данных, совместимым с BloodHound CE (Community Edition)
  2. Быть быстрее, менее шумным и более настраиваемым, чем другие сборщики
  3. Предоставлять удобный TUI (терминальный пользовательский интерфейс) с отслеживанием прогресса

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

Детали реализации

Flashingestor реализует 3 основных отдельных шага: LDAP Ingestion, Remote Collection и Conversion, в отличие от других сборщиков, которые выполняют указанные методы за один шаг:

  • Ingest (Ctrl+l) — собирает необработанные данные атрибутов объектов из LDAP и сохраняет их в output/ldap во временные файлы msgpack. Запросы можно настраивать в config.yaml.

  • Remote (Ctrl+r) — читает эти промежуточные файлы в память, вычисляет список компьютеров для сбора и выполняет серию RPC/SMB/HTTP-запросов для получения соответствующей удалённой информации для объектов Computer и EnterpriseCA, которая сохраняется в output/remote.

  • Convert (Ctrl+s) — читает промежуточные файлы в память, объединяет информацию из этапов сбора и удалённого сбора и генерирует дамп, совместимый с Bloodhound, в output/bloodhound — этот шаг полностью выполняется офлайн.

Дополнительные технические детали и идеи можно найти в нашем 📖 Wiki.

Установка

$ git clone https://github.com/Macmod/flashingestor
$ cd flashingestor

# Только сборка:
$ go build ./cmd/flashingestor

# Установка исполняемого файла в $GOBIN или $GOPATH/bin:
$ go install ./cmd/flashingestor

[!NOTE] Вы также можете использовать предварительно собранные бинарные файлы из Релизов.

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

Сначала аутентифицируйтесь одним из следующих способов:

# Анонимно
# [Требуется dSHeuristics = 0000002 в объекте DirectoryServices
#  и может иметь ограниченную видимость из-за отсутствия ACE на чтение]
$ ./flashingestor -u '@<DOMAIN>' -p '' [...]

# Пользователь + Пароль
$ ./flashingestor -u <USER>@<DOMAIN> -p <PASSWORD> [-k] [...]

# Пользователь + NTHash
$ ./flashingestor -u <USER>@<DOMAIN> -H <NTHASH> [-k] [...]

# Пользователь + PFX
$ ./flashingestor -u <USER>@<DOMAIN> --pfx <PFXPATH> [--pfx-password <PFXPASS>] [-k] [...]

# Пользователь + PEM
$ ./flashingestor -u <USER>@<DOMAIN> --cert <PEMPATH> --key <KEYPATH> [-k] [...]

# Пользователь + AESKey
$ ./flashingestor -u <USER>@<DOMAIN> --aes-key <AESKEY> -k [...]

# Пользователь + Ticket
$ ./flashingestor -u <USER>@<DOMAIN> --ccache /path/to/ticket.ccache -k [...]
или
$ KRB5CCNAME=/path/to/ticket.ccache ./flashingestor -u <USER>@<DOMAIN> -k [...]

Затем выполните нужные шаги. Для сбора только через LDAP (DCOnly за исключением GPOLocalGroup и CertServices) достаточно нажать Ctrl+l, проверить успешность сбора, а затем нажать Ctrl+s для создания финального дампа.

Обнаружение DC и DNS

Рекомендуется указывать --dc и --dns при запуске flashingestor. Если не указать --dc, flashingestor попытается найти его с помощью SRV/A-запросов, что может задержать начальный шаг Ingest.

Необходимо указать --dns, если ваш стандартный DNS-сервер не знает о домене — если используется AD-интегрированный DNS, просто укажите --dns на DC, который его обслуживает. Кроме того, вне зависимости от --dc, если вы хотите выполнить шаг Remote Collection и ваш DNS-сервер не знает о компьютерах в домене, необходимо указать --dns для запросов.

[!TIP] В средах с несколькими DC также можно использовать утилиту dcprobe для измерения задержки до всех DC и поиска хорошего кандидата для сбора:

$ go build ./cmd/dcprobe
$ ./dcprobe --dns 192.168.88.6 -d creta.local -r 10

Файл конфигурации

Если файл конфигурации отсутствует в текущем каталоге как config.yaml или по пути, указанному через --config, будут использованы параметры по умолчанию (такие же, как в предоставленном config.yaml) — они жёстко прописаны в config/fallback.go. Дополнительную информацию см. в Файле конфигурации.

Другие параметры

Рекомендуется использовать --log для указания выходного файла для логов (на случай, если потребуется их просмотреть после закрытия TUI) и -vv для отображения отладочных сообщений, так как это может помочь в устранении возможных проблем. Полный список аргументов командной строки см. в Аргументах командной строки.

Сбор данных (Ingestion)

[!NOTE] Запросы по умолчанию в предоставленном config.yaml разработаны с учётом информации, необходимой для конвертации в Bloodhound. Вы можете настроить запросы или атрибуты в config.yaml, но лучше избегать удаления необходимых атрибутов и изменения смысла фильтров поиска.

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

Если search_forest установлен в true, он соберёт данные из доменов, входящих в тот же лес, что и исходный домен, из раздела Configuration — дополнительные запросы не потребуются, так как это уже часть плана сбора по умолчанию. Оба параметра могут быть установлены одновременно, и flashingestor соберёт данные из любого обнаруженного домена только один раз (либо через доверие, либо через текущий лес).

Если включён recurse_trusts и recurse_feasible_only также установлен в true, он попытается собрать данные из доверенного домена только если доверие:

  1. Входящее/двустороннее и
  2. Доверие либо включает исходный домен, либо является транзитивным.

Это означает, что односторонние доверия (только исходящие) не будут обрабатываться, и, за исключением первого уровня доверий, пути сбора останавливаются на нетранзитивных довериях — если B доверяет A нетранзитивно, A всё ещё может аутентифицироваться в B; но если C также доверяет B нетранзитивно, A не может аутентифицироваться в C.

[!IMPORTANT] recurse_trusts / search_forest будут выполнять аутентификацию в LDAP обнаруженных доменов только с указанными учётными данными из исходного домена, когда предоставленные учётные данные — это обычный пароль или NT-хэш; использование TGT для получения реферального билета для этой цели теоретически возможно, но ещё не реализовано в библиотеке adauth.

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