Выполнение UDP-сканирования с помощью Nmap

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

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

Введение

В этом лабе вы научитесь выполнять сканирование UDP с использованием Nmap. Вы начнете с выполнения базового сканирования UDP на целевой IP-адрес с использованием параметра -sU. Затем вы будете сканировать конкретные UDP-порты, комбинировать сканирование UDP и TCP и добавлять детекцию версии. Наконец, вы будете просматривать результаты сканирования UDP в терминале Xfce и сравнивать выводы в текстовом редакторе Xfce.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/tcp_connect_scan("Basic TCP Connect Scan") nmap/NmapGroup -.-> nmap/output_formats("Output Formats") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/scan_types("Scan Types and Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/udp_scanning("UDP Scanning Techniques") nmap/NmapGroup -.-> nmap/os_version_detection("OS and Version Detection") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/tcp_connect_scan -.-> lab-530179{{"Выполнение UDP-сканирования с помощью Nmap"}} nmap/output_formats -.-> lab-530179{{"Выполнение UDP-сканирования с помощью Nmap"}} nmap/save_output -.-> lab-530179{{"Выполнение UDP-сканирования с помощью Nmap"}} nmap/port_scanning -.-> lab-530179{{"Выполнение UDP-сканирования с помощью Nmap"}} nmap/scan_types -.-> lab-530179{{"Выполнение UDP-сканирования с помощью Nmap"}} nmap/target_specification -.-> lab-530179{{"Выполнение UDP-сканирования с помощью Nmap"}} nmap/udp_scanning -.-> lab-530179{{"Выполнение UDP-сканирования с помощью Nmap"}} nmap/os_version_detection -.-> lab-530179{{"Выполнение UDP-сканирования с помощью Nmap"}} nmap/service_detection -.-> lab-530179{{"Выполнение UDP-сканирования с помощью Nmap"}} end

Запуск сканирования UDP с помощью nmap -sU 192.168.1.1

В этом шаге мы выполним базовое сканирование UDP с использованием Nmap. UDP (User Datagram Protocol) - это протокол без соединения, что означает, что, в отличие от TCP, перед отправкой данных не требуется рукопожатие для установления соединения. Это делает сканирование UDP различным от сканирования TCP. Параметр -sU в Nmap используется для инициации сканирования UDP.

Прежде чем мы начнем, важно понимать, что сканирование UDP может быть менее надежным, чем сканирование TCP. Поскольку UDP - протокол без соединения, Nmap может не всегда получать ответ от порта, даже если он открыт. Файерволы и условия сети также могут повлиять на точность сканирования UDP.

Давайте начнем с сканирования целевого IP-адреса 192.168.1.1 с использованием следующей команды:

sudo nmap -sU 192.168.1.1

Эта команда instructs Nmap to perform a UDP scan (-sU) on the IP address 192.168.1.1. You will need sudo because UDP scans often require elevated privileges to send raw packets.

После выполнения команды вы увидите вывод, похожий на следующий:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.0010s latency).
Not shown: 997 closed udp ports
PORT      STATE         SERVICE
137/udp   open|filtered netbios-ns
138/udp   open|filtered netbios-dgm
5353/udp  open|filtered zeroconf

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

Пояснение вывода:

  • Starting Nmap...: Показывает версию Nmap и время начала сканирования.
  • Nmap scan report for 192.168.1.1: Указывает на целевой IP-адрес.
  • Host is up: Подтверждает, что целевой хост доступен.
  • Not shown: 997 closed udp ports: Указывает, что Nmap не показал 997 закрытых UDP-портов. По умолчанию Nmap показывает только открытые, открытые|отфильтрованные или отфильтрованные порты.
  • PORT STATE SERVICE: Перечисляет номер порта, его состояние и службу, работающую на этом порту (если это известно).
    • open: Указывает, что Nmap получил ответ от порта, что означает, что на этом порту слушает служба.
    • open|filtered: Указывает, что порт либо открыт, либо отфильтрован. Nmap не может определить, в каком состоянии он находится. Это часто означает, что фаервол блокирует запросы Nmap.
    • filtered: Указывает, что фаервол блокирует запросы Nmap, и Nmap не может определить, открыт ли порт или закрыт.
  • Nmap done: Показывает время завершения сканирования и количество сканированных IP-адресов.

Важные соображения:

  • Замените 192.168.1.1 на фактический IP-адрес целевого объекта, который вы хотите отсканировать.
  • Результаты сканирования UDP могут различаться в зависимости от условий сети и конфигурации фаервола.
  • Сканирование сети без разрешения является незаконным и неэтичным. Сканируйте только сети, которые вы владеете или для которых у вас есть явное разрешение на сканирование.

Сканирование UDP-портов с помощью nmap -sU -p 53,123 127.0.0.1

В этом шаге мы сосредоточимся на сканировании UDP на конкретных портах. Это полезно, когда вы хотите проверить, запущены ли определенные службы на целевой машине, не сканируя все UDP-порты, что может занять много времени. Мы будем сканировать порты 53 (DNS) и 123 (NTP) на локальном компьютере (127.0.0.1).

