Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
76
Добавлен:
24.02.2016
Размер:
294.4 Кб
Скачать
  1. Дослідження серверів dns

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

Перенос зоны сервера DNS

Популярность

9

Простота

9

Опасность

3

Степень риска

7

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

При переносе зоны (zone transfer) вторичный сервер DNS может обновить собственную базу данных зоны на основании данных, полученных от первичного DNS-сервера. Это позволяет обеспечить избыточность в работе службы DNS, которая необходима для тех случаев, когда первичный сервер по каким-то причинам становится недоступным. В общем случае вполне достаточно, чтобы перенос зоны выполнялся только вторичным DNS-сервером.

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

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

Один из самых простых методов переноса зоны состоит в использовании клиента nslookup, который обычно входит в комплект поставки большинства версий UNIX и NT. Воспользуемся этой утилитой и введем следующие данные.

[bash]$ nslookup

Default Server: ns1.example.net

Address: 10.10.20.2

> server ns2.tellurian.net

Default server: ns2.tellurian.net

Address: 216.182.1.52#53

> set type=any

> ls -d Tellurian.net. >> /tmp/zone_out

Первая введенная команда — это запуск утилиты nslookup в интерактивном режиме. После запуска утилита сообщает, какой сервер имен в данный момент используется по умолчанию. Обычно таким сервером является DNS-сервер вашей организации или DNS-сервер провайдера. Поскольку используемый в данном примере DNS-сервер (10.10.20.2) не обслуживает интересующий нас домен, нам нужно перейти на другой сервер, на котором мы сможем найти необходимую информацию о внутренней сети. Таким образом, утилите nslookup необходимо явно сообщить о том, к какому серверу DNS ей нужно обратиться. В нашем примере мы будем использовать основной сервер сети Tellurian Networks с адресом 216.182.1.52. Вспомните, что его адрес мы узнали из регистрационной базы данных доменов на предыдущем этапе.

Затем мы устанавливаем тип записи any. Это означает, что в список выбранных записей будут отобраны все записи из базы данных DNS-сервера. (Подробнее о параметрах утилиты nslookup можно узнать с помощью команды man nslookup.)

И, наконец, для получения всех записей, соответствующих заданному критерию, воспользуемся командой ls. Параметр -d служит для включения режима вывода всех записей домена. В конце доменного имени добавлен символ ".", как это требуется для явного задания полностью определенного имени (fully qualified domain name). Однако в большинстве случаев точку можно не использовать. Кроме того, мы переназначили вывод в файл /tmp/zone_out, чтобы обеспечить возможность дальнейшего анализа полученных данных.

После выполнения переноса зоны можно открыть созданный файл и посмотреть, содержится ли в нем информация, которая может помочь нам в выборе какой-то конкретной системы в качестве плацдарма для проникновения в сеть. Вот фрагмент такого файла.

