Алексей Куприков
New member
SubScanPy - это сканер поддоменов DNS на основе списка слов на языке python.
Ссылка на скачивание -> git
Сначала скрипт попытается выполнить перенос зоны, используя каждый из серверов имен целевого домена.
Если это не удастся, программа выполнит поиск записей TXT и MX для домена, а затем выполнит рекурсивное сканирование поддомена, используя предоставленный список слов.
Пользовательские точки вставки можно задать, добавив "%%" в доменное имя, например:
Первые четыре (subdomains-100.txt, subdomains-500.txt, subdomains-1000.txt и subdomains-10000.txt) были созданы путем анализа наиболее часто встречающихся подобластей примерно в 86 000 файлах зон, которые были переданы в рамках отдельного исследовательского проекта. Эти списки слов отсортированы по популярности поддоменов (точнее, по проценту зон, которые содержали их в наборе данных).
Окончательный (и используемый по умолчанию) список слов (subdomains.txt) основан на лучших поддоменах по популярности, но в него был внесен ряд дополнений вручную на основе доменов, выявленных в ходе тестирования.
Этот список отсортирован в алфавитном порядке и в настоящее время содержит приблизительно 770 записи.
Обратите внимание, что при использовании этой опции вам следует указывать только базу доменного имени ("github" и "github.com").
Для установки зависимостей выполните следующую команду:
Ссылка на скачивание -> git
Сначала скрипт попытается выполнить перенос зоны, используя каждый из серверов имен целевого домена.
Если это не удастся, программа выполнит поиск записей TXT и MX для домена, а затем выполнит рекурсивное сканирование поддомена, используя предоставленный список слов.
Usage
Bash:
$ SubScanPy.py (-d <domain> | -l <list>) [OPTIONS]
Обязательные аргументы
Bash:
-d --domain Целевой домен; ИЛИ
-l --list Файл с доменами для сканирования, разделенными новой строкой; ИЛИ
-b BRUTEFORCE, --bruteforce BRUTEFORCE Длина генерируемого поддомена в формате 6 или 3-8
Опциональные аргументы
Bash:
-h, --help show this help message and exit
-w WORDLIST, --wordlist WORDLIST Словарь
-t THREADS, --threads THREADS Количество потоков
-6, --ipv6 Сканировать записи AAAA
-z, --zonetransfer Только выполнять передачу зоны
-r, --recursive Рекурсивно сканировать поддомены
--recurse-wildcards Рекурсивно сканировать подстановочные знаки (медленно)
-m MAXDEPTH, --maxdepth MAXDEPTH Максимальная глубина рекурсии (для перебора)
-a, --alterations Сканировать изменения поддоменов (медленно)
-R RESOLVERS, --resolver RESOLVERS Использовать указанные резолверы (разделенные запятыми)
-L RESOLVER_LIST, --resolver-list RESOLVER_LIST Файл, содержащий список резолверов
-T, --tld Сканировать TLD
-o OUTPUT_FILENAME, --output OUTPUT_FILENAME Записать вывод в файл
-i OUTPUT_IPS, --output-ips OUTPUT_IPS Записать обнаруженные IP-адреса в файл
-D, --domain-first Выводить сначала домен, а не IP-адрес
-N, --no-ip Не выводить IP-адреса в выводе
-v, --verbose Подробный режим
-n, --nocheck Не проверять серверы имен перед сканированием
-q, --quick Только выполнять передачу зоны и сканирование поддоменов с минимальным выводом в файл
Пользовательские точки вставки можно задать, добавив "%%" в доменное имя, например:
Bash:
$ SubScanPy.py -d dev-%%.example.org<br>
Wordlists
Несколько списков слов поставляются вместе с SubScanPy.Первые четыре (subdomains-100.txt, subdomains-500.txt, subdomains-1000.txt и subdomains-10000.txt) были созданы путем анализа наиболее часто встречающихся подобластей примерно в 86 000 файлах зон, которые были переданы в рамках отдельного исследовательского проекта. Эти списки слов отсортированы по популярности поддоменов (точнее, по проценту зон, которые содержали их в наборе данных).
Окончательный (и используемый по умолчанию) список слов (subdomains.txt) основан на лучших поддоменах по популярности, но в него был внесен ряд дополнений вручную на основе доменов, выявленных в ходе тестирования.
Этот список отсортирован в алфавитном порядке и в настоящее время содержит приблизительно 770 записи.
Сканирование TLD
Параметр -T (--tld) можно использовать для поиска всех TLD, в которых существует конкретное доменное имя. По умолчанию будет использоваться tlds.txt список, содержащий все TLD, перечисленные IANA (включая новые TLD). Вы также можете указать пользовательский список слов с помощью -w. Прилагаемый файл suffixes.txt представляет собой сокращенную версию общедоступного списка суффиксов, поэтому он будет включать большинство доменов второго уровня (таких как co.uk).Обратите внимание, что при использовании этой опции вам следует указывать только базу доменного имени ("github" и "github.com").
Изменения
Переключатель "-a"/"--alternations" добавляет различные префиксы и суффиксы (такие как "dev", "test", "01" и т.д.) к доменам, как с дефисами, так и без них. Это приводит к большому количеству дополнительных перестановок (примерно 60 перестановок на домен), поэтому выполняется намного медленнее, особенно при использовании больших списков слов.Установка
Для работы с SubScanPy требуется Python 3 и библиотеки netaddr (версии 0.7.19 или выше) и dnspython (версии 2.0.0 или выше).Для установки зависимостей выполните следующую команду:
Bash:
$ pip install -r requirements.txt