Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

SubRecon

Инструмент для разведки инфраструктуры и поиска поддоменов по открытым источникам (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 (устанавливается автоматически при первом запуске, если отсутствует в системе)

Установка

  1. Клонируйте репозиторий или скачайте файлы install.sh и subrecon.py.
  2. Запустите скрипт установки зависимостей:
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, найденных в архивах интернета

Как это работает

  1. Сбор поддоменов: Скрипт обращается к публичным API (crt.sh, HackerTarget) и запускает бинарный файл subfinder. Результаты объединяются и очищаются от дубликатов.
  2. Обогащение данных: Для каждого поддомена выполняется DNS-запрос (dig) для получения IP и CNAME. Затем через whois определяется владелец IP-адреса.
  3. Классификация: Название поддомена и данные WHOIS сверяются с базой правил (VENDOR_RULES и SERVICE_PATTERNS) для определения вендора (например, Amazon) и назначения (например, "Тестовая среда").
  4. Архивный поиск: Если выбран режим crawl, инструмент обращается к индексам Common Crawl и API Wayback Machine, собирая исторические ссылки, связанные с доменом.

Лицензия

Инструмент предназначен для образовательных целей и тестирования безопасности собственных инфраструктур. Используйте ответственно.

SubRecon

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.

Features

  • Subdomain Discovery: Aggregates data from crt.sh, HackerTarget, and runs the local subfinder utility.
  • 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).

Requirements

To run the script, you need:

  • Python 3.6+
  • System utilities: dig (dnsutils), whois
  • subfinder utility (installed automatically on first launch if not found in the system)

Installation

  1. Clone the repository or download the install.sh and subrecon.py files.
  2. Run the dependency installation script:
chmod +x install.sh
./install.sh

The script will check for a virtual environment, install the requests library, and necessary system packages (dig, whois, subfinder).

Usage

Basic Syntax

python subrecon.py <target> [options]

Command Examples

Search for a single domain and save all data:

python subrecon.py example.com

Search for subdomains only (without archive scanning):

python subrecon.py example.com --mode subdomains

Search in archives only (Common Crawl / Wayback):

python subrecon.py example.com --mode crawl

Work with a list of domains from a file:

python subrecon.py targets.txt

Command Line Arguments

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

Output Structure

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

How It Works

  1. Subdomain Collection: The script queries public APIs (crt.sh, HackerTarget) and runs the subfinder binary. Results are merged and deduplicated.
  2. Data Enrichment: For each subdomain, a DNS query (dig) is performed to get the IP and CNAME. Then, whois is used to determine the IP owner.
  3. 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").
  4. Archive Search: If crawl mode is selected, the tool accesses Common Crawl indexes and the Wayback Machine API to collect historical links associated with the domain.

License

This tool is intended for educational purposes and security testing of your own infrastructure. Use responsibly.

About

OSINT tool for infrastructure reconnaissance, subdomain enumeration via crt.sh and subfinder, owner classification using WHOIS data, and archive scanning across Common Crawl and Wayback Machine.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages