
Инструмент пассивного обнаружения поддоменов, который агрегирует результаты из нескольких онлайн-источников через CLI, поддерживает stdin/stdout, вывод в формате JSONL и настройку API-ключей для автоматизированных разведывательных задач.
xsubfind3r — это утилита командной строки, предназначенная для обнаружения поддоменов заданного домена простым и эффективным способом. Она работает путем сбора информации из различных пассивных источников, то есть не взаимодействует напрямую с целью, а собирает уже общедоступные данные. Это делает xsubfind3r мощным инструментом для специалистов по безопасности, IT-профессионалов и всех, кто хочет получить информацию о поддоменах, связанных с доменом.
stdin и stdout для легкой интеграции в автоматизированные рабочие процессыПосетите страницу релизов и найдите подходящий архив для вашей операционной системы и архитектуры. Скачайте архив через браузер или скопируйте его URL и загрузите с помощью wget или curl:
...с помощью wget:
wget https://github.com/hueristiq/xsubfind3r/releases/download/v<version>/xsubfind3r-<version>-linux-amd64.tar.gz
...или с помощью curl:
curl -OL https://github.com/hueristiq/xsubfind3r/releases/download/v<version>/xsubfind3r-<version>-linux-amd64.tar.gz
...затем извлеките бинарник:
tar xf xsubfind3r-<version>-linux-amd64.tar.gz
[!TIP] Вышеописанные шаги (загрузка и извлечение) можно объединить в одну команду:
curl -sL https://github.com/hueristiq/xsubfind3r/releases/download/v<version>/xsubfind3r-<version>-linux-amd64.tar.gz | tar -xzv
[!NOTE] В системах Windows вы сможете дважды щелкнуть zip-архив, чтобы извлечь исполняемый файл
xsubfind3r.
...переместите бинарник xsubfind3r в каталог, содержащийся в переменной PATH. Например, в GNU/Linux и OS X:
sudo mv xsubfind3r /usr/local/bin/
[!NOTE] Пользователи Windows могут следовать инструкциям Как добавить расположения инструментов в переменную среды PATH, чтобы добавить
xsubfind3rв свойPATH.
Перед установкой из исходников убедитесь, что Go установлен на вашей системе. Вы можете установить Go, следуя официальным инструкциям для вашей операционной системы. Здесь мы будем считать, что Go уже установлен.
go install ...go install -v github.com/hueristiq/xsubfind3r/cmd/xsubfind3r@latest
go build ... (версия для разработки)Клонируйте репозиторий
git clone https://github.com/hueristiq/xsubfind3r.git
Соберите утилиту
cd xsubfind3r/cmd/xsubfind3r && \
go build .
Переместите бинарник xsubfind3r в каталог, содержащийся в вашем PATH. Например, в GNU/Linux и OS X:
sudo mv xsubfind3r /usr/local/bin/
Пользователи Windows могут следовать инструкциям Как добавить расположения инструментов в переменную среды PATH, чтобы добавить xsubfind3r в свой PATH.
[!CAUTION] Хотя версия для разработки — хороший способ взглянуть на последние возможности
xsubfind3rдо их официального выпуска, имейте в виду, что она может содержать ошибки. Официальные версии, как правило, более стабильны.
Если у вас установлен Docker, вы можете использовать xsubfind3r через его образ:
Скачайте образ Docker с помощью:
docker pull hueristiq/xsubfind3r:latest
Запустите xsubfind3r с помощью образа:
docker run --rm hueristiq/xsubfind3r:latest -h
xsubfind3r будет работать сразу после установки. Однако для работы некоторых источников требуются ключи API. Эти ключи можно добавить в файл конфигурации $HOME/.config/xsubfind3r/config.yaml, который создается при первом запуске, или задать в виде переменных окружения.
Пример переменных окружения для ключей API:
XSUBFIND3R_KEYS_BEVIGIL=your_bevigil_key
XSUBFIND3R_KEYS_CENSYS=your_censys_key
Чтобы начать использовать xsubfind3r, откройте терминал и выполните следующую команду для получения списка опций:
xsubfind3r -h
Вот как выглядит справка:
_ __ _ _ _____
__ _____ _ _| |__ / _(_)_ __ __| |___ / _ __
\ \/ / __| | | | '_ \| |_| | '_ \ / _` | |_ \| '__|
> <\__ \ |_| | |_) | _| | | | | (_| |___) | |
/_/\_\___/\__,_|_.__/|_| |_|_| |_|\__,_|____/|_|
v1.2.0
USAGE:
xsubfind3r [OPTIONS]
CONFIGURATION:
-c, --configuration string (default: $HOME/.config/xsubfind3r/config.yaml)
INPUT:
-d, --domain string[] target domain
-l, --list string target domains file path
For multiple domains, use comma(,) separated value with `--domain`,
specify multiple `--domains`, load from file with `--list` or load from stdin.
SOURCES:
--sources bool list supported sources
-u, --sources-to-use string[] comma(,) separated sources to use
-e, --sources-to-exclude string[] comma(,) separated sources to exclude
OUTPUT:
--jsonl bool output in JSONL(ines)
-o, --output string output write file path
-O, --output-directory string output write directory path
-m, --monochrome bool stdout in monochrome
-s, --silent bool stdout in silent mode
-v, --verbose bool stdout in verbose mode
Приветствуется любое участие! Не стесняйтесь отправлять Pull Requests или сообщать об Issues. Подробнее читайте в руководстве по участию.
Большое спасибо всем участникам за постоянную поддержку!