
Инструмент для перечисления поддоменов и целей, созданный для тестирования на проникновение
Обзор
:small_blue_diamond:
Использование
:small_blue_diamond:
Вклад
SubScraper — это инструмент для перечисления поддоменов, использующий различные методы для поиска поддоменов заданной цели. Перечисление поддоменов особенно полезно при тестировании на проникновение и охоте за багами для выявления поверхности атаки организации.
В зависимости от переданных аргументов командной строки SubScraper может разрешать DNS-имена, запрашивать информацию по HTTP(S) и выполнять CNAME-запросы для выявления возможностей перехвата в процессе перечисления. Это помогает определить дальнейшие шаги и обнаружить шаблоны для эксплуатации.
.txt или STDIN..txt или .csv.
Для установки SubScraper на Windows, Linux и MacOS можно использовать следующее:
git clone https://github.com/m8sec/subscraper
cd subscraper
pip3 install -r requirements.txt
Установка и запуск SubScraper через Poetry:
git clone https://github.com/m8sec/subscraper
cd subscraper
poetry install
poetry run subscraper -h
Вы можете собрать Docker-образ и запустить subscraper из Docker:
git clone https://github.com/m8sec/subscraper
cd subscraper
docker build -t m8sec/subscraper .
# Показать справку
docker run --rm m8sec/subscraper
# Пример сканирования сайта
docker run --rm m8sec/subscraper -d example.com
Используйте файл конфигурации ~/.config/subscraper/config.json для хранения API-ключей для повторного использования.
При обновлении до более новой версии после v4.0.0 используйте аргумент -update, чтобы загрузить новую копию файла конфигурации и обеспечить совместимость. Примечание: это удалит все существующие записи ключей.
Полный список модулей можно получить с помощью аргумента командной строки -ls:
bevigil - BeVigil OSINT API для сканирования мобильных приложений на предмет поддоменов (требуется API-ключ)
crt.sh - Перечисление поддоменов с помощью crt.sh.
virustotal - Поиск поддоменов в VirusTotal (требуется API-ключ)
dnsrepo - Парсинг dnsrepo.noc.org без API-ключа — ограничение 150 результатов
chaos - Project Discovery's Chaos (требуется API-ключ)
certspotter - Использование Certspotter API для сбора поддоменов
bufferover - Запрос к Bufferover.run API (требуется API-ключ)
alienvault - Поиск поддоменов через AlienVault OTX
redhuntlabs - RedHunt Labs recon API (требуется API-ключ)
archive - Использование archive.org для поиска поддоменов.
dnsdumpster - Использование DNS dumpster для перечисления поддоменов.
censys.io - Сбор поддоменов через SSL-сертификаты censys.io. (требуется API-ключ)
shodan - Получение поддоменов с помощью Shodan (требуется API-ключ)
SubScraper Options:
-debug Включить отладочное логирование
-update Обновить файл конфигурации (удалит существующие записи)
-config CONFIG Переопределить расположение конфигурации по умолчанию
-silent Показывать только поддомены в выводе
-threads THREADS, -T THREADS Максимальное количество потоков для перечисления (65*).
-t TIMEOUT Установить таймауты соединения (3*)
-d DOMAIN, --domain DOMAIN Целевой домен (домен, .txt, STDIN и т.д.)
Module Options:
-ls Список модулей перечисления SubScraper.
-m MODULES Выполнить модуль(и) по имени или группе (all*).
-module-only Выполнять только модули, без брутфорса
Bruteforce Options:
-w WORDLIST Пользовательский словарь для DNS-брутфорса.
-ns NS Разделенные запятыми серверы имен
Enumeration Options:
-r, -resolve Разрешить IP-адрес для каждого найденного поддомена.
-c, -cname Выполнить CNAME-запрос для проверки на возможность перехвата поддомена
-http Проверить активные HTTP-сервисы.
-http-port HTTP_PORT Порты HTTP для проверки, разделенные запятыми (80,443*)
Output Options:
-nc, -no-color Отключить цветной вывод
-active Сообщать только об активных поддоменах с разрешённым IP
-csv Создать отчёт в формате CSV
-o REPORT Выходной файл
python3 subscraper.py -d example.com -resolve -http -module-only
python3 subscraper.py -d example.com -cname -m none -o sub_report.csv -csv
cat domains.txt | python3 subscraper.py -active -silent
Внесите вклад в проект: