Начиная с 6 июня, на части DNS, обслуживающих российские доменные зоны, разрешен трансфер (AXFR), который позволяет получить полный список доменных имен зон .ru, .su, .tatar, .рф и .дети.
AXFR-запрос доступен на следующих серверах:
Чтобы получить все домены зоны, можно воспользоваться утилитой dig из состава BIND:
Есть даже ASCII-арт:
Зона .ru содержит в себе 5.1% всех мировых доменов, уступая только первой по популярности зоне .com.
Данная особенность DNS была обнаружена mandatoryprogrammer (Matthew Bryant), который давно занимается отслеживанием изменений всех доменных зон автоматизированными средствами. Зона .ru такая большая, что его ПО упало от недостатка оперативной памяти. В прошлом году он обнаружил возможность получения всех доменов северокорейской зоны .kp, используя этот же метод.
Дампы зон, сжатые xz, можно скачать через Bittorrent и I2P Bittorrent, torrent-файлом или по следующей Magnet-ссылке:
Не обязательно их распаковывать, можно работать с ними в сжатом виде. Используйте xzcat вместо cat, xzdiff вместо diff, xzgrep вместо grep, xzless вместо less.
UPD 19.06.2017: AXFR отключили.
AXFR-запрос доступен на следующих серверах:
- a.dns.ripn.net
- b.dns.ripn.net
- d.dns.ripn.net
Чтобы получить все домены зоны, можно воспользоваться утилитой dig из состава BIND:
$ dig axfr su. @a.dns.ripn.net
; <<>> DiG 9.10.4-P8-RedHat-9.10.4-5.P8.fc25 <<>> axfr su. @a.dns.ripn.net
;; global options: +cmd
SU. 345600 IN SOA a.dns.ripn.net. hostmaster.ripn.net. 650170097 86400 14400 2592000 3600
SU. 345600 IN RRSIG SOA 8 1 345600 20170728095315 20170618085528 12810 su. AMqjxdOOp9rIVMk9gvH6TiXEB8FAWZn0xbqxxYxsQMYrqCUE49AXSUQ1 nESJ//bPE8g7mNa/KCqrt21icAOG6+gzwes+TZ2nu62dwbwH3IeEoxry GZ+uEIGlQfjPC6AxRuPELnaKRpLUy+Ir28ScJDLjIBewVs3J7zAHXw/K bYU=
SU. 345600 IN NS a.dns.ripn.net.
SU. 345600 IN NS b.dns.ripn.net.
SU. 345600 IN NS d.dns.ripn.net.
SU. 345600 IN NS e.dns.ripn.net.
SU. 345600 IN NS f.dns.ripn.net.
…
0--0.SU. 345600 IN NS ns1.shop.reg.ru.
0--0.SU. 345600 IN NS ns2.shop.reg.ru.
0--GDE-KUPIT-DOMEN-DESHEVO--RU--SU--COM--NET--ORG--INFO--ME--TV.SU. 345600 IN NS ns1.hostmonster.com.
0--GDE-KUPIT-DOMEN-DESHEVO--RU--SU--COM--NET--ORG--INFO--ME--TV.SU. 345600 IN NS ns2.hostmonster.com.
0-0.SU. 345600 IN NS dns1.yandex.net.
0-0.SU. 345600 IN NS dns2.yandex.net.
0-0-0.SU. 345600 IN NS ns1.shop.reg.ru.
0-0-0.SU. 345600 IN NS ns2.shop.reg.ru.
0-1.SU. 345600 IN NS dns1.elasticweb.org.
0-1.SU. 345600 IN NS dns2.elasticweb.org.
0-3.SU. 345600 IN NS ns1.timeweb.ru.
0-3.SU. 345600 IN NS ns2.timeweb.ru.
0-4.SU. 345600 IN NS ns.hostland.ru.
0-4.SU. 345600 IN NS ns3.hostland.ru.
…
Есть даже ASCII-арт:
0--0------A1--------------------------------------------------1.RU. 345600 IN NS ns-de.bible.ru.
0--0------A1--------------------------------------------------1.RU. 345600 IN NS ns-nl.bible.ru.
0--0------A1--------------------------------------------------1.RU. 345600 IN NS ns-ru.bible.ru.
0--0------A2--BBBBB--I-BBBBB--L------EEEEEE-----RRRRR--U----U-2.RU. 345600 IN NS ns-de.bible.ru.
0--0------A2--BBBBB--I-BBBBB--L------EEEEEE-----RRRRR--U----U-2.RU. 345600 IN NS ns-nl.bible.ru.
0--0------A2--BBBBB--I-BBBBB--L------EEEEEE-----RRRRR--U----U-2.RU. 345600 IN NS ns-ru.bible.ru.
0--0------A3--B----B-I-B----B-L------E----------R----R-U----U-3.RU. 345600 IN NS ns-de.bible.ru.
0--0------A3--B----B-I-B----B-L------E----------R----R-U----U-3.RU. 345600 IN NS ns-nl.bible.ru.
0--0------A3--B----B-I-B----B-L------E----------R----R-U----U-3.RU. 345600 IN NS ns-ru.bible.ru.
0--0------A4--BBBBB--I-BBBBB--L------EEEEE------R----R-U----U-4.RU. 345600 IN NS ns-de.bible.ru.
0--0------A4--BBBBB--I-BBBBB--L------EEEEE------R----R-U----U-4.RU. 345600 IN NS ns-nl.bible.ru.
0--0------A4--BBBBB--I-BBBBB--L------EEEEE------R----R-U----U-4.RU. 345600 IN NS ns-ru.bible.ru.
0--0------A5--B----B-I-B----B-L------E----------RRRRR--U----U-5.RU. 345600 IN NS ns-de.bible.ru.
0--0------A5--B----B-I-B----B-L------E----------RRRRR--U----U-5.RU. 345600 IN NS ns-nl.bible.ru.
0--0------A5--B----B-I-B----B-L------E----------RRRRR--U----U-5.RU. 345600 IN NS ns-ru.bible.ru.
0--0------A6--B----B-I-B----B-L------E----------R---R--U----U-6.RU. 345600 IN NS ns-de.bible.ru.
0--0------A6--B----B-I-B----B-L------E----------R---R--U----U-6.RU. 345600 IN NS ns-nl.bible.ru.
0--0------A6--B----B-I-B----B-L------E----------R---R--U----U-6.RU. 345600 IN NS ns-ru.bible.ru.
0--0------A7--BBBBB--I-BBBBB--LLLLLL-EEEEEE--0--R----R--UUUU--7.RU. 345600 IN NS ns-de.bible.ru.
0--0------A7--BBBBB--I-BBBBB--LLLLLL-EEEEEE--0--R----R--UUUU--7.RU. 345600 IN NS ns-nl.bible.ru.
0--0------A7--BBBBB--I-BBBBB--LLLLLL-EEEEEE--0--R----R--UUUU--7.RU. 345600 IN NS ns-ru.bible.ru.
0--0------A8--------------------------------------------------8.RU. 345600 IN NS ns-de.bible.ru.
0--0------A8--------------------------------------------------8.RU. 345600 IN NS ns-nl.bible.ru.
0--0------A8--------------------------------------------------8.RU. 345600 IN NS ns-ru.bible.ru.
Зона | Количество доменов |
---|---|
.ru | 5231919 |
.su | 105036 |
.tatar | 859 |
.рф | 792993 |
.дети | 1063 |
Зона .ru содержит в себе 5.1% всех мировых доменов, уступая только первой по популярности зоне .com.
Данная особенность DNS была обнаружена mandatoryprogrammer (Matthew Bryant), который давно занимается отслеживанием изменений всех доменных зон автоматизированными средствами. Зона .ru такая большая, что его ПО упало от недостатка оперативной памяти. В прошлом году он обнаружил возможность получения всех доменов северокорейской зоны .kp, используя этот же метод.
Дампы зон, сжатые xz, можно скачать через Bittorrent и I2P Bittorrent, torrent-файлом или по следующей Magnet-ссылке:
magnet:?xt=urn:btih:3457106ce62b2707639978d802e20567e278aa39&dn=Russian%20domain%20zones&tr=udp%3a%2f%2ftracker.leechers-paradise.org%3a6969&tr=udp%3a%2f%2ftracker.coppersurfer.tk%3a6969%2fannounce&tr=udp%3a%2f%2fp4p.arenabg.com%3a1337%2fannounce&tr=udp%3a%2f%2ftracker.zer0day.to%3a1337%2fannounce
Не обязательно их распаковывать, можно работать с ними в сжатом виде. Используйте xzcat вместо cat, xzdiff вместо diff, xzgrep вместо grep, xzless вместо less.
UPD 19.06.2017: AXFR отключили.
Поделиться с друзьями
fuCtor
Т.е. теперь можно ожидать появление сервиса, который по IP выдаст домены с достоверностью 99% (если это не дыра и ее скоро прикроют)?
darkk
Ну это не понятно, но, думаю, РосКомСвободе может быть интересно попарсить этот список, чтоб уточнить свои оценки collateral damage от пошареных IP-адресов в выгрузке РосКомНадзора.
Также, я предполагаю, они такой список доменов могли получить и до сегодняшнего дня :-)
tmnhy
Как список доменов второго уровня этому поспособствует?
fuCtor
По имени получить список IP и собрать все это в БД.
h31
Есть же ещё домены третьего, четвертого уровня.
redfenix
Такого firststat.ru?
* https://habrahabr.ru/post/301894/
* https://github.com/AlexeyManikin/domain_statistic
При чем список доменов обновляется каждую ночь, доступ к БД открытый, в БД можно посмотреть IP адреса, MX, NS сервера и историю изменения за все это время.
Может я ошибаюсь но я всегда думал что список доменов — это не закрытая информация…
Keyten
Я превращу ваш текст в ссылки, чтобы было удобнее кликать.
firststat.ru
https://habrahabr.ru/post/301894/
https://github.com/AlexeyManikin/domain_statistic
redfenix
Заодно сюда и доступ к БД скину:
* PhpMyAdmin: pma.amanikin.ru
* mysqlUser: readonly
* mysqlPasswd: readonly
nikitasius
Неплохо бы подкрутить базу, так как:
отлично засоряет ресурсы :)
redfenix
Такие запросы конечно грузят, на фоне общей загрузки сервера при подсчете данных это не сильно заметно.
На текущий момент на сервере 2 процессора Intel® Xeon® CPU E5-2620 0 @ 2.00GHz и 114 гигибайт памяти.
fozzy
robtex.com
Merkat0r
это by-design и не является никакой дырой
fuCtor
То что в принципе DNS такое умеет это понятно, просто фраза:
Звучит так, что раньше нельзя была, но что-то пошло не так и стало на некоторых можно. Если целенаправленно открыли, то ОК. Вроде обычно закрывают возможность AXFR запроса на DNS, оставляя лишь доверенные узлы.
pansa
Ну, ру зону не проблема найти, свежий дамп ежедневно выкладывается.
Остальные тоже при желании и уже небольшой денежки можно получать, есть сервисы.
Зона com, кстати, на порядок больше.
Но косяк с AXFR это не прощает, конечно. Нельзя отдавать зону кому попало.
ivan386
А чем это плохо?
karabanov
Плохо тем, что можно "засветить" служебные домены, имена устройств в локальной сети и т.д.
Taciturn
Для устройств в локальной сети обычно не регистрируют домены второго уровня.
karabanov
Ну не по IP же к ним обращаться.
Taciturn
Нет ли у вас, случайно, примера? Т.е. чтобы домен второго уровня (ведь именно их список можно получить с указанных в статье DNS) указывал на устройство во внутренней сети?
karabanov
В личку напишу.
Tishka17
В голову приходит первым делом
eblan.su
Shifty_Fox
Это распространенная практика для CRM внутри корпоративной сети.
personal.JOBTITLE.com, где JOBTITLE.com — сайт компании, а personal — локальный поддомен для личных кабинетов сотрудников.
ferosod
Но ведь personal.JOBTITLE.com — это домен третьего уровня. А домен JOBTITLE.com скорее всего и так всем известен.
WGH
Это домен третьего уровня, и в дампе таких не будет (кроме, может быть, каких-нибудь org.ru, но это не тот случай).
Shifty_Fox
А, тогда конечно.
Кейс, когда домен второго уровня ведет на localhost это антикейс.
Karpion
Что такое "служебные домены", для чего они используются, и что они делают в общедоступной зоне ".ru"?
А имена устройств локальной сети вообще не следует вывешивать в общедоступных зонах. Кто так делает — должен предполагать. что эти записи может прочесть кто угодно.
Кроме того, строить защиту на предположении "имя устройства никто не узнает" — это вообще предел глупости. Такая защита — это лишь небольшая добавка к основной защите, не более того; применять её надо лишь по принципу "защиты много не бывает", но доверять ей и надеяться на неё — нельзя.
karabanov
Служебные домены это например dev или test и т.д.
Ежу понятно :-)
Syrex
Ну так там домены второго уровня утекли. Т.е. companyname.ru, dev.companyname.ru — не утек, а домен второго уровня и так скорее всего все знают. И да, думать, что никто не зайдет в песочницу разработчиков просто потому, что не знают домен — глупо. Нужно по другим критериям пускать/не пускать
JerleShannara
Ну и что вам даст что-то типа
failopomoika.ru. A 192.168.0.2
gitvcs.рф A 192.168.0.1
Где эта файлопомойка, где этот гит?
Mendel
Отдельно — ничего. Но как составная часть атаки может и дать. Например если прошел периметр но боишься что трафик в сети мониторят, и совсем брут-скан делать боишься.
Т.е. если ты УЖЕ в сети владельца этого домена…
Другое дело что оно и так публично, так что ничего нового, а сами корневые зоны дополнительно своего ничего такого не хранят.
pansa
Это плохо тем, что зона часто содержит много имен для внутреннего пользования. Это тестовые машины, трекеры, почты, календари, вики, vcs, и куча остального. А эти хосты очень часто защищены значительно слабее, чем публичные. При этом, обычно, находятся в одной сети.
Не верите, так поищите — специально создаются словари для брутфорса поддоменов, тулзы для перебора, в тч в таком софте, как burp suite, owasp zap, итп.
Если последние вам ни о чем не говорят, тогда просто поверьте на слово — это очень плохо.
CheeseMaster
Объясните, а разве нельзя полный список доменов получить перебором, обращаясь к whois какому-нибудь?
ValdikSS
Нет. Максимальная длина домена — 63 символа, перебор займет вечность.
knutov
whois сервера имеют лимиты по запросам с одного ип и, иногда, капчу. Перебором получают .com, но это очень долгий и сложный процесс, требующий огромного числа проксей.
inkvizitor68sl
Не имеет, весь реестр легко простукивается whois-ом за полдня (если в один поток).
Вот всяческие whois-сервисы — да, имеют.
knutov
Это, например, как? Через какой whois сервер?
inkvizitor68sl
" 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
knutov
Что-то, конечно, могло поменяться, но когда я последний раз проверял — через какое-то количество обращений в час с одного ип к whois.networksolutions.com лимиты у них были.
inkvizitor68sl
Если спрашивать в один поток — то никаких проблем не возникает.
Возможно, «в один поток» укладывается в лимиты. Я делал что-то в духе for i in ...; do whois $i; done, ничего не отстреливало.
kmeaw
Можно получить список доменов перебором, если зона преподписана с использованием DNSSEC.
jamakasi666
Для любителей GUI можно через glogg большие файлы открывать.
jankovsky
Вы понимаете, что занимаетесь незаконной деятельностью и еще так широко ее освещаете?
kemko
Отправка axfr-запроса — это и есть незаконная деятельность? Да я преступник-рецидивист!
Nuke
Это зелень, не тратьте своё время.
Alj
Громко сказано — «позволяет получить полный список доменных имен зон», что не так, т.к. домены, у которых нет NS там отсутствуют. Конечно, на них ничего не размещено, нет почты и т.д., но купить их уже нельзя.
karkarramba
Все эти зоны можно легко и непринужденно получить целиком и без лакун.
webmasterx
странно. я думал это вообще открытая информация. домены которые я нигде не публиковал очень быстро оказывались в поиске яндекса, и часто упоминались на сайте со списком занятых доменов
bro-dev
Было бы неплохо объяснить почему это утечка и чем она опасна. Я думал что любой желающий может стать днс сервером как гугл и соответственно получить весь список соответствия домен->ип.
ValdikSS
DNS-серверы, о которых вы думаете — рекурсивные, которые не обслуживают какую-то конкретную зону, а обращаются к корневым DNS, затем к DNS, обслуживающим зону, затем к DNS конкретного домена. Собрать информацию о доменах с таких DNS можно только в том случае, если их кто-то использует, но далеко не факт, что кто-то будет посещать непопулярные домены именно через ваши DNS.
Здесь же AXFR-запрос включили на DNS, обслуживающих зоны .ru/.su/.tatar/.рф/.дети, и информацию о всех доменах можно выкачать одним запросом. Это очень быстро и просто.
Akuma
Для особо непонятливых можете пояснить, чем это все же опасно?
Ну получили мы список публичных доменов. И что дальше? Если кто-то из их владельцев надеялся на «не найдут — не зайдут», то сами виноваты. В остальном — это просто публичные домены.
Разве что можно собирать различные статистики и клепать сервисы подбора имен там и пр. Но это вроде не опасно.
ValdikSS
Я не говорил, что это опасно. Теперь можно получить whois всех существующих доменов, а не только части. Можно проверять, зарегистрирован ли домен, без отправки запроса через интернет.
Alj
В общем случае нельзя проверять зарегистрирован домен или нет «оффлайн».
pansa
Конкретно в этом случае ничего особо опасного, хотя само по себе это ошибка конфигурирования днс сервера, что немного странно видеть на днс такого уровня.
Разрешение же трансфера зоны, наример, вашей компании может сильно облегчить проникновение в сеть. Это не уязвимость или дыра, просто нежелательный misconfiguration.
ValdikSS
Отключили AXFR, больше не работает.
grossws
Вчера вечером, когда читал статью, уже не работало
norlin
Вот это, кстати, очень интересный факт. Учитывая, что .com, фактически, международная зона, а ru/su/рф – только русскоязычные.
ValdikSS
Он очень дешевый, его использует всякий скам для спама, вирусов, дорвеев. Регистрируют десятками тысяч.
norlin
Это сейчас про .ru или .com?
ValdikSS
Про .ru, конечно.
norlin
А, ок. Было бы интересно сравнить, в этом плане, с .com (число реальных доменов там и там)...
karkarramba
Это чушь полнейшая на самом деле. В зоне com порядка 100 миллионов доменов, в de и net — 15 миллионов и так далее. В общем 5% там и не пахнет, дай бог сотая часть, а скорее всего и того меньше.
norlin
удаленоой, да, речь про 5% от мирового, а не от .com.
karkarramba
Сотая часть от кол-ва доменов во всех зонах верхнего уровня.
norlin
да-да, я ступил :)
ValdikSS
Я руководствовался https://w3techs.com/technologies/overview/top_level_domain/all
karkarramba
Оно имеет отношение к вебу (Usage of top level domains for websites), а не к днс, а это разные вещи.
la0
хм.
Дамп зоны (как и whois) вполне легально раздаётся регистраторами своим клиентам. Правда, мне для этого потребовалось подписать несколько допников к договору (о том что я обязуюсь никому не передавать их).
Аналогично раздаются дампы .org (выдаётся по бумажному письму в pir.org) и некоторых других…
Mendel
1) Списки зон основных зон условно-публичны.
Их не дают каждому встречному-поперечному, но они в принципе продаются или даются бесплатно профессиональным игрокам рынка.
RU-шки периодически отдавались всем, потом только избранным потом опять всем, и опять избранным.
На практике поискать знакомого в доменной индустрии и за пиво получить базу — не сложно.
2) Очень много зон имеют закрытые базы. Плюс много зон — получить базу можно, но гемморно ибо зона непопулярная и мало кому интересна. Такие зоны обычно сканируют. Например закрытые списки у украинских зон. Типовой сбор базы выглядит так:
2.1) берем файл зон ру и ком который получаем за пиво. Сканируем аналогичные домены в искомой зоне. Потом ищем беклинки на эти домены, ищем упоминания доменов в поиске. Смотрим какие еще домены найдем на тех сайтах или в беках. Дополняем базу, проверяем рекурсивно новые домены. Такой подход дает высокий процент попадания. Не помню точно, но что-то типа 97-99% от официального количества доменов в зоне. Метод долгий и высокоресурсный.
2.2) Для упрощения можно взять только зону РУ в качестве донора, и проверять не хуиз, а резолвинг домена. Поисковики и ссылки не трогаем вообще. Минусы такого подхода — на 5-7% хуже база и мы упускаем самое сладкое, а именно те домены которые были просрочены и скоро удалятся (ради чего чаще всего и парсят). Второй недостаток компенсируется регулярным сканированием — тогда большинство снятых с делегирования доменов у нас будут в базе за прошлую неделю или месяц. Преимущество — колосально быстрее и дешевле чем с хуизом и поиском. Собственно лет 15 назад в русскоязычном интернете я был первый кто эту идею озвучил вслух. Когда ты тратишь больше месяца и сотни баксов на всякие прокси и т.п., а тут конкуренты обновляют базу ежедневно с хилиньким вдс, получая лишь слегка лучше базу (а наиболее жЫрные домены все равно будут более популярны в соседних базах, да и раз в неделю запустить парсинг по КОМ я тоже мог легко).
3) Доступный экспорт зоны все равно плохо. Легче заметить ошибки, служебную информацию (сходу не скажу, но бывает), можно ДДоСить и т.п. Но новость высосаная да.
JetD
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
ValdikSS
JetD
Заголовок «На корневых DNS-серверах ru/su/tatar/рф/дети разрешили трансфер зоны» был бы наиболее отражающим реальность.
Но да, тогда там не было бы фразы «утек в публичный доступ из-за некорректной настройки» и статья вряд ли попала бы в ТОП-1 Хабра :)
ValdikSS
Я смутно припоминал, что когда-то находил файлы зоны, но сходу найти их не получилось, поэтому и использовал слово «утечка», т.к. полагал, что их нет в свободном доступе.
JetD
P.S. Вероятно это как-то связано с созданием резервного реестра, так сказать, на случай отключения российского сегмента интернета от глобального (новость на сайте КЦ — https://cctld.ru/ru/press_center/news/news_detail.php?ID=11610 )