[M] HostsDict, HostsMask и HostsCombine

Общее описание

Используются для поиска веб-хостов на серверах напрямую, без участия DNS. Работа данных модулей сводится к тому, чтоб отправлять HTTP запросы на целевой IP-адрес подставляя искомые имена в заголовок «Host». Функционал может пригодиться для обнаружения служебных хостов имеющих DNS записи на внутренних DNS серверах (или вообще без них). Или для хостов которые перенесли на другой IP, а на старом не были удалены.

Поиск производится по маске, словарю и в комбинированном режиме (маска + словарь).

Модули работают только в raw режиме.

Примеры

Поиск виртуального хоста на веб-сервере по словарю:

./ws.py HostsDict --ip 82.146.56.21 --dict bases/demo/dict.txt --template @.hostsbrute.polygon.web-scout.online --false-re "Ubuntu Default Page"

Поиск виртуального хоста на веб-сервере по маске:

./ws.py HostsMask --ip 82.146.56.21 --mask ?l,1,4 --template @.hostsbrute.polygon.web-scout.online --false-re "Ubuntu Default Page"

Опции (* - обязательные)

Имя

По умолчанию

Описание

--template *

Шаблон перебора. Маркировочным символом (@ по умолчанию) в нём отмечается то место, куда будет помещена проверяемая фраза. Примеры: «@.site.com», «@-admin.site.com».

--dict *

Для HostsDict. Путь к словарю для перебора.

--mask *

Для HostsMask. Маска для перебора.

--combine-template *

Для HostsCombine. Шаблон для комбинированного поиска. Строка с вхождениям маркеров «%m%» и «%d%» на чьё место подставляются слова из маски и словаря соответственно.

--ip *

Целевой IP-адрес.

--false-re *

RegEx (python.re), при наличии совпадений в теле ответа свидетельствующая об отрицательном результате.

--false-size *

Размер тела отрицательного ответа. Помните что разные утилиты могут давать разный размер ответа. Используйте тестовый режим чтобы узнать нужное вам значение.

--http-protocol

http

Протокол для отправки HTTP GET / запросов к целевому серверу. «http»/«https».

--msymbol

@

Маркировочный символ для шаблона поиска.

--proxies

Файл со списком http-proxy.

--retest-re

Регулярное выражение (python.re) для поиска в ответе сервера признака необходимости переотправить запрос. Например «Service Temporarily Unavailable».

--retest-codes

Набор кодов (через запятую) указывающих на то, что запрос нужно отправить заново. Например «502,503».

--headers-file

Файл с http заголовками для включения в заголовки запроса.

--delay

0

Задержка между запросами (в секундах). Касается не всех рабочих потоков в целом, а каждого потока в частности.

--threads

10

Количество рабочих потоков

--parts

На сколько частей разбить проверяемый список (словарь, маску)

--part

С какой из частей проверяемого списка работаем.

--test

0

Включение тестового режима

--xml-report

Путь к xml-отчёту