Как найти поддомены ресурса с помощью Fierce.

Инструментарий Кали Линукс: сбор информации или как найти поддомены интересующего хоста?

Как получить список поддоменов нужного сайта? В Кали Линукс для этого есть немалое количество инструментов, которые помогут раздобыть нужную информацию по всем фронтам. Чаще всего — это очень простые скрипты, где для описания работы каждого отдельной статьи не требуется. Так что, возможно, рассмотрим их вкупе с другими, обобщая разведывательный инструментарий Кали, который направлен с целью найти поддомены хостов. Специальными сервисами я пользоваться пока нарочито не буду, это пойдёт отдельной статьёй, однако для полноты потенциала кое-что я всё-таки предложу вам скачать со стороны. Начинаем с утилиты Fierce из состава Кали Линукс.

Что такое поддомен?

Если кто-то подзабыл, напомню структуру и компоненты URL, которые встречают нас в адресной строке. Так, на примере моего блога:

структура url

где:

  1. тип используемого протокола
  2. поддомен (субдомен, доменное имя с префиксом)
  3. домен высшего уровня (суффикс адреса)
  4. доменное имя (домен)
  5. имя хоста (хост)

На рисунке — главный адрес блога Компьютер76. Но если я захочу создать отдельный сайт на базе существующего блога, но обладающий другими характеристиками (скажем, для техподдержки или для разделения блога на компьютерную и мобильную версии), мне достаточно будет создать свой поддомен, у которого имя будет:

http://techhelp.computer76.ru 

Как найти поддомены ресурса?

Поддомен, несмотря ни на что, это всё-таки тот же ресурс, но вид сбоку. И редко случается удача, когда уязвимость интересующего ресурса обнаруживается на поверхности. Работа с конкретным (единичным) адресом всегда требует излишней вкрадчивости и аккуратности, которая не всегда окупается. Потому о конкретном домене лучше узнать побольше: а вдруг администрация «профукала» какой-то из созданных поддоменов, который благодаря дырявости станет плацдармом для справедливого наказания владельцев ресурса? Начинаем с поиска субдоменов.

Далее. В каждой из утилит я буду приводить общие примеры для поиска поддоменов популярных ресурсов. Однако, если вы собираетесь найти поддомены для конкретной цели, не работайте из-под root .

Используем Fierce.

Интересный представитель доменных сканеров, но среди прочих обладает более продвинутым набором инструментов. Например, как только сканер обнаруживает реальный IP адрес, он включает обратный поиск с целью обнаружить пространство близлежащих IP адресов «вверх-вниз». С этим брутфорс сканирование не справляется. Ну, или не всегда. А такая методика может помочь найти поддомены сайта более корректно. Для начала знакомимся со справкой ( я помогу с переводом, выдаю «как есть»):

fierce -h

Options:

-connect  попытается установить HTTP соединения с любым из не RFC1918 (непубличным) адресов. Ответ будет содержать заголовки, но, если у компании множество целей, это может занять время. Против крупной компании с развитой сетевой инфраструктурой флаг применять не стоит, если у вас нет в распоряжении много свободного времени (на это могут уйти часы\дни). Внутри заданного файла текст «Host:\n» будет заменён на заданный хост. Применение:

perl fierce.pl -dns example.com -connect headers.txt

-delay время в секундах на ожидание между запросами.

-dns  домен, который будет сканироваться.

-dnsfile  использовать DNS серверы в текстовом файле (по одному в линию)  для обратных просмотров (брут форс).

-dnsserver  использовать конкретный DNS сервер для обратного просмотра (вероятно, это должен быть DNS сервер самой цели). Fierce по умолчанию
использует ваш DNS сервер для первоначального запроса по ресурсной записи DNS о сервере, хранящем эталонную информацию о домене, а затем использует DNS сервер жертвы для дополнительных запросов.

-file       файл, куда вы запишите логи.

-fulloutput вместе с флагом -connect выведет на экран всё содержимое ответа сервера, а не только заголовки HTTP.

-help       справка.

-nopattern  не стоит использовать схему поиска, если вы решили отсканировать сеть на предмет ближайших к вам хостов. Вместо этого сделайте общий дамп. Это громковато, однако для поиска остальных доменов, используемых спамерами может быть полезно. К тому же число ложных срабатываний сильно возрастёт, особенно это касается крупных доменов.

-range      сканирует внтренний диапазон IP адресов (должен присутствовать флаг  -dnsserver).  Однако, это лежит за пределами стандартной схемы поиска и просто выдаст всё, что сможет обнаружить. Применение:

