
Генерирует списки активных хостов и URL-адресов для таргетинга, автоматизируя использование MassDNS, Masscan и nmap для фильтрации недоступных хостов и сбора информации о службах.
Генерирует списки живых хостов и URL-адресов для таргетирования, автоматизируя использование Massdns, Masscan и nmap для отсеивания недоступных хостов.
Имея входной файл с доменными именами, этот скрипт автоматизирует использование MassDNS для отсеивания неразрешаемых хостов, а затем передает результаты в Masscan для подтверждения доступности хостов и определения открытых портов. Скрипт сгенерирует список полных URL-адресов для дальнейшего таргетирования (передачи в такие инструменты, как gobuster или dirsearch, или выполнения HTTP-запросов), список доступных доменных имен и список доступных IP-адресов. В качестве опционального последнего шага вы можете запустить сканирование версий nmap на этом сокращенном списке хостов, чтобы подтвердить, что ранее найденные хосты активны, и собрать информацию о службах на их открытых портах.
Этот скрипт особенно полезен для больших наборов доменов, например, для перечислений поддоменов, собранных для основного домена с тысячами поддоменов. С такими большими списками сканирование nmap заняло бы слишком много времени. Цель здесь — сначала использовать менее точный, но гораздо более быстрый MassDNS для быстрого уменьшения размера входного списка путем удаления неразрешаемых доменов. Затем Masscan сможет взять выходные данные MassDNS и дополнительно подтвердить доступность хостов и открытые порты. Скрипт обработает эти результаты и сгенерирует списки обнаруженных живых хостов.
Теперь список хостов должен быть достаточно сокращен для дальнейшего сканирования/тестирования. Если вы хотите пойти дальше, вы можете указать скрипту запустить сканирование nmap на списке доступных хостов, что займет более разумное время благодаря меньшему списку. После запуска nmap любые ложные срабатывания, полученные от Masscan, будут отфильтрованы. Сырой вывод nmap будет сохранен в стандартном XML-формате nmap, а дополнительная информация, полученная при определении версий, будет добавлена в базу данных SQLite.

Если вы используете опцию сканирования nmap, этот инструмент предполагает, что nmap уже установлен
Примечание: Запуск скрипта установки требуется только в том случае, если у вас еще не установлены MassDNS и Masscan, или если вы хотите переустановить их в этом репозитории. Если вы не запускаете скрипт, вы можете указать пути к соответствующим исполняемым файлам в качестве аргументов. Скрипт также ожидает, что файл со списком резолверов, входящий в состав MassDNS, находится по пути {massDNS_directory}/lists/resolvers.txt.
git clone https://github.com/allyomalley/LiveTargetsFinder.git
cd LiveTargetsFinder
sudo pip3 install -r requirements.txt
(ОПЦИОНАЛЬНО)
chmod +x install_deps.sh
./install_deps.sh
Если у вас еще не установлены MassDNS и Masscan, и вы предпочитаете установить их самостоятельно, обратитесь к документации за инструкциями:
Я тестировал этот скрипт только на macOS и Linux — сам скрипт Python должен работать на Windows, хотя установка MassDNS и Masscan, вероятно, будет отличаться.
python3 liveTargetsFinder.py [domainList] [options]
-s (--hashmap-size) был выбран для повышения производительности — скорее всего, вы сможете его увеличить.-c 25 -o J -r ./massdns/lists/resolvers.txt -s 100 -w massdnsOutput -t A targetHosts--max-rate для Masscan — вы, вероятно, захотите его настроить.
-iL ipFile -oD masscanOutput --open-only --max-rate 5000 -p80,443 --max-retries 10--script http-server-header.nse,http-devframework.nse,http-headers -sV -T4 -p80,443 -oX {output.xml}Если скрипт установки был запущен:
python3 liveTargetsFinder.py --target-list victim_domains.txt
Если скрипт установки НЕ был запущен:
python3 liveTargetsFinder.py --target-list victim_domains.txt --massdns-path ../massdns/bin/massdns --masscan-path ../masscan/bin/masscan
Выполнить сканирование nmap и записать/добавить в базу данных по умолчанию (liveTargetsFinder.sqlite3)
python3 liveTargetsFinder.py --target-list victim_domains.txt --nmap
Выполнить сканирование nmap и записать/добавить в указанную базу данных
python3 liveTargetsFinder.py --target-list victim_domains.txt --nmap --db-path serviceinfo_victim.sqlite3
Входные данные: victimDomains.txt
| Флаг | Описание | По умолчанию | Обязательно |
|---|
--target-list | Входной файл, содержащий список доменов, например google.com | Да | |
--massdns-path | Путь к исполняемому файлу MassDNS, если нестандартный | ./massdns/bin/massdns | Нет |
--masscan-path | Путь к исполняемому файлу Masscan, если нестандартный | ./masscan/bin/masscan | Нет |
--nmap | Запустить сканирование определения версий nmap на собранных живых хостах | Отключено | Нет |
--db-path | При использовании опции --nmap укажите путь к базе данных, к которой нужно добавить записи (будет создана, если не существует) | output/liveTargetsFinder.sqlite3 | Нет |
| Файл | Описание | Примеры |
|---|
| output/victimDomains_targetUrls.txt | Список доступных, живых URL | https://github.com, http://github.com |
| output/victimDomains_domains_alive.txt | Список живых доменных имен | github.com, google.com |
| output/victimDomains_ips_alive.txt | Список живых IP-адресов | 10.1.0.200, 52.3.1.166 |
| Указанный или путь по умолчанию | База данных SQLite, хранящая живые хосты и информацию о запущенных службах | |
| output/victimDomains_massdns.txt | Сырой вывод MassDNS в формате ndjson | |
| output/victimDomains_masscan.txt | Сырой вывод Masscan в формате ndjson | |
| output/victimDomains_nmap.txt | Сырой вывод nmap в формате XML |