[> ls -d e2e.ru.

[e2e.ru]

e2e.ru. SOA ns1.e2e.ru aad.management.ru. (2008083005 14400 7200 3600000 86400)

e2e.ru. MX 0 e2e.ru

e2e.ru. NS ns1.e2e.ru

e2e.ru. NS ns2.e2e.ru

e2e.ru. A 67.15.60.41

*.e2e.ru. A 67.15.60.41

ars02.e2e.ru. A 89.248.238.48

www.ars02.e2e.ru. A 89.248.238.48

cpanel.e2e.ru. A 67.15.60.41

duh-real.e2e.ru. A 88.212.196.173

duh02.e2e.ru. A 88.212.196.173

www.duh02.e2e.ru. A 88.212.196.173

duh03.e2e.ru. A 88.212.196.173

www.duh03.e2e.ru. A 88.212.196.173

duh04.e2e.ru. A 88.212.197.136

*.duh04.e2e.ru. A 88.212.197.136

ftp.e2e.ru. A 67.15.60.41

kate.e2e.ru. A 67.15.60.41

localhost.e2e.ru. A 127.0.0.1

mail.e2e.ru. CNAME e2e.ru

messenger.e2e.ru. A 78.47.29.91

*.messenger.e2e.ru. A 78.47.29.91

mit45.e2e.ru. A 88.212.197.140

*.mit45.e2e.ru. A 88.212.197.140

ns1.e2e.ru. A 67.15.61.195

ns2.e2e.ru. A 64.246.50.53

poliklinika.e2e.ru. A 78.47.29.91

*.poliklinika.e2e.ru. A 78.47.29.91

robotic.e2e.ru. A 88.212.196.174

www.robotic.e2e.ru. A 88.212.196.174

seadog.e2e.ru. A 88.212.196.168

www.seadog.e2e.ru. A 88.212.196.168

sipanel.e2e.ru. A 67.15.60.41

www.sipanel.e2e.ru. A 67.15.60.41

vadim01.e2e.ru. A 78.47.29.91

*.vadim01.e2e.ru. A 78.47.29.91

www.vadim01.e2e.ru. A 78.47.29.91

vdm.e2e.ru. A 78.47.29.90

*.vdm.e2e.ru. A 78.47.29.90

webdisk.e2e.ru. A 67.15.60.41

webmail.e2e.ru. A 67.15.60.41

whm.e2e.ru. A 67.15.60.41

www.e2e.ru. CNAME e2e.ru

e2e.ru. SOA ns1.e2e.ru aad.management.ru. (2008083005 14400 7200 3600000 86400)

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

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

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

Теперь, когда вы познакомились с тем, как перенос зоны выполняется вручную, можно рассмотреть и те средства, которые позволяют ускорить этот процесс. К таким средствам относятся host, Sam Spade, axfr и dig.

Команда host входит в комплект поставки многих версий системы UNIX. Вот несколько самых простых способов ее использования,

host -l e2e.ru

или

# host -l -t any e2e.ru

e2e.ru. SOA ns1.e2e.ru. aad.management.ru. (

2008083005 ;serial (version)

14400 ;refresh period (4 hours)

7200 ;retry interval (2 hours)

3600000 ;expire time (5 weeks, 6 days, 16 hours)

86400 ;default ttl (1 day)

)

e2e.ru. MX 0 e2e.ru.

e2e.ru. NS ns1.e2e.ru.

e2e.ru. NS ns2.e2e.ru.

e2e.ru. A 67.15.60.41

*.e2e.ru. A 67.15.60.41

ars02.e2e.ru. A 89.248.238.48

www.ars02.e2e.ru. A 89.248.238.48

cpanel.e2e.ru. A 67.15.60.41

duh-real.e2e.ru. A 88.212.196.173

duh02.e2e.ru. A 88.212.196.173

www.duh02.e2e.ru. A 88.212.196.173

duh03.e2e.ru. A 88.212.196.173

www.duh03.e2e.ru. A 88.212.196.173

duh04.e2e.ru. A 88.212.197.136

*.duh04.e2e.ru. A 88.212.197.136

ftp.e2e.ru. A 67.15.60.41

kate.e2e.ru. A 67.15.60.41

localhost.e2e.ru. A 127.0.0.1

mail.e2e.ru. CNAME e2e.ru.

messenger.e2e.ru. A 78.47.29.91

*.messenger.e2e.ru. A 78.47.29.91

mit45.e2e.ru. A 88.212.197.140

*.mit45.e2e.ru. A 88.212.197.140

ns1.e2e.ru. A 67.15.61.195

ns2.e2e.ru. A 64.246.50.53

poliklinika.e2e.ru. A 78.47.29.91

*.poliklinika.e2e.ru. A 78.47.29.91

robotic.e2e.ru. A 88.212.196.174

www.robotic.e2e.ru. A 88.212.196.174

seadog.e2e.ru. A 88.212.196.168

www.seadog.e2e.ru. A 88.212.196.168

sipanel.e2e.ru. A 67.15.60.41

www.sipanel.e2e.ru. A 67.15.60.41

vadim01.e2e.ru. A 78.47.29.91

*.vadim01.e2e.ru. A 78.47.29.91

www.vadim01.e2e.ru. A 78.47.29.91

vdm.e2e.ru. A 78.47.29.90

*.vdm.e2e.ru. A 78.47.29.90

webdisk.e2e.ru. A 67.15.60.41

webmail.e2e.ru. A 67.15.60.41

whm.e2e.ru. A 67.15.60.41

www.e2e.ru. CNAME e2e.ru.

e2e.ru. SOA ns1.e2e.ru. aad.management.ru. (

2008083005 ;serial (version)

14400 ;refresh period (4 hours)

7200 ;retry interval (2 hours)

3600000 ;expire time (5 weeks, 6 days, 16 hours)

86400 ;default ttl (1 day)

Если нужно определить лишь IP-адреса, чтобы впоследствии вставить их в сценарий оболочки, можно воспользоваться командой cut, позволяющей выделить IP-адреса из выходного листинга команды host.

host -l e2e.ru |cut -f 4 -d " " >> /tmp/ip_out

В процессе предварительного сбора данных использовать команды системы UNIX для выполнения всех задач нет необходимости. Существует довольно много продуктов для Windows, которые позволяют получить ту же информацию (Sam Spade).

И, наконец, можно воспользоваться одним из лучших средств переноса зоны — утилитой axfr (http://ftp.cdit.edu.cn/pub/linux/www.trinux.org/ src/netmap/axfr-0.5.2.tar.gz), написанной Гаюсом (Gaius). Эта утилита последовательно опрашивает указанные домены, выполняет для каждого из них перенос зоны и создает сжатую базу данных зоны и файлов узлов по каждому домену. Кроме того, в качестве параметра этой утилите можно передать домены верхнего уровня, такие как com или edu, и, таким образом, получить список всех доменов, связанных с указанным доменом. Однако этой возможностью пользоваться не рекомендуется. Для запуска утилиты axfr используйте следующую команду.

[bash]$ axfr tellurian.net

axfr: Using default directory: /root/axfrdb

Found 2 name servers for domain ‘tellurian.net.’:

Text deleted.

Received XXX answers (XXX records).

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

[bash]$ axfr cat tellurian.net

Получение записей MX

Определение компьютера, на котором обрабатывается почта, — это один из наиболее удачных способов выявления сетевого брандмауэра представляющей интерес организации. Как правило, в коммерческих компаниях почта обрабатывается на том же компьютере, который служит в качестве брандмауэра, или, по крайней мере, на компьютере, который находится в том же сегменте сети. Для получения более подробной информации можно воспользоваться командой host.

root@andLinux:~$ host -t MX tellurian.net

tellurian.net MX 10 mail.tellurian.net

Если команда host применяется без параметров, либо только с именем домена, то сначала она попытается найти записи А, а затем записи MX. Приведенная выше информация пересекается с той информацией, которая ранее была получена при поиске в базе данных ARIN с использованием утилиты whois. Это лишний раз подтверждает, что мы правильно определили адрес нужной нам сети.

Контрмеры: обеспечение безопасности базы данных DNS

Информация DNS представляет для хакера очень большой интерес, поэтому очень важно уменьшить объем данных, доступных через Internet. С точки зрения настройки узла, необходимо ограничить возможность переноса зоны, разрешив ее лишь определенным серверам. В современных версиях службы BIND для этих целей можно использовать специальную директиву в файле named.conf. Для того чтобы ограничить возможность переноса зоны службы DNS компании Microsoft, можно воспользоваться параметром Notify (более подробную информацию по этому вопросу можно найти по адресу http://support.microsoft.com/support/kb/articles/q!93/8/37.asp). Для настройки служб имен других разработчиков необходимо обратиться к соответствующей документации.

С точки зрения защиты сети, необходимо настроить брандмауэр или фильтрующий маршрутизатор таким образом, чтобы они отсекали все несанкционированные входящие соединения с TCP-портом 53. Поскольку в запросах на получение имен используется протокол UDP, а в запросах на перенос зоны — протокол TCP, это позволит эффективно пресекать любые попытки переноса зоны. Однако подобные контрмеры нарушают требования инструкций RFC, в которых сказано о том, что запросы к службе DNS размером более 512 байт должны передаваться по протоколу TCP. В большинстве случаев для DNS-запросов вполне достаточно 512 байт.

Более удачное решение проблемы заключается в реализации криптографических подписей (TSIG — Transaction Signature), что позволит лишь "доверенным" узлам переносить информацию о зоне. Для получения подробных пошаговых рекомендаций по реализации защиты на базе TSIG обращайтесь по адресу http://romana.ucd.ie/james/tsig.html.

Ограничение возможности переноса зоны увеличит время, которое должен потратить взломщик, перебирая IP-адреса и пробуя разные имена узлов. Однако поскольку запросы на получение имен по-прежнему остаются разрешенными, взломщик может вручную перебрать все IP-адреса из выделенного для сети диапазона адресов.

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

Может показаться, что перечисленные выше рекомендации являются очевидными, однако не редко встречаются DNS-сервера, которые позволяли "вытащить" из них более 16000 внутренних IP-адресов и имен узлов.

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

Соседние файлы в папке Лекции