8-900-374-94-44
[email protected]
Slide Image
Меню

4Pda зарядное устройство: UGREEN 100W GaN: — 4PDA

Взлом DNS (от начинающего до продвинутого)

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

  1. Основы DNS
  2. Ресурсные записи и файл зоны
  3. Поиск DNS и обратный поиск DNS
  4. Понимание записей с подстановочными знаками
  5. Перенос зоны DNS
  6. Брутфорс DNS

1)

Основы DNS

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

Итак, давайте разберемся, как работает разрешение DNS. Допустим, пользователь открывает браузер и вводит infosecinstitute.com. Теперь за получение IP-адреса отвечает преобразователь DNS в операционной системе пользователя. Сначала он проверяет свой локальный кэш, чтобы узнать, может ли он найти запись для запрошенного доменного имени. Кэш обычно содержит сопоставление IP-адресов с именами хостов, которые сохраняются во время недавних поисков, поэтому распознавателю не нужно снова и снова извлекать IP-адрес. Если он не может найти IP-адрес в своем кеше, он запрашивает DNS-сервер, чтобы узнать, есть ли для него запись. DNS-сервер обычно предоставляется вам интернет-провайдером, или вы можете вручную настроить DNS-сервер для себя. Если он по-прежнему не может найти IP-адрес, он выполняет процесс или рекурсивный DNS-запрос, в котором он запрашивает разные серверы имен, чтобы получить IP-адрес домена. Как только он находит IP-адрес, он возвращает IP-адрес пользователю, а также кэширует его для будущего использования.

Давайте сделаем быструю демонстрацию. Мы собираемся использовать утилиту «nslookup» для этой демонстрации. Просто введите команды, как показано на рисунке ниже.

а) Во второй строке задаем тип = а. Это означает, что мы запрашиваем записи A, которые вернут нам IP-адрес в обмен на домен, который мы запрашиваем. Подробнее о записях мы поговорим в следующем разделе.

b)  Как только мы вводим google.com, мы получаем вывод, показывающий сервер и IP-адрес#порт. Этот сервер в основном является текущим DNS-сервером, который будет обслуживать наш запрос. В данном случае это 10.0.1.1, а номер порта — 53. Это связано с тем, что DNS использует UDP-порт 53 для обслуживания своих запросов. Мы также можем установить текущий DNS-сервер с помощью команды «IP-адрес сервера»

c) В третьей строке вывода отображается «Неавторитетный ответ». В основном это означает, что наш DNS-сервер запросил внешний DNS-сервер для получения IP-адреса. Ниже мы можем увидеть все IP-адреса, связанные с google.com. Обычно это происходит в крупных организациях. Они используют несколько серверов для обслуживания запроса, поскольку один сервер, как правило, не может обрабатывать все запросы.

БЫСТРОЕ УПРАЖНЕНИЕ. Установите текущий сервер на ns1.google.com с помощью команды «server ns1.google.com» и посмотрите, получаете ли вы по-прежнему «Неавторизованный ответ» в выходных данных для запроса для домена google. .ком. Кроме того, изучите инструмент «Копать» и посмотрите, сможете ли вы выполнить описанное выше упражнение с помощью «Копать».

2) 

Записи ресурсов и файл зоны

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

Каждый файл зоны должен начинаться с записи Start of Authority (SOA), содержащей полномочный сервер имен для домена (например, ns1.google.com для google.com ) и адрес электронной почты лица, ответственного за управление сервером имен. Пример файла зоны приведен ниже.

$ORIGIN infosecinstitute.com.;Это начало файла
$TTL 86400 ; TTL составляет 24 часа, также может быть 1 день или 1 час
infosecinstitute.com В SOA ns1.infosecinstitute.com. webmaster.infosecinstitute.com. (
2002026801 ; серийный номер этого файла зоны
2d ; время обновления для ведомого
5h ; время повтора для ведомого
2w ; время истечения срока действия для ведомого
1h ; максимальное время кэширования
)
NS ns1.infosecinstitute.com. ; ns1 — это сервер имен для infosecinstitute.com
NS ns2.infosecinstitute.com. ; ns2 — это резервный сервер имен для infosecinstitute.com

MX 10 mail.infosecinstitute.com. ; почтовый сервер
ns1 A 192.168.1.1 ; IPv4-адрес для ns1. infosecinstitute.com
www CNAME infosecinstitute.com ; www.infosecinstitute.com является псевдонимом для infosecinstitute.com
ftp IN CNAME www.infosecinstitute.com. ; CNAME для ftp
почта A 192.0.3.2 ; IPv4-адрес для mail.infosecinstitute.com

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

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

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

  • A Records — Сопоставляет IP-адрес с именем хоста. Например. 74.125.236.80 для google.com.
  • NS Records — делегирует данную зону для использования данного уполномоченного сервера имен. Например, ns1.google.com — авторитетный сервер имен для google.com 9.0006
  • MX Records — это в основном говорит нам, какой сервер отвечает за получение писем, отправленных на это доменное имя.
  • Записи TXT. Состоят из произвольно удобочитаемого текста в записи.
  • Записи CNAME — дает псевдоним одного имени другому.

Давайте сделаем демонстрацию, чтобы было понятно. Я намеренно добавил некоторые записи на свой веб-сайт search-eye.com для этой статьи, поэтому они могут быть недоступны, когда вы выполняете это, однако вы можете попробовать то же упражнение на других доменах, введите команды, как показано на рисунке ниже. .

а) В первой команде nslookup я установил тип A, что означает, что мне нужен IP-адрес для определенного домена. Я ввожу доменное имя в качестве второй команды и получаю для него соответствующий IP-адрес.

b) В третьей команде я установил тип NS, так как меня интересует поиск серверов имен для search-eye. com. Введите доменное имя в качестве четвертой команды, и мы получим соответствующие серверы имен для домена search-eye.com. Обратите внимание, что поиск серверов имен может дать нам некоторую информацию о хостинг-провайдере домена. Некоторые крупные организации используют свои собственные серверы имен, например. ns2.google.com.

c) Теперь я установил текущий сервер на один из серверов имен, потому что мне интересно найти самую свежую информацию о домене. Обратите внимание, что запросы с вашего собственного DNS-сервера могут не каждый раз давать точную информацию. Я устанавливаю тип MX и снова ввожу доменное имя. Мы получаем список почтовых серверов, отвечающих за обработку писем, отправляемых на этот домен. Число перед ними обозначает приоритет получения почты. Чем меньше число, тем выше приоритет.

d) Затем я устанавливаю тип CNAME и ввожу субдомен, я получаю каноническое имя как infosecinstitute.com. Это означает, что любой запрос к запрашиваемому домену (в данном случае prateek. searching-eye.com) будет перенаправлен на infosecinstitute.com.

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

3) Поиск DNS и обратный поиск DNS

Поиск DNS

Давайте сами выполним поиск DNS для infosecinstitute.com. Мы сделаем это, пройдя всю иерархию DNS от корневых серверов до домена верхнего уровня. Откройте терминал в Backtrack (вы можете использовать свой любимый дистрибутив) и введите «dig». Вы получите то, что показано на рисунке ниже.

Мы получаем список корневых DNS-серверов. Давайте используем этот корневой DNS-сервер для запроса infosecinstitute.com. Делаем это как показано на рисунке ниже

Мы получаем список авторитетных серверов имен для домена com. Обратите внимание на точку (. ) в конце, это то, что делает это полное доменное имя (FQDN). Давайте снова воспользуемся этими серверами имен для запроса.

Теперь мы получаем список авторитетных серверов имен для infosecinstitute.com (это ns1.pairnic.com и ns2.pairnic.com). Теперь нам нужно запросить эти серверы имен, чтобы получить IP-адрес Infosecinstitute.com

. И теперь в разделе ответов мы видим, что IP-адрес для infosecinstitute.com равен 216.9.2.251.5. УСПЕХ !

Обратный поиск DNS

Выполнение обратного поиска DNS преобразует IP-адрес в имя хоста. Для этого нам нужно написать IP-адрес в обратном порядке (например, 192.168.1.1 будет 1.1.168.192), а затем добавить «.in-addr.arpa». к этому. Далее нам нужно сделать запрос на запись PTR с помощью DIG. Давайте сделаем DNS-запрос PTR для 216.92.251.5, команда здесь будет «dig 5.251.92.216.in-addr.arpa PTR»

Как мы можем ясно видеть, этот IP-адрес разрешается в infosecinstitute.com. Так просто!

4)

Понимание записей с подстановочными знаками

Подстановочный знак

Запись с подстановочными знаками используется для предоставления ответов для поддоменов, которые не существуют. Например, допустим, у нас есть домен example.com. Если мы установим подстановочную запись для *.example.com и присвоим ей значение example.com, то запросы для всех несуществующих поддоменов example.com (например, abcd.example, blah.example.com) будут указывать на example.com. .ком. На этапе сбора информации при тестировании веб-сайта на проникновение важно определить поддомены и соответствующие им IP-адреса. Введение функции подстановочных знаков уменьшает это до небольшой степени.

Обход записей с подстановочными знаками

Если записи с подстановочными знаками установлены для определенного домена, их можно обойти для раскрытия информации о его поддоменах. Это делается путем перебора субдоменов. У нас есть список слов, в котором содержатся имена субдоменов, с которыми мы хотим протестировать домен. Затем мы делаем пинг всех этих поддоменов, если эти домены разрешаются в IP-адрес, отличный от IP-адреса хоста, то мы можем с уверенностью сказать, что этот поддомен действительно существует. Однако перед выполнением грубой силы было бы лучше проверить, включены ли записи с подстановочными знаками или нет. Для этого мы можем пропинговать некоторые случайные поддомены, например. 434234.example.com и проверьте, совпадает ли его IP-адрес с IP-адресом хоста (в данном случае example.com). Если это так для некоторых случайных поддоменов, то мы можем четко сказать, что для этого домена включены записи с подстановочными знаками. Мы продемонстрируем это в следующем разделе.

