Pull to refresh

Comments 73

Т.е. теперь можно ожидать появление сервиса, который по IP выдаст домены с достоверностью 99% (если это не дыра и ее скоро прикроют)?

Ну это не понятно, но, думаю, РосКомСвободе может быть интересно попарсить этот список, чтоб уточнить свои оценки collateral damage от пошареных IP-адресов в выгрузке РосКомНадзора.


Также, я предполагаю, они такой список доменов могли получить и до сегодняшнего дня :-)

… сервиса, который по IP выдаст домены

Как список доменов второго уровня этому поспособствует?
По имени получить список IP и собрать все это в БД.

Есть же ещё домены третьего, четвертого уровня.

Такого firststat.ru?
* https://habrahabr.ru/post/301894/
* https://github.com/AlexeyManikin/domain_statistic

При чем список доменов обновляется каждую ночь, доступ к БД открытый, в БД можно посмотреть IP адреса, MX, NS сервера и историю изменения за все это время.

Может я ошибаюсь но я всегда думал что список доменов — это не закрытая информация…
Заодно сюда и доступ к БД скину:
* PhpMyAdmin: pma.amanikin.ru
* mysqlUser: readonly
* mysqlPasswd: readonly

Неплохо бы подкрутить базу, так как:


select * from domain, domain_history, rpki, as_list, a_count_statistic, ns_count_statistic, ns_domain_old_count_statistic;

отлично засоряет ресурсы :)


Заголовок спойлера

image
image


nginx по таймауту отдупляет, но запросы так и висят


Заголовок спойлера

image


image

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



На текущий момент на сервере 2 процессора Intel® Xeon® CPU E5-2620 0 @ 2.00GHz и 114 гигибайт памяти.
То что в принципе DNS такое умеет это понятно, просто фраза:
Начиная с сегодняшнего утра, на части DNS, обслуживающих российские доменные зоны, разрешен трансфер (AXFR)

Звучит так, что раньше нельзя была, но что-то пошло не так и стало на некоторых можно. Если целенаправленно открыли, то ОК. Вроде обычно закрывают возможность AXFR запроса на DNS, оставляя лишь доверенные узлы.
Ну, ру зону не проблема найти, свежий дамп ежедневно выкладывается.
Остальные тоже при желании и уже небольшой денежки можно получать, есть сервисы.
Зона com, кстати, на порядок больше.

Но косяк с AXFR это не прощает, конечно. Нельзя отдавать зону кому попало.

Плохо тем, что можно "засветить" служебные домены, имена устройств в локальной сети и т.д.

Для устройств в локальной сети обычно не регистрируют домены второго уровня.
Нет ли у вас, случайно, примера? Т.е. чтобы домен второго уровня (ведь именно их список можно получить с указанных в статье DNS) указывал на устройство во внутренней сети?

В голову приходит первым делом eblan.su

Это распространенная практика для CRM внутри корпоративной сети.
personal.JOBTITLE.com, где JOBTITLE.com — сайт компании, а personal — локальный поддомен для личных кабинетов сотрудников.
Но ведь personal.JOBTITLE.com — это домен третьего уровня. А домен JOBTITLE.com скорее всего и так всем известен.
Это домен третьего уровня, и в дампе таких не будет (кроме, может быть, каких-нибудь org.ru, но это не тот случай).
А, тогда конечно.
Кейс, когда домен второго уровня ведет на localhost это антикейс.

Что такое "служебные домены", для чего они используются, и что они делают в общедоступной зоне ".ru"?


А имена устройств локальной сети вообще не следует вывешивать в общедоступных зонах. Кто так делает — должен предполагать. что эти записи может прочесть кто угодно.
Кроме того, строить защиту на предположении "имя устройства никто не узнает" — это вообще предел глупости. Такая защита — это лишь небольшая добавка к основной защите, не более того; применять её надо лишь по принципу "защиты много не бывает", но доверять ей и надеяться на неё — нельзя.

Служебные домены это например dev или test и т.д.


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

Ежу понятно :-)

Ну так там домены второго уровня утекли. Т.е. companyname.ru, dev.companyname.ru — не утек, а домен второго уровня и так скорее всего все знают. И да, думать, что никто не зайдет в песочницу разработчиков просто потому, что не знают домен — глупо. Нужно по другим критериям пускать/не пускать
Ну и что вам даст что-то типа

failopomoika.ru. A 192.168.0.2
gitvcs.рф A 192.168.0.1
Где эта файлопомойка, где этот гит?
Отдельно — ничего. Но как составная часть атаки может и дать. Например если прошел периметр но боишься что трафик в сети мониторят, и совсем брут-скан делать боишься.
Т.е. если ты УЖЕ в сети владельца этого домена…
Другое дело что оно и так публично, так что ничего нового, а сами корневые зоны дополнительно своего ничего такого не хранят.
Это плохо тем, что зона часто содержит много имен для внутреннего пользования. Это тестовые машины, трекеры, почты, календари, вики, vcs, и куча остального. А эти хосты очень часто защищены значительно слабее, чем публичные. При этом, обычно, находятся в одной сети.
Не верите, так поищите — специально создаются словари для брутфорса поддоменов, тулзы для перебора, в тч в таком софте, как burp suite, owasp zap, итп.
Если последние вам ни о чем не говорят, тогда просто поверьте на слово — это очень плохо.

