Техника атаки, позволившая получить контроль за всеми доменами в зоне .io

3 месяца ago admin 0

Мэтью Брайант (Matthew Bryant), специализирующийся на безопасности DNS-серверов, опубликовал оригинальный метод атаки на всю систему доменов первого уровня, который позволил получить полный контроль за всеми доменами в зоне «.io«. Суть метода в том, что первичные DNS-серверы, отвечающие за обслуживание домена первого уровня, имеют имена в той же зоне и рассматриваются некоторыми регистраторами на общих основаниях. Атака сводится к поиску просроченных в базе регистратора имён корневых DNS-серверов и регистрации домена с тем же именем, после чего атакующий получает контроль за корневым DNS-сервером.

Для автоматизации атаки написан инструментарий, который осуществляет поиск и перебор имён DNS-серверов, оценку задействования сервера в цепочке обслуживания доменной зоны и проверку доступности домена для регистрации через API регистратора. Анализ зоны .io показал, что несколько доменов серверов DNS для данной зоны оказались доступны для регистрации при проверке через API регистратора Gandi. Часто подобные домены включаются в список зарезервированных имён и регистрация блокируется на одной из последних стадий, но в случае имени «ns-a1.io» этого не было сделано, и домен был доступен для свободной продажи на общих основаниях по цене 96 долларов.

Исследователь не удержался и купил этот домен через сервис nic.io. Вскоре ему пришло уведомление об активации домена, а через утилиту dig показала, что он действительно получил контроль за одним из корневых DNS-серверов зоны .io и в качестве DNS-серверов для него теперь выставлены хосты ns1/ns2.networkobservatory.com, заданные в настройках исследователем, а другие корневые серверы содержат данный хост в списке первичных DNS-серверов:

    $ dig NS ns-a1.io    ;; QUESTION SECTION:   ;ns-a1.io.     IN NS    ;; ANSWER SECTION:   ns-a1.io.    86399  IN NS ns2.networkobservatory.com.   ns-a1.io.    86399  IN NS ns1.networkobservatory.com.     $ dig NS io. @k.root-servers.net.    ;; QUESTION SECTION:   ;io.        IN NS    ;; AUTHORITY SECTION:   io.     172800 IN NS ns-a1.io.   io.     172800 IN NS ns-a2.io.   io.     172800 IN NS ns-a3.io.   io.     172800 IN NS ns-a4.io.   io.     172800 IN NS a0.nic.io.   io.     172800 IN NS b0.nic.io.   io.     172800 IN NS c0.nic.io.    ;; ADDITIONAL SECTION:   ns-a1.io.    172800 IN A  194.0.1.1   ns-a2.io.    172800 IN A  194.0.2.1   ns-a3.io.    172800 IN A  74.116.178.1   ns-a4.io.    172800 IN A  74.116.179.1   a0.nic.io.   172800 IN A  65.22.160.17   b0.nic.io.   172800 IN A  65.22.161.17   c0.nic.io.   172800 IN A  65.22.162.17  

Кроме того, анализ локального трафика через tcpdump показал, что на систему исследователя обрушилась волна запросов, адресованных корневому серверу, число которых было относительно невелико в силу инертности DNS и нахождения старого адреса в кэшах. Не рассчитывая на такой исход, исследователь отключил свой DNS-сервер и сразу написал уведомление организации, администрирующей зону .io, попутно указав ещё несколько имён корневых DNS-серверов, свободных для регистрации, аналогично имени ns-a1.io.

Письмо вернулось с сообщением о недоступности адреса, несмотря на то, что этот email был указан в качестве контактного в официальной базе IANA. Тогда исследователь решил не тратить время на поиск и преодоление кардонов поддержки, а зарегистрировал на себя оставшиеся имена ns-a2.io, ns-a3.io и ns-a4.io, чтобы не дать возможность злоумышленникам захватить контроль над доменами аналогичным способом. После этого был направлен запрос в службу поддержки NIC.IO, которая как часто бывает перенаправила его на другой адрес (abuse@101domain.com). К обеду следующего дня пришло уведомление о блокировке доменов, устранении проблемы и возврате потраченных средств.


Source: pirates.in.ua