5) Перенос зоны DNS

В предыдущих упражнениях мы видели, что с каждым доменом связаны несколько уполномоченных серверов имен. Например, в случае google.com серверы имен были от ns1.google.com до ns4.google.com. Эти серверы имен используются для обработки запросов, связанных с доменом google.com. Допустим, у нас есть домен example.com, и у него есть два сервера имен: ns1.example.com и ns2.example.com. Обычно в крупной организации будет несколько серверов имен, поэтому, если один из них выйдет из строя на некоторое время, другой будет готов поддержать его и обработать запросы. Обычно один из этих серверов будет главным сервером, а другой — подчиненным сервером. Следовательно, чтобы синхронизироваться друг с другом, подчиненный сервер должен запрашивать главный сервер и получать последние записи через определенный период времени. Главный сервер предоставит подчиненному серверу всю имеющуюся у него информацию. Это в основном то, что называется «Передача зоны». Это все равно, что попросить сервер имен: «Дай мне все, что у тебя есть». Правильно настроенному серверу имен должно быть разрешено обслуживать только запросы на передачу зоны от других серверов имен того же домена. Однако, если сервер не настроен должным образом, он будет обслуживать все запросы на передачу зоны, сделанные ему, без проверки запрашивающего клиента. Это приводит к утечке ценной информации. Передача зоны DNS иногда упоминается с помощью мнемонического кода операции AXFR.

Давайте посмотрим на пример передачи зоны. Мы будем использовать инструмент Fierce, который по умолчанию присутствует в Backtrack. Fierce — один из лучших инструментов для анализа DNS. Введите следующую команду «perl свирепый.pl -dns search-eye.com». Получаем нечто, как показано на рисунке ниже.

Жестокий сначала обнаруживает серверы имен для домена. Затем он проверяет, разрешают ли они передачу зоны. Так как один из серверов имен не настроен должным образом, он разрешает перенос зоны, и мы видим дамп всей информации (записи, поддомены и т. д.).

Почему передача зоны является проблемой безопасности?

Передача зоны раскрывает много информации о домене. Это составляет очень важную часть этапа «Сбор информации» во время теста на проникновение, оценки уязвимости и т. д. Мы можем многое понять, взглянув на дамп. Например, мы можем найти разные поддомены. Некоторые из них могут работать на разных серверах. Этот сервер может быть не полностью исправлен и, следовательно, уязвим. С этого момента мы можем начать думать о Metasploit, Nessus, Nmap и т. д. и провести полную оценку уязвимости домена. Следовательно, такого рода информация значительно увеличивает наш вектор атаки, и эту величину нельзя игнорировать.

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

6) Брутфорс DNS

Передача зон DNS может не работать все время. На самом деле, это не будет работать большую часть времени. Большинство DNS-серверов настроены правильно и не позволяют передавать зоны каждому клиенту. Что же нам делать? Простой ответ, то же самое, что мы делаем, когда ничего не работает, БРУТ-ФОРСА! По сути, у нас есть список слов, содержащий огромный список хостов. Сначала мы проверяем записи с подстановочными знаками, проверяя, является ли случайный поддомен, например. 132qdssac.example.com разрешается в тот же IP-адрес, что и example.com. Если это так, мы знаем, что установлены записи с подстановочными знаками. Затем мы запрашиваем домен, используя каждое слово из нашего списка слов. Например, если одна из записей в файле списка слов — «ads», то мы делаем запрос для ads.example.com. Если он разрешается на другой IP-адрес, мы уверены, что этот субдомен действительно существует. Следовательно, теперь у нас есть информация об имени поддомена и его IP-адресе. Если подстановочные знаки не установлены, мы делаем то же самое и смотрим, получаем ли мы ответ от любого поддомена, который мы запрашиваем. Если мы получим ответ, мы можем быть уверены, что поддомен действительно существует. В итоге мы получаем кучу информации о домене.

Давайте посмотрим на демо. Мы снова воспользуемся инструментом «Жестокий». Fierce — очень удобный инструмент для анализа DNS, и каждый должен иметь его в своем арсенале. Fierce сначала проверит, разрешена ли передача зоны или нет, если передача зоны разрешена, он сбросит всю информацию и благополучно выйдет, в противном случае он выполнит ее методом грубой силы. Нам нужно предоставить Fierce список слов, содержащий список всех возможных имен поддоменов (например, хосты, реклама, контракты). Fierce поставляется со встроенным файлом списка слов «hosts.txt», и мы будем использовать его для нашей демонстрации.


Как мы видим, Fierce выводит информацию о поддоменах google.com

Заключение

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

Как исправить ошибку DNS PROBE FINISHED NO INTERNET?