Объясните, а разве нельзя полный список доменов получить перебором, обращаясь к whois какому-нибудь?

Нет. Максимальная длина домена — 63 символа, перебор займет вечность.

whois сервера имеют лимиты по запросам с одного ип и, иногда, капчу. Перебором получают .com, но это очень долгий и сложный процесс, требующий огромного числа проксей.

Не имеет, весь реестр легко простукивается whois-ом за полдня (если в один поток).
Вот всяческие whois-сервисы — да, имеют.
весь реестр легко простукивается whois-ом за полдня

Это, например, как? Через какой whois сервер?

" This version of the whois client tries to guess the right server to ask for the specified object. If no guess can be made it will con‐
nect to whois.networksolutions.com for NIC handles or whois.arin.net for IPv4 addresses and network names.
"

Но вообще там почти для каждой зоны зашиты свои сервера, они почти все без лимитов. Вот примерный список — https://hastebin.com/umufudadow.coffeescript

Что-то, конечно, могло поменяться, но когда я последний раз проверял — через какое-то количество обращений в час с одного ип к whois.networksolutions.com лимиты у них были.

Если спрашивать в один поток — то никаких проблем не возникает.
Возможно, «в один поток» укладывается в лимиты. Я делал что-то в духе for i in ...; do whois $i; done, ничего не отстреливало.
Можно получить список доменов перебором, если зона преподписана с использованием DNSSEC.
Для любителей GUI можно через glogg большие файлы открывать.
Вы понимаете, что занимаетесь незаконной деятельностью и еще так широко ее освещаете?

Отправка axfr-запроса — это и есть незаконная деятельность? Да я преступник-рецидивист!

Это зелень, не тратьте своё время.
Громко сказано — «позволяет получить полный список доменных имен зон», что не так, т.к. домены, у которых нет NS там отсутствуют. Конечно, на них ничего не размещено, нет почты и т.д., но купить их уже нельзя.
Все эти зоны можно легко и непринужденно получить целиком и без лакун.
странно. я думал это вообще открытая информация. домены которые я нигде не публиковал очень быстро оказывались в поиске яндекса, и часто упоминались на сайте со списком занятых доменов
Было бы неплохо объяснить почему это утечка и чем она опасна. Я думал что любой желающий может стать днс сервером как гугл и соответственно получить весь список соответствия домен->ип.
DNS-серверы, о которых вы думаете — рекурсивные, которые не обслуживают какую-то конкретную зону, а обращаются к корневым DNS, затем к DNS, обслуживающим зону, затем к DNS конкретного домена. Собрать информацию о доменах с таких DNS можно только в том случае, если их кто-то использует, но далеко не факт, что кто-то будет посещать непопулярные домены именно через ваши DNS.

Здесь же AXFR-запрос включили на DNS, обслуживающих зоны .ru/.su/.tatar/.рф/.дети, и информацию о всех доменах можно выкачать одним запросом. Это очень быстро и просто.
Для особо непонятливых можете пояснить, чем это все же опасно?

Ну получили мы список публичных доменов. И что дальше? Если кто-то из их владельцев надеялся на «не найдут — не зайдут», то сами виноваты. В остальном — это просто публичные домены.

Разве что можно собирать различные статистики и клепать сервисы подбора имен там и пр. Но это вроде не опасно.
Я не говорил, что это опасно. Теперь можно получить whois всех существующих доменов, а не только части. Можно проверять, зарегистрирован ли домен, без отправки запроса через интернет.
В общем случае нельзя проверять зарегистрирован домен или нет «оффлайн».
Конкретно в этом случае ничего особо опасного, хотя само по себе это ошибка конфигурирования днс сервера, что немного странно видеть на днс такого уровня.
Разрешение же трансфера зоны, наример, вашей компании может сильно облегчить проникновение в сеть. Это не уязвимость или дыра, просто нежелательный misconfiguration.

Вчера вечером, когда читал статью, уже не работало

Зона .ru содержит в себе 5.1% всех мировых доменов, уступая только первой по популярности зоне .com.

Вот это, кстати, очень интересный факт. Учитывая, что .com, фактически, международная зона, а ru/su/рф – только русскоязычные.

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

Это сейчас про .ru или .com?

А, ок. Было бы интересно сравнить, в этом плане, с .com (число реальных доменов там и там)...

