qwerty120
Green Team
- 02.01.2025
- 17
- 3
Это детальный разбор одного из ключевых инструментов из нашего полного руководства по OSINT 2025. Если вы еще не читали основной гайд с обзором 25+ инструментов разведки, рекомендую начать с него для понимания общей картины.
Почему SubFinder заслуживает отдельного внимания
Представьте: вы тестируете безопасность крупной компании и стандартные сканеры находят 50 поддоменов. Кажется, все проверено. Но что если я скажу, что вы пропустили 450+ целей, включая dev-сервера, staging-окружения и забытые админки?Реальный пример: В марте 2024 исследователь использовал SubFinder с правильно настроенными API и обнаружил поддомен
staging-api.company.com, который вообще не индексировался поисковиками. На нем работала устаревшая версия API без аутентификации. Награда: $3,500 на HackerOne.SubFinder — это не просто "еще один сканер поддоменов". Это инструмент, который при правильной настройке увеличивает область атаки в 10 раз, используя данные из 30+ источников OSINT.
Быстрый старт за 5 минут
Установка (выберите удобный способ)
Вариант 1: Через Go (рекомендуется)
Bash:
# Требуется Go 1.21+
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
# Проверка установки
subfinder -version
# Вывод: subfinder version 2.6.9
Bash:
# Linux/MacOS
wget https://github.com/projectdiscovery/subfinder/releases/download/v2.6.9/subfinder_2.6.9_linux_amd64.zip
unzip subfinder_2.6.9_linux_amd64.zip
chmod +x subfinder
sudo mv subfinder /usr/local/bin/
# Windows - скачайте .zip с GitHub Releases и добавьте в PATH
Bash:
docker pull projectdiscovery/subfinder:latest
docker run projectdiscovery/subfinder -d example.com
Первый запуск — разочарование новичка
Давайте запустим SubFinder "из коробки" на реальной цели:
Bash:
subfinder -d hackerone.com
Мало? Это потому что без API ключей SubFinder использует только публичные источники без rate-лимитов. Вы получаете примерно 10% от реальных данных.
Правильный запуск — с флагами оптимизации
Bash:
# Детальный поиск с сохранением результатов
subfinder -d hackerone.com -o subdomains.txt -v -t 50 -timeout 30
# Расшифровка флагов:
# -o subdomains.txt — сохранить результаты в файл
# -v — показать какие источники работают/не работают
# -t 50 — использовать 50 потоков (ускорение в 5x)
# -timeout 30 — ждать ответа до 30 секунд
Секрет 10x результатов: настройка API источников
Вот где начинается настоящая магия. С правильно настроенными API ключами SubFinder превращается в монстра, находящего 500+ поддоменов там, где конкуренты видят 50.ТОП-5 бесплатных API для начала
| Сервис | Бесплатный лимит | Что дает | Регистрация | Статус для РФ |
|---|---|---|---|---|
| Chaos (ProjectDiscovery) | Безлимит* | +300-500 поддоменов |
Ссылка скрыта от гостей
| |
| SecurityTrails | 25 запросов/месяц | +200-300 поддоменов |
Ссылка скрыта от гостей
| |
| VirusTotal | 250 запросов/день | +100-150 поддоменов |
Ссылка скрыта от гостей
| |
| Shodan | 100 запросов/месяц | +50-100 поддоменов |
Ссылка скрыта от гостей
| |
| Censys | Требует корп. email | +150-200 поддоменов |
Ссылка скрыта от гостей
|
Новые источники 2025 (дополнительно)
| Сервис | Бесплатный лимит | Особенности |
|---|---|---|
| Bevigil | 300 запросов/месяц | Работает из РФ без регистрации |
| FullHunt | 100 запросов/месяц | Хорошая база по cloud инфраструктуре |
| Netlas | 50 запросов бесплатно | Аналог Shodan, работает из РФ |
Пошаговая настройка API
Шаг 1: Создайте конфигурационный файл
Bash:
# Linux/Mac
mkdir ~/.config/subfinder
nano ~/.config/subfinder/provider-config.yaml
# Windows
# Создайте C:\Users\%USERNAME%\.config\subfinder\provider-config.yaml
YAML:
# provider-config.yaml
# Формат для SubFinder 2.6.9
securitytrails:
api_key: "ВАШ_API_КЛЮЧ_SECURITYTRAILS"
censys:
app_id: "ВАШ_CENSYS_APP_ID"
secret: "ВАШ_CENSYS_SECRET"
virustotal:
- "ВАШ_API_КЛЮЧ_VIRUSTOTAL"
chaos:
api_key: "ВАШ_API_КЛЮЧ_CHAOS"
shodan:
- "ВАШ_API_КЛЮЧ_SHODAN"
# Новые источники 2025
bevigil:
api_key: "ВАШ_API_КЛЮЧ_BEVIGIL"
fullhunt:
api_key: "ВАШ_API_КЛЮЧ_FULLHUNT"
netlas:
api_key: "ВАШ_API_КЛЮЧ_NETLAS"
# Дополнительные платные/премиум источники
binaryedge:
- "ВАШ_API_КЛЮЧ_BINARYEDGE"
passivetotal:
username: "ВАШ_EMAIL"
api_key: "ВАШ_API_КЛЮЧ"
github:
- "ВАШ_GITHUB_TOKEN"
# Создайте token с правами public_repo
Bash:
# Тест с verbose режимом чтобы видеть какие API работают
subfinder -d example.com -v
# Вы увидите:
# [INF] Loading provider config from /home/user/.config/subfinder/provider-config.yaml
# [INF] Enumerating subdomains for example.com
# [INF] Found 127 subdomains for example.com from SecurityTrails
# [INF] Found 89 subdomains for example.com from Censys
# ...
Критически важно для российских пользователей
Некоторые API (SecurityTrails, Censys) могут быть заблокированы в РФ. Решение:
Bash:
# Используйте прокси
subfinder -d target.com -proxy http://proxy:8080
# Или исключите проблемные источники
subfinder -d target.com -exclude-sources securitytrails,censys,binaryedge,passivetotal
# Рабочие источники без блокировок в РФ (ноябрь 2025):
# chaos, virustotal (медленно), alienvault, urlscan, waybackarchive, crtsh, bevigil, netlas
Особенности использования в России (2025)
Работают без VPN:- crtsh, waybackarchive, alienvault, urlscan
- bevigil, netlas, fullhunt
- virustotal (работает, но медленно)
- securitytrails, censys, binaryedge, passivetotal
- builtwith, hunter, whoisxmlapi
- Личное использование - легально без ограничений
- Коммерческий OSINT - требует лицензию ФСБ
- Bug Bounty - оформите самозанятость/ИП для легальных выплат
- Важно: Логи всех запросов сохраняются в
~/.config/subfinder/logs/с версии 2.6.8
- HackerOne/Bugcrowd → Криптовалюта (USDT/BTC)
- Прямые контракты → Через партнерские компании
- YesWeHack → Поддерживает выплаты в РФ через крипто
Реальный кейс: от находки до $2,000 на Bug Bounty
Разберем реальный кейс из публичного отчета HackerOne (основан на отчетах 2024-2025 годов).Контекст
- Платформа: HackerOne (требуется KYC верификация с 2025)
- Компания: Крупный финтех (название под NDA)
- Scope: *.company.com
- Исследователь: @security_researcher
Процесс обнаружения
1. Первичное сканирование без API:
Bash:
subfinder -d company.com -o initial.txt
# Результат: 67 поддоменов
Bash:
# Внимание: используем новый флаг -use-sources all вместо устаревшего -all
subfinder -d company.com -use-sources all -config ~/.config/subfinder/provider-config.yaml -o full.txt
# Результат: 523 поддомена!
Bash:
# Находим уникальные поддомены, которых не было в первом сканировании
comm -13 <(sort initial.txt) <(sort full.txt) > new_discoveries.txt
# Результат: 456 новых поддоменов
Bash:
# Используем httpx для проверки живых хостов (обновленные флаги для версии 1.3.x)
cat new_discoveries.txt | httpx -silent -td -mc 200,301,302,403 -o alive.txt
# Результат: 89 живых хостов
В списке обнаружился
api-v1-deprecated.company.com:- Старая версия API, забытая после миграции
- GraphQL endpoint с включенной интроспекцией
- Отсутствовала rate limiting защита
Bash:
# GraphQL introspection запрос
curl -X POST https://api-v1-deprecated.company.com/graphql \
-H "Content-Type: application/json" \
-d '{"query": "{__schema{types{name,fields{name,type{name}}}}}"}'
# Ответ: полная схема API с внутренними endpoints
Результат
- Критичность: Medium (информационная утечка, потенциал для цепочки атак)
- Награда: $2,000
- Время: От сканирования до отчета — 4 часа
- Налоги: 15% для нерезидентов США (получено $1,700)
- Бонус: Попадание в ежемесячный топ исследователей
Ключевые уроки
- 456 поддоменов были бы пропущены без API ключей
- Staging/dev окружения часто имеют слабую защиту
- Автоматизация критична для скорости
SubFinder в цепочке OSINT-инструментов
SubFinder редко используется изолированно. Вот продвинутый workflow, который используют профессионалы:Автоматизированный Pipeline
Bash:
#!/bin/bash
# osint-pipeline.sh - Полная автоматизация разведки
# Требуется: subfinder 2.6.9+, dnsx 1.2+, httpx 1.3+, gowitness, nuclei 3.0+
TARGET=$1
OUTPUT_DIR="recon_$TARGET_$(date +%Y%m%d)"
mkdir -p $OUTPUT_DIR
echo "[*] Этап 1: Поиск поддоменов с SubFinder"
# Используем rate-limit для избежания блокировок
subfinder -d $TARGET -use-sources all -rate-limit 10 -o $OUTPUT_DIR/subdomains.txt
echo "[*] Этап 2: Резолвинг DNS и поиск живых хостов"
# Обновленные флаги для dnsx 1.2+
cat $OUTPUT_DIR/subdomains.txt | dnsx -silent -a -resp-only -o $OUTPUT_DIR/resolved.txt
echo "[*] Этап 3: Проверка HTTP/HTTPS сервисов"
# Обновленные флаги для httpx 1.3+ (-td вместо -tech-detect)
cat $OUTPUT_DIR/resolved.txt | httpx -silent -title -status-code -td -mc 200,301,302,403 -o $OUTPUT_DIR/httpx.txt
echo "[*] Этап 4: Скриншоты интересных целей"
# gowitness вместо устаревшего aquatone
cat $OUTPUT_DIR/httpx.txt | grep -E "200|301|302" | cut -d' ' -f1 > $OUTPUT_DIR/alive_urls.txt
gowitness file -f $OUTPUT_DIR/alive_urls.txt --screenshot-path $OUTPUT_DIR/screenshots
echo "[*] Этап 5: Поиск уязвимостей с Nuclei"
# Правильный путь для nuclei 3.0+ и rate limiting
nuclei -l $OUTPUT_DIR/httpx.txt -t ~/.local/nuclei-templates/ -rl 10 -c 10 -o $OUTPUT_DIR/vulns.txt
echo "[+] Разведка завершена! Результаты в $OUTPUT_DIR"
echo "[!] Логи SubFinder сохранены в ~/.config/subfinder/logs/"
Интеграция с другими инструментами из OSINT-арсенала
Python:
# subfinder_automation.py
import subprocess
import json
from datetime import datetime
def run_subfinder(domain, api_config_path):
"""Запуск SubFinder с Python обработкой результатов (для версии 2.6.9+)"""
cmd = [
'subfinder',
'-d', domain,
'-use-sources', 'all', # Новый флаг вместо -all
'-config', api_config_path,
'-json', # Изменен флаг для JSON вывода
'-silent'
]
result = subprocess.run(cmd, capture_output=True, text=True)
subdomains = []
# Обработка NDJSON формата (каждая строка - отдельный JSON объект)
for line in result.stdout.strip().split('\n'):
if line:
try:
data = json.loads(line)
subdomains.append({
'host': data.get('host', ''),
'source': data.get('source', 'unknown'),
'timestamp': datetime.now().isoformat()
})
except json.JSONDecodeError:
continue # Пропускаем невалидные строки
return subdomains
def enrich_with_shodan(subdomains, api_key):
"""Обогащение данных через Shodan API"""
import shodan
api = shodan.Shodan(api_key)
enriched = []
for subdomain in subdomains:
try:
# Получаем только хост без протокола
host = subdomain['host'].replace('http://', '').replace('https://', '')
host_info = api.host(host)
subdomain['ports'] = host_info.get('ports', [])
subdomain['vulns'] = host_info.get('vulns', [])
subdomain['org'] = host_info.get('org', '')
except Exception as e:
subdomain['error'] = str(e)
enriched.append(subdomain)
return enriched
# Использование
domains = ['example.com', 'target.org']
all_results = []
for domain in domains:
print(f"[*] Сканирование {domain}...")
subs = run_subfinder(domain, '~/.config/subfinder/provider-config.yaml')
print(f"[+] Найдено {len(subs)} поддоменов")
enriched = enrich_with_shodan(subs, 'YOUR_SHODAN_KEY')
all_results.extend(enriched)
# Сохранение для дальнейшего анализа
with open('recon_results.json', 'w') as f:
json.dump(all_results, f, indent=2, ensure_ascii=False)
print(f"[+] Результаты сохранены в recon_results.json")
SubFinder vs Amass vs CloudRecon: когда что использовать
Частый вопрос: "SubFinder, Amass или новый CloudRecon?". Правильный ответ: "Зависит от задачи".| Критерий | SubFinder 2.6.9 | Amass 4.2 | CloudRecon | Когда использовать |
|---|---|---|---|---|
| Скорость | SubFinder для быстрой разведки | |||
| Скрытность | SubFinder/CloudRecon для стелс | |||
| Источники | 35+ OSINT API | 55+ источников + брутфорс | Cloud провайдеры | Amass для максимального покрытия |
| Потребление ресурсов | Минимальное (50MB RAM) | Высокое (2GB+ RAM) | Среднее (200MB) | SubFinder на слабых VPS |
| Настройка | 5 минут | 30+ минут | 10 минут | SubFinder для быстрого старта |
| Точность | Высокая (мало мусора) | Средняя (нужна фильтрация) | Высокая | SubFinder/CloudRecon для чистых данных |
| Специализация | Универсальный | Глубокая разведка | AWS/Azure/GCP | CloudRecon для облачной инфраструктуры |
Оптимальная стратегия для 2025
Bash:
# 1. Быстрая разведка с SubFinder (2 минуты)
subfinder -d target.com -use-sources all -o subfinder_results.txt
# 2. Проверка облачной инфраструктуры с CloudRecon (5 минут)
cloudrecon -d target.com -p aws,azure,gcp -o cloud_assets.txt
# 3. Если нужно больше данных - запускаем Amass (30 минут)
amass enum -passive -d target.com -o amass_results.txt
# 4. Объединяем и фильтруем уникальные
cat subfinder_results.txt cloud_assets.txt amass_results.txt | sort -u > all_subdomains.txt
Хотите освоить Amass на том же уровне? Следите за нашей следующей статьей в серии инструментов OSINT.
FAQ: ответы на частые вопросы
Почему SubFinder находит так мало поддоменов?
Причина №1: Не настроены API ключи. Без них вы получаете 10% результатов.Решение: Настройте минимум 5 API из раздела выше (Chaos требует 2-3 дня на верификацию).
Причина №2: Целевой домен новый или маленький.
Решение: Используйте флаг
-recursive для поиска поддоменов у поддоменов.Причина №3: Устаревшие флаги команд.
Решение: Используйте
-use-sources all вместо устаревшего -all.Как работать через прокси/VPN в России?
Bash:
# HTTP прокси
subfinder -d target.com -proxy http://proxy:8080
# SOCKS5 прокси
subfinder -d target.com -proxy socks5://127.0.0.1:9050
# Исключение всех проблемных источников для РФ
subfinder -d target.com -exclude-sources securitytrails,censys,binaryedge,passivetotal,builtwith,hunter
# Использование только гарантированно рабочих в РФ источников
subfinder -d target.com -sources crtsh,waybackarchive,alienvault,bevigil,netlas,fullhunt
Какие источники работают без API ключей в 2025?
Бесплатные источники без регистрации:- crtsh (SSL сертификаты)
- waybackarchive (Web Archive)
- commoncrawl
- alienvault
- dnsdumpster (ограниченно)
- riddler (новый в 2025)
Как избежать rate-лимитов и банов?
Bash:
# Ограничение запросов (обязательно для 2025)
subfinder -d target.com -rate-limit 5 # 5 запросов/сек на источник
# Увеличение таймаутов для медленных API
subfinder -d target.com -timeout 60
# Использование только стабильных источников
subfinder -d target.com -sources crtsh,chaos,virustotal,bevigil
Законно ли использовать SubFinder в 2025?
Международное право:- SubFinder выполняет только пассивную разведку — легально
- Bug Bounty программы — легально в рамках scope
- OSINT исследования публичных данных — легально
- Личное использование и обучение — без ограничений
- Коммерческий OSINT — требует лицензию ФСБ
- Bug Bounty как самозанятый/ИП — легально
- Сбор данных о гражданах РФ без согласия — нелегально
- Всегда проверяйте правила конкретной Bug Bounty программы
- SubFinder сохраняет логи в
~/.config/subfinder/logs/с версии 2.6.8 - Очищайте логи после работы на shared системах
- Для анонимности используйте VPN + отдельную VM
Что дальше: ваш путь в OSINT
Поздравляю! Теперь вы умеете:- Устанавливать и настраивать SubFinder 2.6.9
- Получать в 10 раз больше результатов через API
- Работать в условиях блокировок из РФ
- Интегрировать SubFinder в автоматизированные пайплайны
- Соблюдать легальные требования 2025 года
Важное предупреждение о безопасности
С версии 2.6.8 SubFinder сохраняет все логи в ~/.config/subfinder/logs/:
Bash:
# Проверьте что записано в логах
ls -la ~/.config/subfinder/logs/
# Очистите логи после работы
rm -rf ~/.config/subfinder/logs/*
# Отключите логирование (добавьте в ~/.bashrc)
export SUBFINDER_LOG_LEVEL=silent
Следующие шаги
- Вернитесь к основному гайду → OSINT 2025: Полное руководство содержит еще 24 инструмента для изучения
- Практикуйтесь на легальных целях:
-
Ссылка скрыта от гостей- Bug Bounty программы (требует KYC)
-
Ссылка скрыта от гостей- Краудсорсинг безопасности
-
Ссылка скрыта от гостей- Поддерживает крипто-выплаты для РФ
-
- Систематическое обучение → Если хотите освоить не только SubFinder, но и полный арсенал OSINT-инструментов с учетом специфики 2025 года, обратите внимание на курс OSINT Offensive от Codeby School. Это структурированное погружение в мир разведки с практическими заданиями, поддержкой менторов и актуальными кейсами.
Реальные перспективы в 2025
- Junior Bug Hunter: $500-2,000/месяц (part-time)
- Middle OSINT Specialist: 120,000-200,000₽/месяц (РФ)
- Senior Security Researcher: $5,000-15,000/месяц (remote)
Бонус: Чеклист для первой находки в 2025
Markdown (GitHub flavored):
□ Подготовка:
□ Пройдите KYC верификацию на HackerOne/Bugcrowd (2-5 дней)
□ Оформите самозанятость/ИП для легальных выплат (для РФ)
□ Настройте криптокошелек для получения выплат (USDT/BTC)
□ Выбор цели:
□ Найдите программу с широким scope (*.company.com)
□ Проверьте минимальные выплаты (от $100 в 2025)
□ Изучите out-of-scope (staging/dev часто исключены)
□ Разведка:
□ Настройте минимум 5 API для SubFinder
□ Запустите: subfinder -d target.com -use-sources all
□ Проверьте живые хосты: cat subs.txt | httpx -silent -td
□ Поиск уязвимых целей:
□ Ищите: api-v1, api-old, legacy, deprecated, backup
□ Избегайте: staging, dev, test (часто out-of-scope)
□ Проверьте: robots.txt, security.txt, /.git/, /graphql
□ Автоматизация проверок:
□ nuclei -l alive.txt -t ~/.local/nuclei-templates/exposures/
□ Проверьте GraphQL интроспекцию
□ Ищите открытые админки и дашборды
□ Отчет и выплата:
□ Пишите отчет сразу после находки (конкуренция!)
□ Используйте шаблоны платформы
□ Ожидайте выплату 30-90 дней
□ Учтите налоги: 15% для нерезидентов США
Остались вопросы? Обсудим в комментариях. Делитесь своими находками!