perl fierce.pl -range 111.222.333.0-255 -dnsserver ns1.example.co

-search     поиск по списку.  Когда Fierce попытается отработать домен по обе стороны пространства IP адресов, она может «захватить» сервера в пределах других доменов, которые принадлежат той же компании. Если обеспечить Fierce списком с разделителем в виде точки, она сообщит обо всём, что обнаружит. Это очень полезно в случае, когда корпоративные сервера имеют другие названия, отличные от публичного сайта. Применение:

perl fierce.pl -dns examplecompany.com -search corpcompany,blahcompany

Отметьте, что применение этого флага может значительно расширить количество обнаруженных хостов, продолжая поиск, обнаружив дополнительные сервера. Чем больше, тем лучше.

-suppress   без вывода в терминале (используется с флагом -file).

-tcptimeout установка особого промежутка на запрос (по умолчанию 10 сек.). Возможно, придётся увеличить время, если DNS сервер, к которому вы обращаетесь, медленно отвечает на запросы или у вас наблюдаются потери пакетов по естественным причинам.

-threads  установка числа потоков сканирования(по умолчанию один).

-traverse установка числа IP адресов сверху и внизу диапазона, для какого-бы то ни обнаруженного в процессе сканирования. По умолчанию это 5 вверх и вниз. Сканирование с этим флагом не будет проводиться в других С-блоках IP диапазона.

-version    выводит номер версии.

-wide      сканирует весь С класс после обнаружения и сравнения имён хостов в этом С классе. Это генерирует большее количество трафика, однако раскрывая более подробностей.

-wordlist   использует отдельный словарь (с одним словом в строке). Применение:

perl fierce.pl -dns examplecompany.com -wordlist dictionary.txt

Если с флагами скрипта в общих чертах ознакомились, переходим к практике. Как видите по описанию, некоторые из них громковаты, если работать напрямую в сетях, которые о вашем тестировании ничего не знают.

Как найти поддомены с помощью Fierce: пояснения

Начинаем с команды:

fierce -dns сайт.ру -threads 10

как найти поддомены с помощью кали линукс

Флаг -threads немного ускорит процесс, запуская сканирование в 10 потоков одновременно. Первое, что Fierce делает, это обнаруживает имена серверов целевого домена. Затем проверяет присутствие зоны переноса. Если не получается, сканер проверяет наличие опции WildCard DNS (перенаправление запросов к несуществующим поддоменам на реально существующий). Если что-то себя проявляет, подключается скрипт на исполнение брутфорс против домена на основе прошитого в Fierce словаря. После работы скрипт выдаст в терминале список поддоменов с подсетями, которые можно будет работать другими сканерами, типа Nmap. Сразу рекомендуется обзавестись собственным словарём и указать на него с помощью ключа -wordlist: результаты сканирования после смены словаря могут порадовать. Флаг -connect, использованный в команде, заставит Fierce соединиться с обнаруженными онлайн поддоменами в попытке получить HTTP заголовки в виде ответа. А здесь можно получить дополнительную информацию, например, версию сервера, если в кармане наизготовку взяты пара действенных эксплойтов.

В заключении приведу несколько простейших команд, взятых с описания в одном из неофициальных репозиториев с последней версией Fierce :

fierce --domain google.com --subdomains accounts admin ads

Зондирует IP адреса рядом с обнаруженными доменами с целью найти смежные блоки с флагом —traverse:

fierce --domain facebook.com --subdomains admin --traverse 10

Ограничивает зондирование близлежащих IP до конкретных доменов с флагом —search:

fierce --domain facebook.com --subdomains admin --search fb.com fb.net

пытается установить соединение по протоколу HTTP с доменами, обнаруженными флагом  —connect:

fierce --domain stackoverflow.com --subdomains mail --connect

Меняет скорость сканирования на его ширину флагом —wide, с помощью чего ищет близлежащие домены по всем IP адресам в пределах уже обнаруженного домена:

fierce --domain facebook.com --wide

Наличие зон переноса доменных имён сегодня редкость, однако с помощью ресурса zonetransfer.me можно присмотреться, как эти зоны работают, если придётся с ними столкнуться:

fierce --domain zonetransfer.me

Сохранит результаты сканирования в файл:

fierce --domain zonetransfer.me > результаты.txt

Внутренние сети часто имеют огромные блоки смежных IP, закреплённых за кем-то. Можно проверить и их:

fierce --dns-servers 10.0.0.1 --range 10.0.0.0/24

Успехов.

Запись опубликована в рубрике Linux. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

три − два =