Перечисление DNS-записей в Nmap

NmapNmapBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабе вы научитесь перечислять DNS-записи с использованием скрипта dns-brute в Nmap. Цель - обнаружить допустимые имена хостов и поддомены, связанные с целевым IP-адресом, и выявить ценную информацию о инфраструктуре целевой сети.

Вы выполните скрипт dns-brute по целевому IP, сканируете DNS-порт, добавляете подробность для получения детального вывода, сохраняете результаты в файл, просматриваете DNS-записи в терминале Xfce и сравниваете результаты с UDP-сканированием. Это практическое занятие даст вам навыки в перечислении DNS с использованием Nmap.

Запустите перечисление DNS с помощью nmap --script dns-brute 192.168.1.1

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

Скрипт dns-brute работает путём попытки разрешения большого списка общих имен поддоменов по DNS-серверу целевого объекта. Если поддомен существует, DNS-сервер вернёт IP-адрес, что указывает на то, что поддомен действителен.

Сначала давайте разберем команду, которую мы будем использовать:

  • nmap: Это утилита для сканирования сети, которую мы используем.
  • --script dns-brute: Это говорит Nmap использовать скрипт dns-brute.
  • 192.168.1.1: Это целевой IP-адрес. Замените его на фактический IP-адрес, который вы хотите сканировать.

Теперь давайте выполним команду. Откройте терминал Xfce и введите следующую команду:

nmap --script dns-brute 192.168.1.1

Примечание: Замените 192.168.1.1 на фактический IP-адрес целевого объекта, который вы хотите сканировать. Если у вас нет конкретного целевого объекта, вы можете использовать локальный IP-адрес, такой как 127.0.0.1 (localhost), но вы, возможно, не получите никаких интересных результатов.

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

Пример вывода (вывод, который вы увидите, зависит от целевого объекта):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
NSE: Starting dns-brute scan
NSE: DNS Brute-force hostnames: 216.58.216.142
google.com	A	216.58.216.142
www.google.com	A	216.58.216.142
mail.google.com	A	216.58.216.142
NSE: Finished dns-brute scan
Nmap done: 1 IP address (1 host up) scanned in 5.00 seconds

Этот вывод показывает, что скрипт dns-brute нашёл поддомены google.com, www.google.com и mail.google.com, связанные с IP-адресом 216.58.216.142.

Сканирование порта DNS с помощью nmap --script dns-brute -p 53 127.0.0.1

В этом шаге мы сосредоточимся на сканировании порта DNS (порт 53) с использованием Nmap и скрипта dns-brute. Задав порт, мы можем направить наши усилия по перечислению DNS на стандартный DNS-порт, что часто более эффективно.

Разберём команду:

  • nmap: Инструмент для сканирования сети.
  • --script dns-brute: Указывает на скрипт dns-brute для перечисления DNS.
  • -p 53: Эта опция告诉 Nmap только сканировать порт 53, который является стандартным портом для DNS.
  • 127.0.0.1: Это целевой IP-адрес. В данном случае мы используем 127.0.0.1, который ссылается на локальную машину (localhost).

Теперь откройте терминал Xfce и выполните следующую команду:

nmap --script dns-brute -p 53 127.0.0.1

Эта команда запустит скрипт dns-brute специально针对 порта 53 на локальном компьютере. Поскольку 127.0.0.1 обычно не содержит DNS-сервера с большим количеством записей, результаты могут быть ограничены. Однако это демонстрирует, как нацелиться на конкретный порт для перечисления DNS.

Пример вывода (вывод, который вы увидите, может различаться):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).

PORT   STATE SERVICE
53/tcp open  domain
| dns-brute:
|_  records-from-AXFR: No zone transfer allowed.

Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds

В этом примере Nmap показывает, что порт 53 открыт и работает служба domain (DNS). Скрипт dns-brute пытается выполнить зональный перенос (AXFR), но получает отказ. Это общепринятая мера безопасности, чтобы предотвратить несанкционированный доступ к DNS-записям.

Добавьте подробность с помощью nmap -v --script dns-brute 192.168.1.1

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

Опция -v в Nmap включает подробный режим. Использование -v один раз увеличивает уровень подробности. Вы можете использовать -vv для ещё более подробного вывода.

Посмотрим на команду, которую мы будем использовать:

  • nmap: Инструмент для сканирования сети.
  • -v: Включает подробный режим, обеспечивая более подробный вывод.
  • --script dns-brute: Указывает на скрипт dns-brute для перечисления DNS.
  • 192.168.1.1: Целевой IP-адрес. Не забудьте заменить его на фактический IP-адрес, который вы хотите сканировать.

Теперь откройте терминал Xfce и введите следующую команду:

nmap -v --script dns-brute 192.168.1.1

Примечание: Замените 192.168.1.1 на фактический IP-адрес целевого объекта, который вы хотите сканировать.

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

Пример вывода (вывод, который вы увидите, зависит от целевого объекта и условий сети):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Starting dns-brute scan
NSE: Loaded 1795 records from /usr/share/nmap/nselib/data/dns-brute.lst
massdns: warning: id 4255 (inbound): query timed out
massdns: warning: id 4256 (inbound): query timed out
massdns: warning: id 4257 (inbound): query timed out
massdns: warning: id 4258 (inbound): query timed out
massdns: warning: id 4259 (inbound): query timed out
NSE: DNS Brute-force hostnames: 192.168.1.1
Nmap scan report for 192.168.1.1
Host is up (0.0020s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh

NSE: Finished dns-brute scan
Nmap done: 1 IP address (1 host up) scanned in 10.00 seconds

Подробный вывод показывает больше деталей о работе скрипта dns-brute, включая количество загруженных записей и любые предупреждения, которые были обнаружены в ходе сканирования. Это может помочь диагностировать проблемы или понять поведение скрипта.

Сохраните результаты DNS с помощью nmap --script dns-brute -oN dns.txt 127.0.0.1

В этом шаге мы узнаем, как сохранить результаты сканирования Nmap в файл. Это полезно для последующего анализа или для отчетов. Nmap предоставляет несколько вариантов сохранения вывода в различных форматах. Здесь мы будем использовать обычный формат вывода (-oN).

Разберём команду:

  • nmap: Инструмент для сканирования сети.
  • --script dns-brute: Указывает на скрипт dns-brute для перечисления DNS.
  • -oN dns.txt: Эта опция告诉 Nmap сохранить вывод в обычном формате в файл с именем dns.txt. Файл будет сохранён в вашей текущей директории (~/project).
  • 127.0.0.1: Целевой IP-адрес. В данном случае мы используем 127.0.0.1, который ссылается на локальную машину (localhost).

Теперь откройте терминал Xfce и выполните следующую команду:

nmap --script dns-brute -oN dns.txt 127.0.0.1

После завершения сканирования в директории ~/project будет создан файл с именем dns.txt. Этот файл будет содержать вывод Nmap в человекочитаемом формате.

Для проверки того, что файл был создан и содержит результаты сканирования, вы можете использовать команду cat для отображения содержимого файла:

cat dns.txt

Пример вывода (вывод, который вы увидите, может различаться):

## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).
PORT   STATE SERVICE
53/tcp open  domain
| dns-brute:
|_  records-from-AXFR: No zone transfer allowed.

## Nmap done at Fri Oct 27 10:15:02 2023 -- 1 IP address (1 host up) scanned in 2.50 seconds

Этот вывод показывает содержимое файла dns.txt, которое включает отчёт о сканировании Nmap для localhost.

Просмотр записей DNS в терминале Xfce

В этом шаге мы проверим записи DNS, которые были идентифицированы в предыдущих шагах. Мы будем использовать команду cat, чтобы просмотреть содержимое файла dns.txt, который мы создали ранее. Это позволит нам изучить вывод скрипта dns-brute и понять, какие информацию было обнаружено.

Откройте терминал Xfce и введите следующую команду:

cat dns.txt

Эта команда выведет содержимое файла dns.txt в вашем терминале.

Вывод будет похож на этот (точный вывод зависит от целевого объекта и результатов перечисления DNS):

## Nmap 7.80 scan initiated Fri Oct 27 10:20:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).
PORT   STATE SERVICE
53/tcp open  domain
| dns-brute:
|_  records-from-AXFR: No zone transfer allowed.

## Nmap done at Fri Oct 27 10:20:02 2023 -- 1 IP address (1 host up) scanned in 2.50 seconds

Давайте проанализируем вывод:

  • Nmap scan report for localhost (127.0.0.1): Это указывает на то, что сканирование было выполнено на локальной машине.
  • PORT STATE SERVICE: Эта секция показывает открытые порты на целевом объекте.
  • 53/tcp open domain: Это указывает на то, что порт 53 (стандартный порт DNS) открыт и работает службой домена.
  • dns-brute: Эта секция показывает результаты скрипта dns-brute.
  • records-from-AXFR: No zone transfer allowed.: Это указывает на то, что целевой объект не позволяет передачу зон, что является мерой безопасности, чтобы предотвратить несанкционированный доступ к DNS-информации.

В этом примере скрипт dns-brute не нашёл никаких конкретных записей DNS, потому что передача зон не разрешена. Однако, если целевой объект разрешал передачу зон или если скрипт dns-brute нашёл любые другие записи DNS, они были бы перечислены в этой секции.

Просмотрев вывод скрипта dns-brute, вы можете получить ценную информацию о конфигурации DNS целевого объекта и выявить потенциальные уязвимости.

Сравнение с UDP-сканированием в терминале Xfce

В этом шаге мы проведём UDP-сканирование на DNS-порте (53) и сравним результаты с TCP-сканированием, которое мы выполняли ранее. Понимание различий между TCP- и UDP-сканированиями至关重要 для комплексного сетевого разведывания.

DNS обычно использует и TCP, и UDP-протоколы. UDP в основном используется для стандартных DNS-запросов, в то время как TCP используется для передачи зон или когда размер ответа превышает предел UDP.

Для выполнения UDP-сканирования на порту 53 используйте следующую команду Nmap в терминале Xfce:

nmap -sU -p 53 127.0.0.1

Разберём команду:

  • nmap: Инструмент для сканирования сети.
  • -sU: Указывает на UDP-сканирование.
  • -p 53: Указывает на порт 53 (DNS).
  • 127.0.0.1: Целевой IP-адрес (localhost).

Выполните команду и изучите вывод. Он может выглядеть примерно так:

Starting Nmap 7.80 ( https://nmap.org ) at Fri Oct 27 10:25:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).

PORT   STATE         SERVICE
53/udp open|filtered domain

Nmap done: 1 IP address (1 host up) scanned in 3.50 seconds

Теперь сравним этот вывод с TCP-сканированием, которое мы выполняли ранее (с использованием --script dns-brute -p 53 127.0.0.1). Вы можете либо обратиться к выводу, который вы видели на шаге 2, либо запустить повторно TCP-сканирование:

nmap -sT -p 53 127.0.0.1

(Примечание: -sT указывает на TCP-сканирование соединения, которое является по умолчанию, если не указан тип сканирования.)

Вывод TCP-сканирования может выглядеть так:

Starting Nmap 7.80 ( https://nmap.org ) at Fri Oct 27 10:26:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).

PORT   STATE SERVICE
53/tcp open  domain

Nmap done: 1 IP address (1 host up) scanned in 0.50 seconds

Основные различия, которые нужно отметить:

  • STATE: UDP-сканирование может показать open|filtered, в то время как TCP-сканирование показывает open. open|filtered означает, что Nmap не может определить с уверенностью, открыт ли порт или отфильтрован, из-за природы UDP. UDP является безсоединственным, поэтому Nmap не получает определительного "соединение отклонено", как это происходит при TCP.
  • Достоверность: TCP-сканирования обычно более достоверны для определения, открыт ли порт, из-за трехстороннего рукопожатия. UDP-сканирования могут быть менее достоверными из-за потери пакетов и отсутствия протокола, ориентированного на соединение.

В целом, сравнение TCP- и UDP-сканирований даёт более полное представление о сетевых сервисах целевого объекта. Хотя TCP обычно предпочтителен за свою достоверность, UDP-сканирования могут выявить сервисы, которые могут быть незаметны при использовании только TCP.

Резюме

В этом практическом занятии мы изучили перечисление DNS с использованием скрипта dns-brute в Nmap. Мы узнали, как обнаруживать допустимые имена хостов и поддомены для заданного домена путём запросов к DNS-серверам. Практическое занятие показало, как выполнить команду nmap --script dns-brute <target_ip> для идентификации поддоменов, связанных с целевым IP-адресом.

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