August 27, 2020

Инструменты и сервисы для поиска поддоменов

Привет, Аноним. Сегодня я расскажу о том, что такое поддомены и почему их важно проверять. В статье я покажу самые популярные инструменты, которые используют специалисты с мира хакинга, bug bounty и т.д. После прочтения этой статьи ты сможешь установить себе утилиты и проверить сайты на наличие "интересных" поддоменов. Также я поделюсь ссылками на словари, с помощью которых лучше перебирать поддомены.

Какие плюшки можно найти на поддоменах?

Поиск поддоменов — неотъемлемая часть подготовки ко взлому. Людям свойственно ошибаться. Особенно, если это касается вопроса разработки, даже в больших компаниях. Иногда компании выкатывают бета-версии, тестируют новый функционал, который размещают на поддоменах. Например, есть сайт компании craft.com. Компания выпускает новую функцию и добавляет ее на поддомен test.craft.com и интегрирует вместе с основным сайтом. В какой-то момент оказывается, что такая функция уже не нужна, но поддомен остается до лучших времен. Со временем, функционал устаревает, его никто не поддерживает и рано или поздно кто-то потенциально сможет воспользоваться этим.

Также, иногда люди добавляют сайты смежных тематик, а потом отказываются от поддержки. Таких кейсов достаточно много, один из них был опубликован не так давно. Если кратко: пентестеры получили доступ к ресурсам компании посредством одного забытого поддомена. Также была интересная история, когда на одном из поддоменов можно было выкачать код сайта Vine. Таких историй множество. Поэтому очень важно обращать внимание на поддомены и проверять, что на них находится. Иногда это очень "перспективное" места, которые могут потенциально помочь получить доступ к серверу.

Технические инструменты для поиска поддоменов

Существует достаточно много инструментов и сервисов, которые осуществляют поиск по поддоменам и выдают другую полезную информацию. Я сделал обзор самых популярных, которые регулярно попадают в отчеты bug bounty топовых специалистов индустрии. Утилиты очень быстро устанавливаются, не требуют очень много зависимостей и позволяют в разумные сроки получить список существующих поддоменов. Установка всех инструментов и утилит производилась на Kali Linux. Для других дистрибутивов команды и зависимости могут отличаться.

Knock.py

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

$ sudo apt-get install python-dnspython
$ git clone https://github.com/guelfoweb/knock.git
$ cd knock
$ sudo python setup.py install
$ knockpy -h

После успешной установки и можно приступать к тестированию. Для этого можно выполнить базовую команду. В первом случаем, утилита будет искать по дефолтному словарю, во втором можем добавить свой. Для базовых целей рекомендую использовать словари с двух репозиториев: 1 и 2. Как правило, 95% задач можно покрыть этими словарями, остальные 5% покрываются онлайн-сервисами и сгенерированными словарями.

$ knockpy domain.com 
$ knockpy domain.com -w wordlist.txt

На выходе получаем сабдомены с IP и указанием сервера. Поиск идет относительно быстро, но для проверки по большим словарям понадобится время. Также эта утилита поддерживает работу с VirusTotal, но для этого нужно иметь платную подписку. Я всегда использовал только базовую версию и утилита прекрасно справлялась со своей задачей.

Sublist3r

Эта утилита ищет поддомены в поисковых системах Google, Yahoo, Bing, Baidu и Ask. Также при поиске используются сервисы Netcraft, Virustotal, ThreatCrowd, DNSdumpster и ReverseDNS. Для получения более точных результатов, рекомендую использовать Knock.py и Sublist3r.

Для установки нужно выполнить команды:

$ git clone https://github.com/aboul3la/Sublist3r.git
$ cd Sublist3r/
$ sudo pip install -r requirements.txt
$ python sublist3r.py -h

После установки проверим работоспособность на практике. Утилита также имеет достаточно дополнительных опций, о которых можно почитать в тут. Запустим поиск с помощью команды:

$ python sublist3r.py -d example.com

Если сравнивать скорость работы, то Sublist3r более быстрее выдает результаты. Да и в случае использования Knock.py, то список результатов ограничен словарем, который используется в переборе сабдоменов.

DNSdumpster

DNSdumpster — это бесплатный онлайн-сервис, который может показать поддомены, баннеры, а также другую информацию.

Для использования нужно перейти на dnsdumpster и ввести нужный сайт. После этого можно анализировать выдачу.

Список поддоменов, одного известного новостной сайта:

Netcraft

Netcraft — компания, занимающаяся интернет-мониторингом, которая отслеживает время простоя и обеспечивает обнаружение серверной операционной системы, а также предоставляет ряд других услуг. В Netcraft есть инструмент онлайн-поиска, который позволяет пользователям запрашивать информацию о хосте.

Для проверки нужно перейти на сайт netcraft и ввести нужный домен в формате *.site.com:

После этого можно получить такие результаты выдачи. Конечно, DNSdumpster предоставляет более детальные результаты, но не стоит отбрасывать Netcraft. Иногда тут можно найти интересные записи, которые не находят другие утилиты или сервисы. Также по каждому из поддоменов можно посмотреть отчет, с более детальной информацией.

Заключение

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

Источник