Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
vhosts-sieve — Поиск виртуальных хостов среди неразрешаемых доменов | Kitploit
Инструменты/GitHubGitHub/dariusztytko/vhosts-sieve
РазведкаСбор информацииВеб-безопасностьТестирование на ПроникновениеПеречисление Поддоменов
GitHubdariusztytko/vhosts-sieve

vhosts-sieve

Поиск виртуальных хостов среди неразрешаемых доменов

Репозиторий
88256 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

VHosts Sieve

Поиск виртуальных хостов среди неразрешаемых доменов.

Установка

root@kitploit:~
git clone https://github.com/dariusztytko/vhosts-sieve.git
pip3 install -r vhosts-sieve/requirements.txt

Использование

Получите список поддоменов (например, с помощью Amass)

root@kitploit:~
$ amass enum -v -passive -o domains.txt -d example.com -d example-related.com

Используйте vhosts-sieve.py для поиска виртуальных хостов

root@kitploit:~
$ python3 vhosts-sieve.py -d domains.txt -o vhosts.txt
Logs dir: None
Max domains to resolve: -1
Max IPs to scan: -1
Max vhost candidates to check: -1
Ports to scan: [80, 443, 8000, 8008, 8080, 8443]
SNI enabled: False
Threads number: 16
Timeout HTTP: 5.0s
Timeout TCP: 3.0s
Verbose: False
User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

Resolving 12 domains...

Scanning 1 IPs...

Finding vhosts (active IPs: 1, vhost candidates: 7)...

Saved results (4 vhosts)

Выходной файл содержит обнаруженные виртуальные хосты в следующем формате

root@kitploit:~
165.22.264.81 80 http False zxcv.example.com 301
165.22.264.81 443 https False zxcv.example.com 200 dev.example.com 200 admin.example.com 401

Каждая строка содержит следующую информацию:

  • IP-адрес
  • Номер порта
  • Определенный протокол (HTTP или HTTPS)
  • Флаг "Stopped" (см. Как это работает)
  • Список обнаруженных виртуальных хостов (с кодом статуса ответа)

Логи

Ответы обнаруженных виртуальных хостов могут быть записаны в лог (опция -l, --logs-dir).

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

Для обнаружения виртуальных хостов выполняются следующие шаги:

  1. Домены из входного файла преобразуются в IP-адреса (IPv4)
  2. В зависимости от результата разрешения домены делятся на две группы:
    • Разрешенные домены
    • Неразрешенные домены (кандидаты в виртуальные хосты)
  3. IP-адреса разрешенных доменов сканируются на наличие веб-портов (по умолчанию: 80, 443, 8000, 8008, 8080, 8443)
  4. Кандидаты в виртуальные хосты проверяются на каждом открытом порту

Проверка кандидатов в виртуальные хосты

Проверка кандидатов в виртуальные хосты выполняется следующим образом:

  1. Отправляется запрос со случайным (недействительным) виртуальным хостом (заголовок Host)
  2. Ответ сохраняется как эталонный
  3. Ответы кандидатов в виртуальные хосты сравниваются с эталонным ответом
    • Если ответ «похож», кандидат пропускается
    • В противном случае (ответ не «похож») кандидат помечается как действительный виртуальный хост
  4. Для повышения шансов на успех отправляются следующие дополнительные заголовки:
    • X-Forwarded-For: 127.0.0.1
    • X-Originating-IP: [127.0.0.1]
    • X-Remote-IP: 127.0.0.1
    • X-Remote-Addr: 127.0.0.1
  5. Кроме того, если обнаружено слишком много действительных виртуальных хостов (например, любой поддомен является действительным), проверка останавливается, и результат помечается как «Stopped»

Обратите внимание, что код статуса ответа не учитывается. Основное предположение заключается в том, что всё, кроме эталонного ответа, стоит проанализировать детально. Даже ответы 4xx и 5xx.

SNI

Для протокола HTTPS может быть полезно отправлять имя кандидата в виртуальные хосты через заголовок Host и SNI (расширение TLS). Это может позволить пройти через плохо настроенный SNI-прокси. Используйте опцию --enable-sni для включения режима SNI.

Оптимизация

Для больших сетей с тысячами поддоменов может потребоваться много часов для проверки всех кандидатов в виртуальные хосты. Для ускорения процесса можно использовать следующие опции:

  • Сканируемые по умолчанию порты 80, 443, 8000, 8008, 8080, 8443 можно ограничить, например только 443 (-p, --ports-to-scan)
  • Количество потоков можно увеличить (-t, --threads-number)
  • Количество доменов для разрешения можно ограничить (--max-domains)
  • Количество IP-адресов для сканирования можно ограничить (--max-ips)
  • Количество кандидатов в виртуальные хосты для проверки можно ограничить (--max-vhost-candidates)
  • Тайм-ауты можно уменьшить (--timeout-tcp, --timeout-http)

Кроме того, рекомендуется использовать опцию -v (подробность) для непрерывного просмотра результатов.

Изменения

См. CHANGELOG

Скачать инструмент