Инструмент для разведки инфраструктуры и поиска поддоменов по открытым источникам (OSINT). Утилита автоматизирует сбор данных о целевых доменах, определяет их владельцев, назначение сервисов и сканирует архивы интернета на наличие скрытых URL.
- Поиск поддоменов: Агрегация данных из crt.sh, HackerTarget и запуск локальной утилиты subfinder.
- Определение инфраструктуры: Резолвинг IP-адресов и CNAME-записей с кэшированием результатов.
- Классификация владельцев: Автоматическое определение провайдера (AWS, Azure, GCP, Cloudflare и др.) или организации через WHOIS.
- Анализ назначения: Распознавание типа сервиса (почта, API, тестовая среда, панель управления) по регулярным выражениям.
- Поиск в архивах: Сканирование Common Crawl и Wayback Machine для обнаружения исторических URL и забытых ресурсов.
- Гибкий вывод: Сохранение результатов в текстовые файлы (списки IP, поддоменов или полные отчеты).
Для работы скрипта необходимы:
- Python 3.6+
- Системные утилиты:
dig(dnsutils),whois - Утилита
subfinder(устанавливается автоматически при первом запуске, если отсутствует в системе)
- Клонируйте репозиторий или скачайте файлы
install.shиsubrecon.py. - Запустите скрипт установки зависимостей:
chmod +x install.sh
./install.shСкрипт проверит наличие виртуального окружения, установит библиотеку requests и необходимые системные пакеты (dig, whois, subfinder).
python subrecon.py <цель> [опции]Поиск по одному домену с сохранением всех данных:
python subrecon.py example.comПоиск только поддоменов (без сканирования архивов):
python subrecon.py example.com --mode subdomainsПоиск только в архивах (Common Crawl / Wayback):
python subrecon.py example.com --mode crawlРабота со списком доменов из файла:
python subrecon.py targets.txt| Аргумент | Описание |
|---|---|
target |
Домен, путь к файлу со списком целей или существующая папка |
--mode |
Режим работы: all (по умолчанию), subdomains, crawl |
--save |
Что сохранять после резолвинга: all (по умолчанию), subdomains, ips, report |
Результаты сохраняются в папку с именем цели (или временную папку при работе со списком). Внутри создаются следующие файлы:
<имя>_subdomains.txt- чистый список найденных поддоменов<имя>_ips.txt- список уникальных IP-адресов<имя>_origin_report.txt- подробный отчет с привязкой поддомена, IP, владельца и типа сервиса<имя>_crawl.txt- список URL, найденных в архивах интернета
- Сбор поддоменов: Скрипт обращается к публичным API (crt.sh, HackerTarget) и запускает бинарный файл
subfinder. Результаты объединяются и очищаются от дубликатов. - Обогащение данных: Для каждого поддомена выполняется DNS-запрос (
dig) для получения IP и CNAME. Затем черезwhoisопределяется владелец IP-адреса. - Классификация: Название поддомена и данные WHOIS сверяются с базой правил (VENDOR_RULES и SERVICE_PATTERNS) для определения вендора (например, Amazon) и назначения (например, "Тестовая среда").
- Архивный поиск: Если выбран режим
crawl, инструмент обращается к индексам Common Crawl и API Wayback Machine, собирая исторические ссылки, связанные с доменом.
Инструмент предназначен для образовательных целей и тестирования безопасности собственных инфраструктур. Используйте ответственно.
A tool for infrastructure reconnaissance and subdomain discovery using Open Source Intelligence (OSINT). The utility automates data collection about target domains, identifies their owners, determines service purposes, and scans internet archives for hidden URLs.
- Subdomain Discovery: Aggregates data from crt.sh, HackerTarget, and runs the local
subfinderutility. - Infrastructure Mapping: Resolves IP addresses and CNAME records with result caching.
- Owner Classification: Automatically identifies providers (AWS, Azure, GCP, Cloudflare, etc.) or organizations via WHOIS lookups.
- Purpose Analysis: Recognizes service types (email, API, staging environment, admin panel) using regular expressions.
- Archive Scanning: Searches Common Crawl and Wayback Machine to discover historical URLs and forgotten resources.
- Flexible Output: Saves results to text files (lists of IPs, subdomains, or full reports).
To run the script, you need:
- Python 3.6+
- System utilities:
dig(dnsutils),whois subfinderutility (installed automatically on first launch if not found in the system)
- Clone the repository or download the
install.shandsubrecon.pyfiles. - Run the dependency installation script:
chmod +x install.sh
./install.shThe script will check for a virtual environment, install the requests library, and necessary system packages (dig, whois, subfinder).
python subrecon.py <target> [options]Search for a single domain and save all data:
python subrecon.py example.comSearch for subdomains only (without archive scanning):
python subrecon.py example.com --mode subdomainsSearch in archives only (Common Crawl / Wayback):
python subrecon.py example.com --mode crawlWork with a list of domains from a file:
python subrecon.py targets.txt| Argument | Description |
|---|---|
target |
Domain, path to a file with target list, or an existing folder |
--mode |
Operation mode: all (default), subdomains, crawl |
--save |
What to save after resolution: all (default), subdomains, ips, report |
Results are saved in a folder named after the target (or a temporary folder when working with a list). The following files are created inside:
<name>_subdomains.txt- clean list of found subdomains<name>_ips.txt- list of unique IP addresses<name>_origin_report.txt- detailed report linking subdomain, IP, owner, and service type<name>_crawl.txt- list of URLs found in internet archives
- Subdomain Collection: The script queries public APIs (crt.sh, HackerTarget) and runs the
subfinderbinary. Results are merged and deduplicated. - Data Enrichment: For each subdomain, a DNS query (
dig) is performed to get the IP and CNAME. Then,whoisis used to determine the IP owner. - Classification: The subdomain name and WHOIS data are checked against rule bases (VENDOR_RULES and SERVICE_PATTERNS) to identify the vendor (e.g., Amazon) and purpose (e.g., "Staging Environment").
- Archive Search: If
crawlmode is selected, the tool accesses Common Crawl indexes and the Wayback Machine API to collect historical links associated with the domain.
This tool is intended for educational purposes and security testing of your own infrastructure. Use responsibly.