Незащищенные поддомены подвергают вашу деятельность серьезной опасности, а в последнее время произошел целый ряд инцидентов, при которых взломщики воспользовались поддоменами для обхода защиты.
В случае последнего из череды инцидентов весь код сайта Vine можно было загрузить с незащищенного поддомена.
Если вы владелец сайта или изучаете вопросы информационной безопасности, вы можете воспользоваться следующими инструментами чтобы найти поддомены любого домена.
От переводчика:
Надеюсь, что данные инструменты помогут Вам сохранить информацию на ваших виртуальных и выделенных серверах.
Список инструментов:
- Censys
- Pentest-Tools
- DNS Dumpster
- Sublist3r
- Netcraft
- CloudPiercer
- Detectify
- SubBrute
- Knock
- DNSRecon on Kali Linux
1. Censys
В первую очередь для поиска поддоменов, как правило, прибегают к Censys. Помимо поддомена вы можете найти еще много интересного, а именно:
- данные об IP (может быть полезно для поиска реального IP-адреса);
- данные о сертификате;
- открытые порты;
- SSL/TLS протокол рукопожатия и алгоритмы шифрования (полезно при поиске слабых шифров/протоколов).
Вы получите неплохой обзор сведений о домене.
2. Pentest-Tools
С помощью Pentest-Tools при поиске поддомена можно воспользоваться несколькими методами, например: передача зоны DNS, перебор DNS на основе списка слов или использование поисковой системы.
Результаты поиска можно сохранить в формате PDF.
3. DNS Dumpster
DNS Dumpster — это инструмент для поиска информации о домене и хосте. Авторы проекта — HackerTarget.com.
Вы сможете найти сведения не только о поддомене, но и о DNS сервере, MX и TXT записях, а также получить графическое представление информации о вашем домене.
4. Sublist3r
Sublist3r — это инструмент на языке Python для обнаружения поддоменов с помощью поисковых систем. На сегодняшний день Sublist3r поддерживает Google, Yahoo, Bing, Baidu, Ask, Netcraft, Virustotal, ThreatCrowd, DNSdumpster and PassiveDNS.
Sublist3r поддерживает только Python версии 2.7 и зависит от нескольких библиотек.
Вы можете использовать этот инструмент в Windows, CentOS, RedHat, Ubuntu, Debian и любой другой ОС на базе UNIX. Ниже приводится пример для CentOS.
- Зайдите на ваш Linux-сервер;
- Скачайте последнюю версию Sublist3r
wget https://github.com/aboul3la/Sublist3r/archive/master.zip
Распакуйте скачанный файл:
unzip master.zip
- Будет создана новая папка “Sublist3r-master”
Как я ранее упоминал, существуют следующие зависимости, для установки которых можно воспользоваться командой yum:
yum install python-requests python-argparse
Теперь все готово для обнаружения поддоменов с помощью следующей команды:
./sublist3r.py -d yourdomain.com
Как видите, инструмент обнаружил мои поддомены.
5. Netcraft
Netcraft располагает обширной базой данных о доменах и ее не стоит обходить стороной при поиске открытой информации о поддоменах.
Результат поиска будет содержать всю информацию о домене и поддоменах, в том числе дату первого просмотра, диапазоне адресов и информацию об операционной системе. Если вам необходимо получить больше информации о сайте, просто откройте отчет о сайте и вам будет предоставлена уйма информации о технологиях, рейтинге и т.д.
6. CloudPiercer
CloudPiercer может иногда оказаться полезным при поиске информации о том, существует ли поддомен вашего домена. Кстати, CloudPiercer — это потрясающий и простой способ узнать защищен ли фактический IP-адрес вашего сайта.Открытая информация об IP-адресе делает ваш сайт уязвимым для DDoS-атак.
7. Detectify
Detectify осуществляет поиск поддоменов по предопределенному списку из нескольких сотен слов, но только в случае, если вы являетесь собственником домена. Тем не менее, если вы являетесь зарегистрированным пользователем Detectify, вы сможете включить функцию обнаружения поддоменов в разделе overview в настройках.
8. SubBrute
SubBrute — это один из самых популярных и точных инструментов перечисления поддоменов. Проект разработан сообществом и использует открытый определитель имен в качестве прокси, так что SubBrute не отправляет трафик на целевой DNS-сервер.
Это не онлайн-инструмент, так что вам придется установить его на компьютер. SubBrute можно использовать на Windows или UNIX системах. Программу установить очень легко. Ниже пример для CentOS/Linux.
- Зайдите на ваш Linux-сервер
- Скачайте последнюю версию SubBrute
wget https://github.com/TheRook/subbrute/archive/master.zip
- Распакуйте скачанный zip-файл
unzip master.zip
Будет создана новая папка “subbrute-master”. Зайдите в папку и выполните subbrute.py с необходимым доменом.
./subbrute.py yourdomain.com
Операция займет несколько секунд и отобразятся найденные поддомены.
9. Knock
Knock — еще один инструмент на языке Python для обнаружения поддоменов. Он протестирован для Python 2.7.6. Knock находит поддомены целевого домена по списку слов.
- Knock можно установить на ОС на базе Linux.
wget https://github.com/guelfoweb/knock/archive/knock3.zip
- Распакуйте скачанный zip-файл командой unzip
unzip knock3.zip
- В результате будет создана новая папка “knock-knock3”
- Зайдите в папку и установите с помощью следующей команды
python setup.py install
После установки вы можете производить поиск поддоменов следующим образом:
./knockpy.py yourdomain.com
10. DNSRecon для Kali Linux
Kali Linux — это отличная платформа для оценки информационной безопасности и на ней можно использовать DNSRecon без дополнительной установки каких-либо инструментов.
DNSRecon проверяет все NS-записи на предмет смены зон, общие записи DNS, обработку шаблонов, PTR-записи и т.д.
Чтобы воспользоваться DNSRecon, просто выполните следующую команду
dnsrecon –d yourdomain.com
Надеюсь, что с помощью приведенных выше инструментов вы сможете обнаружить поддомены целевого домена в рамках вашей работы по оценке информационной безопасности. Сообщите мне, какой вам понравился больше всего.
Хочу напомнить, что недавно заработал проект на который мы собрали более 8.5 тысяч отзывов с различных форумов о 344 хостерах — Poisk.Hosting. На сайте VDS.menu все еще можно найти виртуальные серверы, а на SHARED.menu — виртуальный хостинг.
Комментарии (10)
Revertis
18.10.2016 15:08А просто для начала заглянуть в сертификат можно? :)
CrazyOpossum
18.10.2016 17:36+1Иногда да, а иногда там *.example.com. Насколько я понимаю поиск поддоменов всё равно сводится к пауку и/или перебору по словарю.
thenno
18.10.2016 17:36+1Так же можно и в DNS-записи через dig посмотреть. Проблемы начинаются тогда, когда и там и там указан wildcard — тут уже начинаются пляски с перебором, копанием в поисковых системах и прочее, о чем в статье написано.
CrazyOpossum
18.10.2016 18:01Кстати ещё классика — это google hacking (урлы, содержащие example.com, но не содержащие www.example.com, их иногда забывают в robots.txt поставить). И ещё мне как-то приходилось находить поддомен через comodo dns сервер, который не был зареган на 8.8.8.8 и 208.67.222.222.
Hidadmin
18.10.2016 20:33Есть еще вариант, который ищет за секунды http://www.majento.ru/index.php?page=seo-analize%2Fsite-all-subdomains&host=habrahabr.ru
Одно условие — поддомены должны быть открыты для индексации в яндексе
alexxxst
Чандан Кумар в консоли рутом… класс)
xvitaly
Это же Kali Linux. Данный дистрибутив требует работать исключительно под рутом. Пользовательские учётные записи даже не создаются. Более того, иксы и все приложения также работают с правами суперпользователя.
alexxxst
Не, там выше чувак на сервер зашёл, что-то скачал с гитхаба и запустил рутом...)
BuriK666
Да и качать .zip в *nix как-то не очень. проще tar.gz или .bz2
M-A-XG
Какая разница? Может это стереотип?