- PVSM.RU - https://www.pvsm.ru -

AXFR — возвращение

Оригинал статьи на английском находится по этой [1] ссылке

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

AXFR-запросы

Передача зоны DNS, AXFR — вид транзакции DNS. Является одним из механизмов репликации баз DNS между серверами © wikipedia


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

Почему это security-баг?

Хочу напомнить вам о взломе Valve, когда хакер украл исходные коды Half-Life 2 (на тот момент разработка стоила ~$1 млн в месяц). Для начала хакер отправил AXFR-запрос DNS серверу ValveSoftware.com. Получив данные о домене, Gembe (хакер) получил всю информацию, включая поддомены ValveSoftware.com.

Подробнее можно прочитать здесь [2].

Так же, об AXFR можно прочитать в Metasploit Penetration Testing Cookbook, глава 2:

Zone Transfer is a special method used by the DNS server to exchange authoritative records
for a domain between multiple servers. This method is responsible for transferring bulk lists of domain information between primary and secondary servers. A misconfigured DNS server can respond to client query and provide information about the queried domain.

(надеюсь, уже читали переводы от levinkv [3]).

Очень часто сайты имеют «секретные» поддомены (dev.*, test.* и подобные) для внутреннего использования. Обычно, эти домены имеют небезопасную конфигурацию (включенный stacktrace для dev доменов как пример) или разрабатываемые фичи.

Сканирование

Я скачал топ популярных сайтов по версии Alexa [4] и проверил около 25к доменов, ~2k оказались уязвимы. Так же некоторые сайты выбирал вручную. Некоторые из уязвимых сайтов (уже исправлены):

  • wikipedia.org (считают, что бага нет [link] [5]);
  • xda-developers.com;
  • megaupload.com (закрыт);
  • topface.com;
  • liveinternet.ru (просто закрыли мой тикет с пометкой «не требует ответа», не исправлено);
  • kinopoisk.ru;
  • exler.ru;

И некоторые другие, очень известные и крупные ресурсы, которые я не могу упомянуть здесь (или так и нет ответа). Но немного фактов, не называя ресурсы:

Хостеры, парковочные DNS сервисы уязвимы. Один из ресурсов подобным образом отдал мне ~3.2млн записей о клиентах этого сайта (клиент = домен).

Некоторые крупные компании, работающие в области безопасности — так же уязвимы.

Многие платежные системы, сайты авиалиний, банки, провайдеры подвержены этому багу.

Я потратил немало времени на репорты тех. поддержке по данному поводу. Многие админы тут же правили конфигурацию на верную, но некоторые админы не считают, что это баг (wikipedia.org как пример) и может быть они правы (но я так не считаю) и некоторые так и не ответили. Бывало, что просто вообще нет контактов для связи, но

Благими намерениями вымощена дорога в ад [6]

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

Забавный факт. На одном из университетских сайтов обнаружился домен «muonline.NAMEOFUNIVERSITY» который является сервером популярной MMORPG — MU Online (похоже на WoW, LineAge2 и т.п.). Жду статистику онлайна на главной странице университета :)
AXFR — возвращение

Проверь свой домен

Я написал небольшой сервис, который может помочь в проверке вашего домена (а точнее, его DNS-серверов) на их конфигурацию к приему AXFR-запросов — http://sergeybelove.ru/tools/axfr-test [7] (возможно, это позволит избежать вашему ресурсу плачевных последствий). Так же можно использовать утилиту «dig» для этого.

Fix?

Ограничить IP-адреса, которым разрешено выполнять трансфер-зоны. Пример для Bind:
allow-transfer {
first_ip;
second_ip;
};

and
service bind9 restart

Автор: BeLove

Источник [8]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/dns-2/25462

Ссылки в тексте:

[1] этой: http://blog.sergeybelove.ru/infosec/456

[2] здесь: http://habrahabr.ru/post/165607/

[3] levinkv: http://habrahabr.ru/users/levinkv/

[4] Alexa: http://s3.amazonaws.com/alexa-static/top-1m.csv.zip

[5] [link]: https://gerrit.wikimedia.org/r/gitweb?p=operations/puppet.git;a=blob;f=templates/powerdns/pdns.conf.erb;h=bbd20e74954c842a98db3762e71b403f24370d95;hb=HEAD#l27

[6] Благими намерениями вымощена дорога в ад: http://blog.sergeybelove.ru/infosec/456"

[7] http://sergeybelove.ru/tools/axfr-test: http://sergeybelove.ru/tools/axfr-test

[8] Источник: http://habrahabr.ru/post/166607/