Faster virtual host and subdomain search without DNS records with GoVHost.

WILD

Administrator
Staff member
ADMIN
SELLER
SUPREME
MEMBER
Joined
Jan 21, 2025
Messages
219
Reaction score
637
Deposit
0$
1. Как ускорить сканирование виртуальных хостов (VHostScan)
VHostScan — это утилита, часто используемая для обнаружения виртуальных хостов. Она доказала свою эффективность, как подробно описано в статье «Поиск виртуальных хостов веб-серверов».
Однако на практике VHostScan показывает низкую производительность. Сканирование даже нескольких десятков виртуальных хостов на одном сервере занимает значительное количество времени. Кроме того, утилита не поддерживает многопоточность, а её ускорение стандартными методами (без использования чересстрочной или параллельной обработки) невозможно.
(См. также: «Как ускорить сканирование большого количества веб-сайтов. Часть 1: Чересстрочная развертка для сканирования многопоточных веб-приложений»)
Часто возникает необходимость сканирования большого количества виртуальных хостов или поддоменов, не имеющих DNS-записей. Это привело к поиску и разработке инструмента, позволяющего очень быстро определить, какие виртуальные хосты активны на конкретном сервере.
Примеры "поддоменов без DNS-записей", знакомые тем, кто проходит обучение в HackTheBox:

pma.planning.htb
grafana.planning.htb
blog.planning.htb
магазин.планирование.htb

Подобные домены и поддомены с нестандартными доменными расширениями (TLD) встречаются и в реальных корпоративных сетях. Они функционируют благодаря корпоративным DNS-серверам, которые могут разрешать любые имена, включая те, у которых отсутствуют TLD или их нет вовсе. (Корпоративные DNS-серверы широко распространены, поскольку, например, Active Directory не может функционировать без них.)
Таким образом, поиск виртуальных хостов, включая поддомены без DNS-записей, является актуальной практической задачей.
2. Руководство по использованию GoVHost
В этом руководстве рассматривается программа GoVHost. Эта утилита не входит в стандартные дистрибутивы для пентестеров; я нашел её на GitHub. GoVHost — это программа с открытым исходным кодом, и её можно изучить (она очень компактна).
Инструкции по установке и полный список опций доступны на странице программы: https://kali.tools/?p=7444. (Я не буду дублировать эту информацию на HackWare.ru, так как она часто меняется, и мне приходится обновлять её в нескольких местах, включая мои англоязычные ресурсы. Поэтому, пожалуйста, обращайтесь к странице программы по указанной ссылке.)
Для работы GoVHost требуется словарь. Вы можете использовать любой подходящий словарь, например, те, которые поставляются с утилитой Amass.
Программа имеет две обязательные опции:

-domains DICTIONARY: Укажите файл, содержащий список имен хостов.
-ip IP_ADDRESS: Укажите IP-адрес сервера, на котором следует искать виртуальные хосты.

Пример команды для сканирования виртуальных хостов из файла domains.txt на сервере с IP-адресом 192.168.1.100:
govhost -ip 192.168.1.100 -domains domains.txt
По умолчанию сканирование выполняется в 5 потоках, и для HTTP-соединений устанавливается тайм-аут.
1
govhost -domains domains.txt -ip 192.168.1.100 -threads 100 -timeout 5 -match "200,302"
3. Как искать поддомены без DNS-записей. Как искать поддомены HackTheBox
Но что, если вам нужно найти поддомены, например, для сайта planning.htb (или любого другого сайта с несуществующим доменом верхнего уровня)?

Существует множество хороших, эффективных и быстрых инструментов для поиска по поддоменам (включая те, которые не требуют перебора паролей), например:

Поиск поддоменов и построение графов сетевой структуры с помощью Amass.
Поиск поддоменов без перебора паролей.
Самый быстрый поиск и мониторинг новых поддоменов (работает и на Windows!).

Однако в случае несуществующих доменов верхнего уровня необходимо искать поддомены как виртуальные хосты (конечно, поддомены тоже являются виртуальными хостами — думаю, вы понимаете разницу). Поэтому мы воспользуемся утилитой GoVHost.

Но нам нужен словарь. В качестве основы для словаря я буду использовать файл /usr/share/amass/wordlists/all.txt (как вы можете догадаться по пути к файлу, я получил этот файл при установке Amass). Следующая команда добавит строку ".DOMAIN" к каждой строке в файле all.txt, а новые строки будут сохранены в файл NEW.txt.
1 sed -e 's/$/.DOMAIN/' /usr/share/amass/wordlists/all.txt > NEW.txt
Фактическая команда:

1 sed -e 's/$/.planning.htb/' /usr/share/amass/wordlists/all.txt > planning.htb.txt
Давайте проверим, что у меня получилось:
1774561556088.png
Как видите, я получил очень большой список поддоменов для доменного имени planning.htb. Файл содержит более 420 000 записей. Давайте проверим, сможет ли GoVHost обработать такое количество виртуальных хостов и сколько времени это займет:

1 govhost -domains planning.htb.txt -ip 10.10.11.68 -threads 1000 -timeout 5 -match "200,302"
Примечание (и СПОЙЛЕР!): Если вы хотите протестировать команду этой машины на первом объекте, то она протестировала "Планирование" на HackTheBox — соответствующую машину, и поиск поддоменов на ней является отправной точкой для взлома.
1774561592414.png
 
Top Bottom