Практика 3 Использование программы nslookup_. Использование программы nslookup для получения сведений о домене в интерактивном режиме
Скачать 211.08 Kb.
|
Использование программы nslookup для получения сведений о домене в интерактивном режиме Обычно операционная система (в Windows - служба DNS-клиент) сама выполняет преобразование имен в адреса, и редко какое приложение непосредственно обращается к DNS-серверу. Но при анализе удаленных хостов и сетей можно вручную получить интересующие сведения от DNS-сервера. Для работы с DNS-серверами используется консольная утилита Nslookup, которая входит в состав как Linux, так и Windows. Работа утилиты nslookup аналогична действиям службы DNS-клиент, с той разницей, что вся информация выводится на экран. У программы есть два режима работы: командный и интерактивный. Командный режим используется, когда нужно быстро узнать IP-адрес хоста по его имени. #nslookup server.com Сначала программа выводит имя и адрес DNS-сервера, к которому она обращается за информацией. Строка «Non-authoritative answer» говорит о том, что данные берутся из промежуточного кэширующего сервера. Далее выводятся запрошенное нами доменное имя (server.com) и его адрес. Больше информации можно получить, используя nslookup в интерактивном режиме. Для этот запускаем программу без параметров и запрашиваем список доступных команд: «?». # nslookup Default Server: myserver.domain.com Address: 127.0.0.1 Команда «set type» позволяет задать тип запрашиваемой информации о домене: set type= Тип записи Описание soa start of authority ns информация об авторитарных DNS-серверах a IP адрес узла aaaa Ipv6 адрес узла ptr преобразование IP адреса в имя узла hinfo информация о хосте (тип ОС) mx почтовые серверы txt простые текстовые данные cname дополнительное имя для данного домена (если хост имеет несколько доменных имён - aliases) srv служебные записи, например Active Directory any все доступные записи (upd: 2017 deprecated) Файл зоны содержит набор ресурсных записей (Resource Records, RR). Каждая запись содержит определенную информацию об узле или службе, доступных в пределах домена DNS. В документе RFC 1183 «New DNS RR Definitions», стандартизировано более десяти типов записей DNS, в которых может храниться информация о почтовых серверах, ресурсах, псевдонимах, служебная информация и т.д. Наиболее часто используются следующие основные типы записей. 1) Запись SOA (Start of Authority) определяет начало зоны. Для каждой зоны создается своя запись типа SOA. В ней содержится ряд полей: - Первичный (Primary) DNS-сервер для некоторой зоны — авторитарный DNS-сервер, на котором хранится полная исходная информация об этой зоне. - e-mail ответственного лица записывается через точку, а не через собаку (напр. sysadmin.yandex.ru) - serial – серийный номер зоны. Фактически, это номер изменения файла зоны. Если у главного DNS-сервера, отвечающего за зону, есть подчиненные сервера, то они периодически сравнивают номер копии зоны у себя с номером на главном сервере. Если на главном номер больше – подчиненные сервера получают обновленную зону. - refresh – как часто подчиненные сервера будут пытаться обновить зону - retry – как часто подчиненные сервера будут пытаться обновить зону, если в первый раз произошла ошибка (например, главный сервер был недоступен) - expire – сколько времени подчиненный сервер может считать информацию о зоне актуальной, если главный сервер ему так и не ответил - TTL – на сколько времени промежуточные сервера будут кэшировать запись. Это нужно для периодического обнуления данных, хранящихся в кеше DNS-серверов. TTL представляет собой продолжительность кэширования записи *каждым звеном* цепочки установки соответствий DNS. Более логичным было бы название «продолжительность хранения записи DNS в кэше». Каково стандартное значение TTL для записей DNS? Значение TTL задается в секундах. Большинство служб настройки конфигурации DNS содержат готовый список значений для записей. 300 секунд = 5 минут = «Очень короткое» 3600 секунд = 1 час = «Короткое» 86 400 секунд = 24 часа = «Длинное» 604 800 секунд = 7 дней = «Абсолютный максимум» Значение «по умолчанию» составляет 86 400 секунд, то есть 1 день. Это означает, что при изменении записи DNS, вплоть до 24 часов после изменения, DNS-серверы по всему миру всё еще могут выдавать старые данные из кеша. Это очень долго, поэтому сейчас стараются выставлять это значение меньшим – 1-10 минут. Атака DDOS, способная на 12 часов остановить работу корневых серверов DNS, меньше скажется на сайтах с очень высоким значением TTL. В таких случаях клиенты будут работать даже при выключении или перегрузке сервера DNS. Однако, если при настройке зоны веб-сайта или электронной почты вы случайно сделаете ошибку, 12 часов без какой-либо возможности устранить ее — это ужасно. Именно поэтому некоторые администраторы считают, что время TTL у записей не должно превышать 1 минуты. Чтобы увидеть значение TTL у отдельных RR, можно запустить nslookup –debug site.com Интересная опция – nslookup –d2 2) Записи NS (Name Server) определяют авторитарные DNS-серверы данной зоны. Например, зону домена yandex.ru обслуживают четыре основных DNS-сервера: > set type=ns Server: ns1.misp.ru Address: 10.22.10.20 Non-authoritative answer: yandex.ru nameserver = ns1.yandex.ru yandex.ru nameserver = ns2.yandex.ru yandex.ru nameserver = ns3.yandex.ru yandex.ru nameserver = ns.ispm.ru ns2.yandex.ru internet address = 213.180.199.34 ns3.yandex.ru internet address = 213.180.193.2 Эта информация понадобится в дальнейшем, когда мы попытаемся угадывать имена поддоменов, или выполнить перенос зоны. 3) Запись типа А (Address) выполняет самую известную функцию – преобразование доменного имени в IP-адрес. Именно она отображается при командном режиме работы. 4) Записи типа МХ (Mail Exchange) определяют имена почтовых серверов, которые обслуживают данную зону. (Чтобы определить IP-адрес почтового сервера, для них также должны быть созданы А-записи в соответствующей зоне). Пример запроса адреса сервера электронной почты: > set type=mx > real.xakep.ru Server: ns1.misp.ru Address: 10.22.10.20 Non-authoritative answer: real.xakep.ru MX preference = 20, mail exchanger = smtp.gameland.ru real.xakep.ru MX preference = 10, mail exchanger = post.gameland.rmt-net.ru xakep.ru nameserver = ns4.nic.ru xakep.ru nameserver = ns.gameland.ru Когда кто-то посылает письмо на адрес magazine@real.xakep.ru, то сервер исходящей почты сначала обращается к DNS-серверу домена xakep.ru, чтобы узнать IP-адрес сервера, принимающего почту для адресов @real.xakep.ru. За это и отвечают записи МХ. Кстати, хоста real.xakep.ru физически не существует, т.к. у него нет IP-адреса. А вся почта, согласно записям MX, поступает либо на сервер smtp.gameland.ru, либо на post.gameland.rmt-net.ru. И уже они обрабатывают входящие письма. Какой конкретно сервер выбрать для доставки, определяет параметр «preference» – приоритет узла. Сначала выбирается сервер с наименьшим значением параметра. Если соединиться с ним не получилось, то выбирается следующий, имеющий более высокий приоритет. Равный приоритет preference используется для распределения нагрузки между несколькими почтовыми серверами. 5) хитрый тип записей PTR (Pointer) – позволяет преобразовать IP-адрес в доменное имя (называется обратный запрос). Чтобы не перебирать все дерево доменных имен интернета в поисках имени, которому соответствует интересующий нас IP-адрес, был выделен специальный домен in-addr.arpa. Хосты в нем именуются очень похоже на IP-адреса, только в обратную сторону. Эту иерархическую структуру можно представить в виде дерева. Пусть, например, значением первого байта нашего IP-адреса будет число 216.Затем выбирается следующее поддерево согласно значению второго байта IP-адреса хоста (239).По этой же схеме выполняется поиск следующих поддеревьев (узлы 37 и 25). Таким образом, IP-адресу 216.239.37.25 будет соответствовать доменное имя 25.37.239.216.in-addr.arpa, информация о котором хранится в DNS-серверах внешнего домена 37.239.216.in-addr.arpa. И уже они, серверы внешнего домена, определяют, что поддомену с именем «25» (то есть IP-адресу 216.239.37.25) соответствует имя smtp2.google.com. Пример преобразования IP в доменное имя: > set type=ptr > 213.180.216.200 Server: ns1.misp.ru Address: 10.22.10.20 Non-authoritative answer: 200.216.180.213.in-addr.arpa name = www.yandex.ru 216.180.213.in-addr.arpa nameserver = ns2.yandex.net 216.180.213.in-addr.arpa nameserver = ns1.yandex.net Важно! Чтобы получить имя по адресу, нужно явно указать тип запроса PTR! 6) Записи сетевых служб SRV (Service locator) – показывают, какие сервисы обслуживают данную зону (например, серверы Active Directory). Если на сервере для поддержки службы Active Directory запущена служба DNS компании Microsoft, то взломщик может получить еще больше информации. Поскольку пространство имен Active Directory основывается на использовании службы DNS, то работа всех доменных служб, таких как Active Directory и Kerberos, строится на использовании записей SRV. В записи SRV указываются имя службы, используемый протокол (TCP или UDP), номер порта и сервер, предоставляющий эту службу. Таким образом, эта запись позволяет определить расположение сервера по типу службы (например, LDAP, FTP или WWW) и протоколу (TCP или UDP). В следующем примере показана информация, которую можно получить при обычном переносе зоны домена Active Directory c сервера labfarce.org: Согласно спецификации RFC 2052, запись SRV имеет следующий формат: Из этой информации можно получить некоторые сведения -расположение доменной службы Active Directory (_gc._tcp), контроллеров домена, на которых используется аутентификация по протоколу Kerberos (_kerberos._tcp), серверов LDAP (_ldap._tcp), а также связанные с ними номера TCP-портов. 7) Записи типа CNAME позволяют присваивать хосту мнемонические имена. Они позволяют делать DNS-редирект на другой домен, для этого нужно создать CNAME-записи для домена и поддоменов. Например, нам необходимо настроить редирект на сайт test.com: @ CNAME test.com. Если редирект через DNS нужно реализовать только для конкретного поддомена, то его необходимо указать явно, например: www CNAME test.com. Если же клиента необходимо перенаправлять со всех поддоменов, используем символ «звездочка»: * CNAME test.com. 8) Записи TXT – просто текстовая информация. Обычно в них указывается SPF-запись для домена. Пример игры в крестики-нолики через DNS: https://habr.com/post/419333/ nslookup -type=txt help.game.f1remoon.com. ns.f1remoon.com 9) Конечно, проще всего указать тип запроса ANY, чтобы получить всю доступную информацию о домене. Пример. Получение сведений о сети и почтовых серверах sstu.ru: > set type=any > sstu.ru Server: ns2.san.ru Address: 88.147.129.15 Non-authoritative answer: sstu.ru MX preference = 10, mail exchanger = sgtu-gw.vtt.net sstu.ru MX preference = 15, mail exchanger = sstu.ru sstu.ru MX preference = 4, mail exchanger = mx3.sstu.ru sstu.ru MX preference = 5, mail exchanger = mx1.sstu.ru sstu.ru MX preference = 6, mail exchanger = mx2.sstu.ru sstu.ru nameserver = ns.runnet.ru sstu.ru nameserver = ns.sstu.ru sstu.ru nameserver = ns4.nic.ru sstu.ru nameserver = ns8.nic.ru sstu.ru nameserver = sgtu-gw.vtt.net sstu.ru nameserver = 82.179.32.4 mx3.sstu.ru internet address = 82.137.176.2 sgtu-gw.vtt.net internet address = 217.23.64.218 sstu.ru internet address = 217.23.64.218 ns.runnet.ru internet address = 194.85.32.18 ns4.nic.ru internet address = 194.226.96.8 ns8.nic.ru internet address = 193.232.130.14 К сожалению, в настоящее время тип ANY стал deprecated, и новые сервера его уже не поддерживают: https://blog.cloudflare.com/what-happened-next-the-deprecation-of-any/ https://datatracker.ietf.org/doc/draft-ietf-dnsop-refuse-any/ http://fanf.livejournal.com/140566.html Задание на практическую работу: Определите dns-сервера, которые используются в сети СГТУ (для домена sstu.ru). Список серверов включите в отчет. Для домена sstu.ru получите как можно большее количество ресурсных записей. Для каждой записи попробуйте узнать ее TTL. Попробуйте осуществить перенос зоны домена sstu.ru с каждого из этих dns-серверов. Результаты отобразите скриншотами. (Примечание: если вы делаете работу из дома, то попробуйте осуществить перенос зоны с домена zonetransfer.me) Попробуйте осуществить перенос зоны доменов sstuedudom и sstudepsdom с внутренного dns-сервера. Результаты отобразите скриншотами. Попробуйте выполнить перенос обратной зоны (168.192.in-addr.arpa) с внутренного dns-сервера СГТУ. Результаты отобразите скриншотами. Для выполнения задания достаточно использовать только nslookup (или аналогичные утилиты для отправки DNS-пакетов, например dig). Отчет присылайте на почту phdsaratov@mail.ru. |