Параметр -p в Nmap позволяет вам указать порты, которые вы хотите отсканировать. Вы можете указать один порт, диапазон портов (например, 1-100) или список портов, разделенных запятыми (например, 21,22,80).

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

sudo nmap -sU -p 53,123 127.0.0.1

Эта команда instructs Nmap to perform a UDP scan (-sU) on ports 53 and 123 (-p 53,123) of the IP address 127.0.0.1 (localhost). Again, sudo is often required for UDP scans.

После выполнения команды вы можете увидеть вывод, похожий на этот:

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.000047s latency).

PORT    STATE         SERVICE
53/udp  open|filtered domain
123/udp closed        ntp

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

Пояснение вывода:

  • Nmap scan report for localhost (127.0.0.1): Указывает, что цель - это локальный компьютер.
  • PORT STATE SERVICE: Перечисляет номер порта, его состояние и службу, работающую на этом порту (если это известно).
    • 53/udp open|filtered domain: Порт 53 (DNS) либо открыт, либо отфильтрован. Это означает, что Nmap не мог определить с уверенностью, открыт ли порт из-за возможных правил фаервола или условий сети.
    • 123/udp closed ntp: Порт 123 (NTP) закрыт. Это означает, что на этом порту не слушает никакая служба.

Основные выводы:

  • Параметр -p позволяет вам нацелиться на конкретные порты, делая ваши сканирования более эффективными.
  • Вывод предоставляет информацию о состоянии каждого сканируемого порта (открыт, закрыт, отфильтрован и т.д.).
  • Понимание связанных с общими портами служб (например, 53 для DNS и 123 для NTP) помогает вам интерпретировать результаты сканирования.

Объединение сканирования UDP и TCP с помощью nmap -sU -sT 192.168.1.1

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

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

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

sudo nmap -sU -sT 192.168.1.1

Эта команда instructs Nmap to perform a UDP scan (-sU) and a TCP connect scan (-sT) on the IP address 192.168.1.1. sudo is often needed, especially for the UDP portion of the scan.

После выполнения команды вы увидите вывод, включающий результаты как сканирования UDP, так и TCP. Вывод может выглядеть примерно так:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.1
Host is up (0.0010s latency).
Not shown: 997 closed udp ports
PORT      STATE         SERVICE
137/udp   open|filtered netbios-ns
138/udp   open|filtered netbios-dgm
5353/udp  open|filtered zeroconf
PORT      STATE    SERVICE
22/tcp    open     ssh
80/tcp    open     http

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

Пояснение вывода:

  • Вывод похож на предыдущие сканирования, но теперь он включает результаты для как UDP-, так и TCP-портов.
  • Первая секция показывает результаты сканирования UDP, с указанием портов и их состояний (открыт, закрыт, отфильтрован и т.д.).
  • Вторая секция показывает результаты сканирования TCP, также с указанием портов и их состояний.
  • Обратите внимание, что на одном и том же IP-адресе могут работать разные службы на разных протоколах (UDP и TCP).

Преимущества объединения сканирования UDP и TCP:

  • Более полные результаты: Вы получаете более полное представление о службах, работающих на цели.
  • Идентификация разных типов служб: Вы можете определить службы, использующие UDP (например, DNS, NTP), и службы, использующие TCP (например, HTTP, SSH).

Важная примечание:

Объединение типов сканирования может увеличить время сканирования. Если вам нужны быстрые результаты, рассмотрите возможность нацеления на конкретные порты.

Добавление обнаружения версии с помощью nmap -sUV 192.168.1.1

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

Параметр -sV в Nmap включает обнаружение версии. Когда комбинируется с -sU для сканирования UDP, он становится -sUV. Nmap отправит запросы на открытые UDP-порты, чтобы попробовать идентифицировать службу и ее версию.

Для выполнения сканирования UDP с обнаружением версии на 192.168.1.1 используйте следующую команду:

sudo nmap -sUV 192.168.1.1

Эта команда instructs Nmap to perform a UDP scan (-sU) and version detection (-sV) on the IP address 192.168.1.1. The combined option is -sUV. As before, sudo is often required for UDP scans.

После выполнения команды вы можете увидеть вывод, похожий на этот:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00088s latency).
Not shown: 997 closed udp ports
PORT      STATE         SERVICE VERSION
137/udp   open|filtered netbios-ns
138/udp   open|filtered netbios-dgm
5353/udp  open|filtered zeroconf  Apple Bonjour
Service Info: OS: Apple embedded

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

Пояснение вывода:

  • Вывод теперь включает столбец VERSION, в котором отображается определенная версия службы (если это возможно).
  • 5353/udp open|filtered zeroconf Apple Bonjour: Nmap идентифицировал службу, работающую на порту 5353, как Apple Bonjour.
  • Service Info: OS: Apple embedded: Nmap также пытается определить операционную систему на основе информации о службе.

Основные выводы:

  • Параметр -sV (или -sUV, когда комбинируется с сканированием UDP) включает обнаружение версии.
  • Обнаружение версии может помочь идентифицировать конкретные приложения и версии, работающие на открытых портах.
  • Эта информация может быть использована для оценки потенциальных уязвимостей и планирования дальнейших действий.

