Этап 3. Прослушивание серверов DNS
После установления всех доменов можно приступать к работе с серверами DNS. DNS — это распределенная база данных, предназначенная для преобразования IP-адресов в имена узлов и наоборот. Если сервер DNS не настроен на обеспечение максимальной степени защиты, то с его помощью можно получить информацию о внутренней сети организации.
Перенос зоны
Одна из самых серьезных ошибок администратора при настройке параметров сети состоит в предоставлении возможности взломщику осуществить перенос зоны DNS.
[bash]$ nslookup И наконец, для получения всех записей, соответствующих заданному критерию, воспользуемся командой Is. Параметр -d служит для включения режима вывода всех записей домена. В конце доменного имени добавлен символ ".", как это требуется для явного задания полностью определенного имени (fully qualified domain name). Однако в большинстве случаев точку можно не использовать. Кроме того, мы переназначили вывод в файл /tmp/zone_out для возможности дальнейшего анализа полученных данных. После выполнения переноса зоны можно открыть созданный файл и посмотреть, содержится ли в нем информация, которая может помочь нам в выборе какой-то конкретной системы в качестве плацдарма для проникновения в сеть. Вот фрагмент такого файла.
[bash]$ more zone_out Предположим, взломщик является экспертом какой-нибудь определенной операционной системы, например SunOS или Solaris. В таком случае найти в файле IP-адреса, соответствующие записям HINFO компьютеров SPARC, Sun или Solaris, можно с помощью следующей команды. [bash]$ grep -i Solaris zone_out |wc -1 388 Таким образом, взломщик имеет 388 записей, в которых присутствует слово Solaris, и каждый из этих 388 компьютеров может стать потенциальной жертвой.Предположим, нужно найти компьютеры, которые используются для тестирования программного обеспечения или аппаратных средств. Такие компьютеры часто представляют "лакомый кусок" для взломщика, поскольку обычно на них установлены минимальные средства обеспечения безопасности, используется легко угадываемый пароль, а администраторы, как правило, не следят за тем, кто за ними работает. Такие компьютеры идеально подходят для взлома! Поэтому можно попробовать поискать тестовые системы с помощью следующей команды. [bash]$ grep -i test /tmp/zone_out |wc -1 96 Итак, в нашем распоряжении около сотни записей файла зоны, в которых содержится слово test. Как правило, это количество примерно соответствует количеству реальных тестовых систем сети. Приведенные примеры — лишь малая часть того, что можно при известной доле настойчивости и изобретательности получить из файла зоны. Опытный взломщик, "просеяв через сито" полученные данные, рано или поздно выявит самый уязвимый компьютер сети, с которого он сможет начать вторжение.Существуют некоторые особенности, о которых нужно помнить. Вышеописанный метод позволяет одновременно обращаться лишь к одному серверу имен. Это означает, что взломщику придется выполнить те же операции по отношению ко всем остальным серверам имен, обслуживающим требуемый домен. Кроме того, мы обращались с запросом лишь к домену Acme.net. Если в представляющей интерес сети имеются подчиненные домены, придется выполнить те же действия и с каждым из них (например, greenhouse.Acme.net). И наконец, можно получить сообщение о том, что список записей домена недоступен или что запрос не может быть выполнен. Такое сообщение обычно говорит о том, что параметры настройки запрещают выполнять перенос зоны с этого сервера. Однако если в сети несколько серверов, то, возможно, удастся найти тот из них, который позволяет осуществлять перенос зоны. Теперь, когда вы познакомились с тем, как перенос зоны выполняется вручную, можно рассмотреть и те средства, которые позволяют ускорить этот процесс. К таким средствам относятся host, Sam Spade, axfr и dig. Команда host входит в комплект поставки многих версий системы UNIX. Вот несколько самых простых способов ее использования. host -1 Acme.net или host -I -v -t any Acme.net Если нужно определить лишь IP-адреса, чтобы впоследствии вставить их в сценарий оболочки, можно воспользоваться командой cut, позволяющей выделить IP-адреса из выходного листинга команды host. >>host -l acme.net |cut -f 4 -d" " » /tmp/ip_out В процессе предварительного сбора данных использовать команды системы UNIX для выполнения всех задач нет необходимости. Существует довольно много продуктов для Windows, которые позволяют получить ту же информацию (рис 1.5).И наконец, можно воспользоваться одним из лучших средств переноса зоны — утилитой axfr (http://ftp.edit.edu.cn/pub/linux/ www.trinux.org/src/netmap/axfr-0.5.2.tar.gz), написанной Гаюсом (Gaius). Эта утилита последовательно опрашивает указанные домены, выполняет для каждого из них перенос зоны и создает сжатую базу данных зоны и файлов узлов по каждому домену. Кроме того, в качестве параметра этой утилите можно передать домены верхнего уровня, такие как com или edu, и получить таким образом список всех доменов, связанных с указанным доменом. Однако этой возможностью пользоваться не рекомендуется. Для запуска утилиты axfr используйте следующую команду.
[bash]$ axfr Acme.net Получение записей обмена почтой (MX)
Определение компьютера, на котором обрабатывается почта,— это один из наиболее удачных способов выявления сетевого брандмауэра представляющей интерес организации. Как правило, в коммерческих компаниях почта обрабатывается на том же компьютере, который служит в качестве брандмауэра, или по крайней мере на компьютере, который находится в том же сегменте сети. Для получения более подробной информации можно воспользоваться командой host.
[bash]$ host Acme.net
Если команда host применяется без параметров либо только с именем домена, то сначала она попытается найти записи А, а затем записи MX. Приведенная выше информация пересекается с той информацией, которую ранее была получена при поиске в базе данных ARIN с использованием утилиты whois. Это лишний раз подтверждает, что мы правильно определили адрес нужной нам сети.
Контрмеры: обеспечение безопасности базы данных DNS
Информация DNS представляет для хакера очень большой интерес, поэтому очень важно уменьшить объем данных, доступных через Internet. С точки зрения настройки узла, необходимо ограничить возможность переноса зоны, разрешив ее лишь определенным серверам. В современных версиях службы BIND для этих целей можно использовать директиву xfernets файла named.boot. Для того чтобы ограничить возможность переноса зоны службы DNS компании Microsoft, необходимо использовать параметр Notify (более подробную информацию по этому вопросу можно найти по адресу
http://support.-microsoft.eom/support/kb/articles/ql93/8/37.asp). Для настройки служб имен других разработчиков необходимо обратиться к соответствующей документации.
|