Это чушь полнейшая на самом деле. В зоне com порядка 100 миллионов доменов, в de и net — 15 миллионов и так далее. В общем 5% там и не пахнет, дай бог сотая часть, а скорее всего и того меньше.
Сотая часть от кол-ва доменов во всех зонах верхнего уровня.
Оно имеет отношение к вебу (Usage of top level domains for websites), а не к днс, а это разные вещи.
хм.
Дамп зоны (как и whois) вполне легально раздаётся регистраторами своим клиентам. Правда, мне для этого потребовалось подписать несколько допников к договору (о том что я обязуюсь никому не передавать их).
Аналогично раздаются дампы .org (выдаётся по бумажному письму в pir.org) и некоторых других…

1) Списки зон основных зон условно-публичны.
Их не дают каждому встречному-поперечному, но они в принципе продаются или даются бесплатно профессиональным игрокам рынка.
RU-шки периодически отдавались всем, потом только избранным потом опять всем, и опять избранным.
На практике поискать знакомого в доменной индустрии и за пиво получить базу — не сложно.
2) Очень много зон имеют закрытые базы. Плюс много зон — получить базу можно, но гемморно ибо зона непопулярная и мало кому интересна. Такие зоны обычно сканируют. Например закрытые списки у украинских зон. Типовой сбор базы выглядит так:
2.1) берем файл зон ру и ком который получаем за пиво. Сканируем аналогичные домены в искомой зоне. Потом ищем беклинки на эти домены, ищем упоминания доменов в поиске. Смотрим какие еще домены найдем на тех сайтах или в беках. Дополняем базу, проверяем рекурсивно новые домены. Такой подход дает высокий процент попадания. Не помню точно, но что-то типа 97-99% от официального количества доменов в зоне. Метод долгий и высокоресурсный.
2.2) Для упрощения можно взять только зону РУ в качестве донора, и проверять не хуиз, а резолвинг домена. Поисковики и ссылки не трогаем вообще. Минусы такого подхода — на 5-7% хуже база и мы упускаем самое сладкое, а именно те домены которые были просрочены и скоро удалятся (ради чего чаще всего и парсят). Второй недостаток компенсируется регулярным сканированием — тогда большинство снятых с делегирования доменов у нас будут в базе за прошлую неделю или месяц. Преимущество — колосально быстрее и дешевле чем с хуизом и поиском. Собственно лет 15 назад в русскоязычном интернете я был первый кто эту идею озвучил вслух. Когда ты тратишь больше месяца и сотни баксов на всякие прокси и т.п., а тут конкуренты обновляют базу ежедневно с хилиньким вдс, получая лишь слегка лучше базу (а наиболее жЫрные домены все равно будут более популярны в соседних базах, да и раз в неделю запустить парсинг по КОМ я тоже мог легко).
3) Доступный экспорт зоны все равно плохо. Легче заметить ошибки, служебную информацию (сходу не скажу, но бывает), можно ДДоСить и т.п. Но новость высосаная да.
1. Список всех доменов (причем именно всех, а не только тех, которые есть на корневых NSах) .ru,.рф, .su не секретен.
Да, КЦ/ТЦИ не предоставляет к нему доступ простым смертным, но он доступен для всех регистраторов, а некоторые из них публикуют его в открытом доступе. И не нужно никаких извращений с «отслеживанием изменений всех доменных зон автоматизированными средствами» и «ПО упало от недостатка оперативной памяти».

https://reghouse.ru/upload/ru_domains_reghouse.gz
https://reghouse.ru/upload/rf_domains_reghouse.gz
https://reghouse.ru/upload/su_domains_reghouse.gz

2. Что касается доменных зон, аналогично:
https://reghouse.ru/upload/ru_zone_reghouse.gz
https://reghouse.ru/upload/rf_zone_reghouse.gz
https://reghouse.ru/upload/su_zone_reghouse.gz

3. Статья больше похожа на желтую прессу (особенно заголовки «утек» и пр.), и явно рассчитана на тех, кто вообще не в теме.

4. В gTLD (международных доменах) файл зоны также не секретен и предоставляется реестром зоны при необходимости, например в исследовательских целях — https://www.verisign.com/en_US/channel-resources/domain-registry-products/zone-file/index.xhtml?loc=en_US

3. Статья больше похожа на желтую прессу (особенно заголовки «утек» и пр.), и явно рассчитана на тех, кто вообще не в теме.
Я долго думал, какое слово вместо «утек» написать, но так и не придумал нормального короткого синонима.
Заголовок «На корневых DNS-серверах ru/su/tatar/рф/дети разрешили трансфер зоны» был бы наиболее отражающим реальность.
Но да, тогда там не было бы фразы «утек в публичный доступ из-за некорректной настройки» и статья вряд ли попала бы в ТОП-1 Хабра :)
Я смутно припоминал, что когда-то находил файлы зоны, но сходу найти их не получилось, поэтому и использовал слово «утечка», т.к. полагал, что их нет в свободном доступе.
P.S. Вероятно это как-то связано с созданием резервного реестра, так сказать, на случай отключения российского сегмента интернета от глобального (новость на сайте КЦ — https://cctld.ru/ru/press_center/news/news_detail.php?ID=11610 )
Sign up to leave a comment.

Articles