Если вы участвуете в программах БагБаунти, тогда поиск субдоменов (поддоменов) должен быть в приоритете. Сегодня я покажу, как правильно использовать Subfinder для поиска субдоменов. В сети уже есть статьи на эту тему, но мы пойдем дальше, попробуем использовать Subfinder по максимуму, добавив для лучшего выхлопа куеву тучу API.
Еще по теме: Онлайн-сервисы для поиска поддоменов
Использование Subfinder для поиска субдоменов
Subfinder — это фреймворк для поиска субдоменов с открытым исходным кодом, созданный командой ProjectDiscovery. Тулза шустрая и эффективная и должна быть в вооружение каждого БагХантера.
Установка Golang
Для начала необходимо установить Golang. Для ленивых вот как это можно сделать быстро:
1 2 3 |
$ wget -c https://go.dev/dl/go1.18.4.linux-amd64.tar.gz $ tar -C /usr/local -xzf go1.18.4.linux-amd64.tar.gz $ export PATH=$PATH:/usr/local/go/bin |
Теперь выполняем команду:
1 |
$ go version |
Если после выполнения команды в терминале вы видите версию Golang, тогда идем дальше. Go установлен в вашей системе.
Установка Subfinder
Для установки Subfinder используем следующие команды:
1 2 3 |
$ go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest $ cd go/bin $ mv subfinder /usr/local/bin |
Проверяем установку:
1 |
$ subfinder -version |
Голанг установлен, инструмент установлен. Идем дальше.
Использование Subfinder
Для примера в качестве подопытного будем использовать реликтовый сайт — Yahoo.com
Базовая команда поиска субдоменов выглядит следующим образом:
1 |
$ subfinder -d yahoo.com |
Вы увидите что-то вроде этого
Subfinder за 30 секунд может нарыть 17643 поддоменов. Это хороший, но не идеальный результат.
Использование директивы -all
Многие при использовании subfinder забывают использовать параметр -all. Директива -all позволяет использовать всех источники (crtsh, Common Crawl, Wayback Archive и т. д.) при перечислении субдоменов.
1 |
$ subfinder -d yahoo.com -all |
Как видите, теперь фреймворк смог найти 115266 поддоменов Yahoo примерно за 56 секунд и это не предел.
Получение API-ключей для Subfinder
А теперь попробуем еще больше разогнать Subfinder для этого нам потребуются API-ключи.
API нужно добавить в файл provider-config.yaml. Для этого открываем файл в редакторе:
1 |
$ nano .config/subfinder/provider-config.yaml |
Как вы видите, некоторые сервисы не активны. Для их работы надо будет зарегистрировать и добавить API-ключи.
Bufferover (бесплатно / платно)
Шаг 1: Перейдите на сайт bufferover
Шаг 2: Прокрутите вниз и выберите план.
Шаг 3: После регистрации придет письмо с подтверждением.
Binaryedge (бесплатно / платно)
- Перейдите на страницу binaryedge.
- Зарегистрируйтесь, а затем залогиньтесь используя учетную запись.
- Перейдите на https://app.binaryedge.io/account/api.
- Дайте какое-нибудь имя токену. В моем случае recon,
- Нажмите создать токен.
Censys ( бесплатно)
- Зайдите на сайт Censys.
- Зарегистрируйтесь, а затем, используя учетные данные авторизуйтесь.
- API-ключ будет здесь https://censys.io/account/api.
Более подробно о Censys, мы рассказывали в этой статье.
Certspotter (бесплатно)
- Перейдите на certspotter.
- Зарегистрируйтесь и авторизуйтесь используя учетные данные.
- На странице https://sslmate.com/account/api_keys будут находится все ваши API-ключи.
Chaos (бесплатно)
- Перейдите на https://chaos.projectdiscovery.io/#/
- Нажмите «Запросить доступ».
Chinaz (неизвестно)
Я так и не понял, как зарегистрироваться на этом сайте. Я обновлю статью, если разберусь.
Github (бесплатно)
- Зайдите на сайт Github и зарегистрируйтесь.
- Залогиньтесь и перейдите на страицну https://github.com/settings/tokens.
- Нажмите «Создать новый токен».
Intelx (бесплатно/платно)
- Заходим на сайт и регистрируем аккаунт.
- После авторизации, переходим на страницу https://intelx.io/account?tab=developer, где будет ключ API.
Passivetotal (бесплатно/платно)
- Регистрируем учетную запис на сайте.
- После авторизации, переходим на страницу https://community.riskiq.com/settings.
Robtex (бесплатно)
- Заходим на сайт Robtex и нажимаем войти с помощью Google.
- После авторизации вы увидите API-ключ.
Securitytrails (бесплатно / платно)
- Зайдите на сайт Securitytrails и зарегистрируйте новый аккаунт.
- После авторизации, перейдите на страницу https://securitytrails.com/app/account/credentials.
- Нажмите Create New API Key (Создать новый ключ API).
Shodan (бесплатно/платно)
- Перейдите на страницу регистрации нового аккаунта.
- После регистрации авторизуйтесь.
- API-ключ будет лежать в настроийках учетной записи.
Более подробно о хакерском поисковике Shodan, мы рассказывали в этой статье.
Threatbook (бесплатно)
- Зайдите на сайт и создайте учетную запись.
- Ваш API-ключ будет находится на странице https://x.threatbook.com/v5/myApi.
Urlscan (бесплатно)
- На странице регистрации создаем новую учетку..
- Заходим на https://urlscan.io/user/profile/ и видим свои ключи API.
Virustotal (бесплатно/платно)
- Создаем ночую учетную запись на Virustotal.
- В своем профиле https://www.virustotal.com/gui/user/daffainfo/apikey находим API-ключ.
Zoomeye и Zoomeyeapi (бесплатно/платно)
- На странице регистрации создаем учетку.
- Заходим в свой профиль и находим свой API.
Fofa (бесплатно)
- Зарегистрируем учетку и авторизуемся на сайте.
- В настройках учетной записи будет лежать API-ключ. Для отображения ключа нажмите кнопку с изображением глаза.
Fullhunt (бесплатно/платно)
- Заходим на сайт, регистрируем аккаунт и логинимся.
- API-ключ находим на этой странице https://fullhunt.io/user/settings/.
Эффективное использование Subfinder
После добавления API в provider-config.yaml файл будет выглядеть таким образом:
Теперь повторно запускаем команду:
1 |
$ subfinder -d yahoo.com -all |
Конечный результат
Вот несколько скриншотов, где я использовал Сабфайндер для разных условий.
Как видите, существует огромная разница между неиспользованием параметра -all, использованием -all и использованием -all с ключами API.
Итак, если вы хотите получить лучший результат с помощью Сабфайндер, не забудьте добавить API.
РЕКОМЕНДУЕМ:
С АПИ картина лучше 👍