Статьи Новости Контакты

30.03.2007
Данила Ковальчук

О зонах и передачах

DNS zone transfer и reverse DNS sweeping

В этой статье пойдет речь о зонах DNS, передаче зоны DNS и информации, которую злоумышленник может извлечь из этой операции. Также будут рассмотрены конкретные примеры передачи зоны DNS на реальных сайтах. Передача зоны DNS является, пожалуй, самым простым и популярным методом сбора информации обо всех членах какого-либо домена. Файл зоны DNS, как правило, содержит всю информацию, касающуюся имен, входящих домен. Зачастую также этот файл содержит детали внутренней непубличной сети и другую информацию, которая может быть использована для составления точной структуры целевой сети.

Немного базовой теории. Файл зоны является главным хранилищем информации о домене. В случае добавления поддомена в домен, использующийся для оригинального файла зоны, новый поддомен может стать частью этой же зоны, а может быть делегирован в новую зону, созданную для его поддержки. Многие организации в целях балансировки нагрузки и повышения отказоустойчивости используют не один, а два или более DNS-серверов. Главный DNS-сервер называется первичным сервером, остальные – вторичными. Так как запрос имени может прийти к любому серверу, то информация на всех серверах должна быть идентична. Для этого вторичные серверы при старте или по расписанию посылают запрос первичному серверу на предмет наличия изменений в файле зоны. Если со времени последней синхронизации на первичном сервере произошли изменения в данных зоны, то вторичный сервер инициирует передачу зоны DNS.

Из приведенной выше базовой информации можно сделать два простых вывода:

1. Делегируйте непубличные поддомены в отдельную зону, недоступную из вне.

2. Не осуществляйте передачу зоны DNS не авторизованным серверам.

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

Программы, которые могут инициировать передачу зоны DNS, существуют как под Windows-платформу, так и под Unix-like-системы. Я для этих целей буду использовать программу nslookup, входящую в дистрибутив большинства операционных систем. Другие программы, которые могут произвести передачу зоны DNS:

1. Sam Spade – клиент под Windows с графическим интерфейсом.

2. Host – включается во все Unix-like-дистрибутивы.

3. Dig — включается во все Unix-like-дистрибутивы.

Используя nslookup в интерактивном режиме, можно выполнить передачу зоны DNS, присоединившись к соответствующему DNS-серверу. Рассмотрим конкретные примеры. Посмотрим, какую информацию мы сможем получить от такой крупной компании, как ОАО МТС. Для начала определим DNS-серверы:

Microsoft Windows [версия 6.0.6000]

(C) Корпорация "Майкрософт", 2006. Все права защищены

C:\Windows\system32>nslookup

Default Server: ns.masterhost.ru

Address: 192.168.0.155:53

> set querytype=any

> mts.ru

Server: ns.masterhost.ru

Address: 192.168.0.155:53

Неофициальный ответ:

mts.ru

primary name server = ns.mts.ru

responsible mail addr = mail.mts.ru

serial = 2007022000

refresh = 10800 (3 hours)

retry = 1800 (30 mins)

expire = 604800 (7 days)

default TTL = 86400 (1 day)

mts.ru text =

"v=spf1 ip4:194.54.148.0/24 ip4:81.211.47.0/24 ip4:213.87.4.0/24 ip4:212

.44.140.0/24 ip4:194.54.148.0/22 mx ~all"

mts.ru MX preference = 10, mail exchanger = mx.mts.ru

mts.ru MX preference = 20, mail exchanger = mx2.mts.ru

mts.ru MX preference = 30, mail exchanger = mx3.mts.ru

mts.ru internet address = 81.176.66.38

mts.ru nameserver = ns.mts.ru

mts.ru nameserver = ns2.mts.ru

mts.ru nameserver = ns2.mts.ru

mts.ru nameserver = ns.mts.ru

mx.mts.ru internet address = 81.211.47.1

mx2.mts.ru internet address = 194.54.148.6

mx3.mts.ru internet address = 194.54.148.6

>

Итак, имя первичного DNS-сервера – ns.mts.ru, вторичного – ns2.mts.ru. Далее непосредственно выполняем передачу зоны DNS.

> server ns.mts.ru

Default Server: ns.mts.ru

Address: 81.211.47.1

> ls -d mts.ru

ls: connect: Result too large

*** Can't list domain mts.ru: Unspecified error

DNS-сервер отклонил передачу зоны mts.ru на данный компьютер. Если это

ошибка, проверьте параметры безопасности передачи зоны для mts.ru на DNS-