Важные соображения:

  • Обнаружение версии может занять больше времени, чем простое сканирование портов, так как Nmap должен отправить дополнительные запросы на каждый открытый порт.
  • Точность обнаружения версии зависит от службы и доступных сигнатур Nmap. Иногда Nmap может не быть able to identify the service or its version accurately.

Просмотр результатов сканирования UDP в терминале Xfce

В этом шаге мы сосредоточимся на просмотре и анализе результатов сканирования UDP непосредственно в терминале Xfce. Хотя Nmap выводит результаты непосредственно в терминал, иногда полезно сохранить вывод в файл для более удобного просмотра и анализа. Мы будем использовать команды терминала для фильтрации и просмотра UDP-частей сканирования.

Сначала запустим сканирование UDP и сохраним вывод в файл. Это позволит нам работать с результатами легче. Мы будем использовать параметр -oN для сохранения вывода в "обычном" формате.

sudo nmap -sUV 192.168.1.1 -oN udp_scan_results.txt

Эта команда выполняет сканирование UDP с обнаружением версии на 192.168.1.1 и сохраняет вывод в файл с именем udp_scan_results.txt в текущей директории (~/project).

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

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

cat udp_scan_results.txt

Это выведет весь отчет о сканировании Nmap в терминале. Однако мы в основном интересуемся результатами сканирования UDP. Мы можем использовать команду grep для фильтрации вывода и отображения только тех строк, которые содержат "udp".

grep "udp" udp_scan_results.txt

Эта команда будет искать в файле udp_scan_results.txt строки, содержащие строку "udp", и выводить эти строки в терминале. Вывод покажет открытые или отфильтрованные UDP-порты, а также любую информацию о версии, которую Nmap смог определить.

Пример вывода:

137/udp   open|filtered netbios-ns
138/udp   open|filtered netbios-dgm
5353/udp  open|filtered zeroconf  Apple Bonjour

Вы также можете использовать команду less для просмотра файла по страницам:

less udp_scan_results.txt

Внутри less вы можете искать "udp", нажав /udp и Enter. Нажмите n, чтобы перейти к следующему совпадению. Нажмите q, чтобы выйти из less.

С помощью этих простых команд терминала вы можете эффективно просматривать и анализировать результаты сканирования UDP, сгенерированные Nmap. Это позволяет быстро определить открытые UDP-порты и любую связанную информацию о службах.

Сравнение выводов в текстовом редакторе Xfce

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

Сначала предположим, что вы уже выполнили два сканирования Nmap и сохранили выводы в отдельные файлы. Например, вы могли выполнить базовое сканирование UDP и сканирование UDP с обнаружением версии, сохранив результаты в udp_scan_basic.txt и udp_scan_version.txt соответственно. Если у вас нет этих файлов, создайте их с использованием следующих команд:

sudo nmap -sU 192.168.1.1 -oN udp_scan_basic.txt
sudo nmap -sUV 192.168.1.1 -oN udp_scan_version.txt

Теперь мы будем использовать команду xfce4-terminal для открытия текстового редактора Xfce (mousepad) и загрузки обоих файлов для сравнения.

mousepad udp_scan_basic.txt udp_scan_version.txt

Эта команда откроет два экземпляра mousepad, каждый из которых отобразит один из файлов вывода Nmap.

Сравнение выводов:

  1. Просмотрите вывод базового сканирования (udp_scan_basic.txt): Этот файл будет содержать результаты базового сканирования UDP, показывающие открытые или отфильтрованные UDP-порты.

  2. Просмотрите вывод сканирования с обнаружением версии (udp_scan_version.txt): Этот файл будет содержать результаты сканирования UDP с обнаружением версии. Кроме открытых или отфильтрованных UDP-портов, он также может показать определенные версии служб.

  3. Сравните поближе: Открыв оба файла в отдельных окнах, вы можете легко сравнить результаты поближе. Ищите различия в открытых портах, состоянии портов (открыт, отфильтрован, закрыт) и информации о службах.

Пример сравнения:

  • udp_scan_basic.txt может показать:

    137/udp   open|filtered netbios-ns
    138/udp   open|filtered netbios-dgm
    5353/udp  open|filtered zeroconf
  • udp_scan_version.txt может показать:

    137/udp   open|filtered netbios-ns
    138/udp   open|filtered netbios-dgm
    5353/udp  open|filtered zeroconf  Apple Bonjour
    Service Info: OS: Apple embedded

В этом примере сканирование с обнаружением версии смогло определить службу, работающую на порту 5353, как "Apple Bonjour", и предоставить информацию о операционной системе, которая не была доступна в базовом сканировании.

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

Резюме

В этом практическом занятии участники научились выполнять сканирование UDP с использованием Nmap. Они начали с базового сканирования UDP с использованием параметра -sU для IP-адреса 192.168.1.1, понимая, что UDP не требует установления соединения и сканирование может быть менее надежным, чем сканирование TCP. Они также просканировали конкретные UDP-порты, комбинировали сканирование UDP и TCP, добавили обнаружение версии и просматривали и сравнивали результаты в терминале Xfce и текстовом редакторе.