сервере по IP-адресу 81.211.47.1.

Как видим, сервер отклонил передачу зоны. Что ж, не будем расстраиваться, все-таки МТС — это огромная компания и вопросам безопасности там наверняка уделяют достаточно внимания. Но давайте на всякий случай проверим и вторичный сервер.

> server ns2.mts.ru

Default Server: ns2.mts.ru

Address: 212.44.140.2

> ls -d mts.ru

После ввода последней команды мы, совершенно неожиданно, вместо отказа в передаче зоны получаем список из 864 имен, входящих в домен mts.ru. Приводить весь список я не буду, ограничусь лишь несколькими записями.

dealer A 213.87.4.2

admin.kostroma A 85.113.211.3

gw-inet A 194.54.151.1

partners A 81.176.66.38

service.kuban A 217.74.241.64

vip A 81.176.66.38

Как видно даже из названий, эти данные никак не должны являться публичными. И хотя в переданном файле зоны нет информации о внутренней сети, каждый из 864 хостов представляет потенциальную мишень для злоумышленника.

Разберем еще один пример. Сайт интернет-магазина www.shop77.ru. Тут и масштабы намного меньше, и вопросам безопасности (как мы убедимся далее) уделяют гораздо меньше внимания. Определение DNS-сервера я в этом случае опущу. Он один – ns.shop77.ru. Перейду непосредственно к передаче зоны DNS.

> server ns.shop77.ru

Default Server: ns.shop77.ru

Address: 81.211.17.62

> ls -d shop77.ru

[ns.shop77.ru]

shop77.ru. SOA ns.shop77.ru root.shop77.ru. (2005022205

3600 900 3600000 3600)

shop77.ru. NS ns.shop77.ru

shop77.ru. A 81.211.17.62

shop77.ru. MX 10 mail.shop77.ru

shop77.ru. MX 20 shop77.ru

elec CNAME ns.shop77.ru

hiservice A 192.168.0.19

shop77.ru.IN NS ns.avtoreal.ru

intra CNAME ns.shop77.ru

intra1 A 192.168.0.11

localhost A 127.0.0.1

mail CNAME ns.shop77.ru

need CNAME ns.shop77.ru

ns A 81.211.17.62

shop98 A 192.168.0.19

webdb A 192.168.0.19

www CNAME ns.shop77.ru

shop77.ru. SOA ns.shop77.ru root.shop77.ru. (2005022205

3600 900 3600000 3600)

>

А вот здесь уже и внутренние подробности присутствуют. Так, мы видим, что база данных располагается по адресу 192.168.0.19, так же как и сам магазин.

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

Дальнейшее изучение структуры целевой сети включает в себя также использование техники обратного DNS-преобразования (reverse DNS sweeping). Для этого используется утилита ghba.c, существующая под Unix-like-платформы в виде исходного кода. Загрузить ее можно по адресу http://www.attrition.org/tools/other/ghba.c. Эта утилита является сканером подсетей класса B или С. С помощью нее можно получить информацию о машинах (или устройствах), которые не защищены или спрятаны, но все равно имеют связанные с ними DNS-имена. Следующий пример показывает, как скачать, собрать и использовать эту утилиту. В качестве цели будет использовано адресное пространство сайта ЦРУ www.cia.gov.

# wget http://www.attrition.org/tools/other/ghba.c

# ls

ghba.c

# cc -o ghba ghba.c

ghba.c: In function 'main':

ghba.c:105: warning: return type of 'main' is not 'int'

# ls

ghba ghba.c

# ./ghba

usage: ghba [-x] [-a] [-f ] aaa.bbb.[ccc||0].[ddd||0]

# ./ghba 198.81.129.0

Scanning Class C network 198.81.129...

 198.81.129.100 => www.odci.gov

 198.81.129.101 => www2.cia.gov

 198.81.129.163 => ain-relay4-hme1.ucia.gov

 198.81.129.193 => relay1.ucia.gov

 198.81.129.194 => relay2.ucia.gov

 198.81.129.195 => relay4.ucia.gov

 198.81.129.222 => ex-rtr-129.ucia.gov

 198.81.129.230 => res.odci.gov




Скоро на сайте

  • Wordpress

    Серия статей о плагинах к движку WordPrress
  • AJAX

    Проекты и продукты, ориентированные на AJAX
  • Новые сервисы Google

    Обзор новых сервисов Google
 

Copyright © 2003—2017 Все права защищены

При использовании материалов сайта ссылка на hostinfo.ru обязательна

  • хостинг от .masterhost
  • Rambler's Top100