Объединение сканирования TCP и UDP в Nmap

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

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

Введение

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

Обратите внимание, что в реальных сценариях вы должны сканировать сети и хосты только с явным разрешением. Для этой лабы вы можете использовать 192.168.1.1 или заменить его на IP вашей виртуальной машины LabEx, если необходимо.

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

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

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

  • -sS: Этот флаг instructs Nmap to perform a TCP SYN scan, also known as a stealth scan. It's called "stealth" because it doesn't complete the full TCP handshake, making it less likely to be logged by the target.
  • -sU: Этот флаг instructs Nmap to perform a UDP scan. UDP scans are generally slower and less reliable than TCP scans because UDP is a connectionless protocol.
  • 192.168.1.1: Это целевой IP-адрес, который вы будете сканировать. Примечание: В реальном мире вы должны сканировать только те сети и хосты, для которых у вас есть явное разрешение. Для этой лабы мы предположим, что 192.168.1.1 является допустимым целевым адресом в вашей тестовой среде. Если у вас нет хоста по этому адресу, вы можете заменить его на IP-адрес вашей виртуальной машины LabEx (обычно 127.0.0.1 или localhost).

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

sudo nmap -sS -sU 192.168.1.1

Вам будет предложено ввести пароль. Поскольку пользователь labex имеет привилегии sudo без пароля, просто нажмите Enter.

Вывод будет показывать открытые, закрытые или отфильтрованные порты как для протокола TCP, так и для протокола UDP на целевом хосте. Возможно, будет необходимо несколько минут для завершения, особенно сканирование UDP.

Пример вывода (фактический вывод может отличаться в зависимости от целевого хоста):

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.00020s latency).
Not shown: 998 closed tcp ports (reset)
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http

Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 996 closed udp ports (reset)
PORT      STATE         SERVICE
53/udp    open|filtered domain
67/udp    open|filtered dhcps
137/udp   open|filtered netbios-ns

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

В этом примере Nmap нашел открытые TCP-порты 22 и 80, а UDP-порты 53, 67 и 137 открыты или отфильтрованы. Состояние open|filtered означает, что Nmap не мог определить, открыт ли порт или отфильтрован, по причине сетевых условий или правил фаервола.

Сканирование конкретных портов с помощью nmap -sS -sU -p 22,53 127.0.0.1

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

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

В этом шаге вы будете сканировать порты 22 (SSH) и 53 (DNS) на локальном компьютере (127.0.0.1).

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

sudo nmap -sS -sU -p 22,53 127.0.0.1

Опять же, вас попросят ввести пароль. Поскольку у пользователя labex есть привилегии sudo без пароля, просто нажмите Enter.

Эта команда instructs Nmap to perform a TCP SYN scan and a UDP scan on ports 22 and 53 of the localhost.

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

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

PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).

PORT   STATE         SERVICE
53/udp open|filtered domain

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

В этом примере Nmap нашел открытый TCP-порт 22 (SSH) и UDP-порт 53 (DNS) открытый или отфильтрованный. Состояние open|filtered означает, что Nmap не мог определить, открыт ли порт или отфильтрован, по причине сетевых условий или правил фаервола. Поскольку мы сканируем локальный компьютер,很可能服务正在运行,但防火墙可能会干扰扫描。

通过指定要扫描的端口,可以显著减少扫描时间,并专注于您感兴趣的服务。

Добавление подробности при сканировании с помощью nmap -v -sS -sU 192.168.1.1

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

Параметр -v в Nmap увеличивает уровень подробности. Его можно использовать несколько раз (например, -vv), чтобы получить еще более подробный вывод.

Добавим подробность к комбинированному сканированию TCP SYN и UDP, которое вы выполнили на первом шаге. Откройте терминал Xfce и введите следующую команду:

sudo nmap -v -sS -sU 192.168.1.1

Вас попросят ввести пароль. Поскольку у пользователя labex есть привилегии sudo без пароля, просто нажмите Enter.

эта команда будет выполнять то же комбинированное сканирование, что и раньше, но с повышенной подробностью.

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

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Loaded 0 scripts for scanning.
Initiating SYN Stealth Scan at 10:10
Scanning 192.168.1.1 [1000 ports]
Completed SYN Stealth Scan at 10:10, 0.00s elapsed (1000 total ports)
Initiating UDP Scan at 10:10
Scanning 192.168.1.1 [1000 ports]
Completed UDP Scan at 10:10, 5.00s elapsed (1000 total ports)
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 998 closed tcp ports (reset)
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http

Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 996 closed udp ports (reset)
PORT      STATE         SERVICE
53/udp    open|filtered domain
67/udp    open|filtered dhcps
137/udp   open|filtered netbios-ns

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

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

Сохранение комбинированных результатов с помощью nmap -sS -sU -oN tcpudp.txt 127.0.0.1

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

Nmap предоставляет несколько опций для сохранения результатов сканирования в различных форматах. Параметр -oN сохраняет результаты в "обычном" человекочитаемом формате.

В этом шаге вы сохраните результаты комбинированного сканирования TCP SYN и UDP локального компьютера (127.0.0.1) в файл с именем tcpudp.txt в директории ~/project.

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

sudo nmap -sS -sU -oN tcpudp.txt 127.0.0.1

Вас попросят ввести пароль. Поскольку у пользователя labex есть привилегии sudo без пароля, просто нажмите Enter.

эта команда будет выполнять комбинированное сканирование и сохранять результаты в файл tcpudp.txt.

После завершения сканирования вы можете просмотреть содержимое файла с помощью команды cat:

cat tcpudp.txt

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

## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023 as: nmap -sS -sU -oN tcpudp.txt 127.0.0.1
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).

PORT   STATE         SERVICE
53/udp open|filtered domain

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

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

Теперь вы можете использовать этот файл для дальнейшего анализа или составления отчетов.

Сравнение выводов TCP и UDP в терминале Xfce

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

Во - первых, выведем содержимое файла tcpudp.txt с помощью команды cat:

cat tcpudp.txt

Вы должны увидеть комбинированные результаты сканирования TCP и UDP для локального компьютера (127.0.0.1).

Теперь отфильтруем вывод, чтобы показать только результаты сканирования TCP. Используем команду grep для поиска строк, содержащих "tcp":

grep "tcp" tcpudp.txt

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

22/tcp open  ssh

Это показывает открытые TCP - порты на локальном компьютере. В этом примере порт 22 (SSH) открыт.

Далее, отфильтруем вывод, чтобы показать только результаты сканирования UDP. Используем команду grep для поиска строк, содержащих "udp":

grep "udp" tcpudp.txt

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

53/udp open|filtered domain

Это показывает открытые или отфильтрованные UDP - порты на локальном компьютере. В этом примере порт 53 (домен) открыт или отфильтрован.

Сравнив выводы TCP и UDP, вы можете увидеть, какие сервисы работают на каждом протоколе. TCP обычно используется для надежных, ориентированных на соединение сервисов, таких как SSH, в то время как UDP часто используется для сервисов без соединения, таких как DNS (домен). Состояние open|filtered для UDP означает, что Nmap не мог определить, открыт ли порт или отфильтрован, из - за природы протокола UDP.

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

Анализ результатов в терминале Xfce

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

Давайте начнем с обзора содержимого файла tcpudp.txt, который содержит комбинированные результаты сканирования TCP и UDP для локального компьютера (127.0.0.1):

cat tcpudp.txt

Основываясь на выводе, вы можете выявить следующее:

  • Открытые порты: Сканирование показывает, какие порты открыты на целевой системе. Открытые порты указывают на сервисы, которые активно ожидают соединений.
  • Сервисы: Nmap пытается определить, какие сервисы работают на каждом открытом порте. Эта информация может быть использована для понимания назначения каждого порта и потенциальных уязвимостей, связанных с этими сервисами.
  • TCP против UDP: Сканирование различает между сервисами TCP и UDP. TCP ориентирован на соединение и обычно используется для надежной передачи данных, тогда как UDP не требует соединения и часто используется для более быстрых, менее надежных коммуникаций.
  • Отфильтрованные порты: При сканировании UDP Nmap может сообщать, что порты находятся в состоянии "open|filtered". Это означает, что Nmap не может определить, открыт ли порт или отфильтрован, потому что UDP не требует рукопожатия для установления соединения.

Теперь давайте проанализируем результаты более детально.

В предыдущих шагах вы просканировали локальный компьютер (127.0.0.1) и обнаружили, что порт 22/tcp (SSH) и 53/udp (домен) были открыты или отфильтрованы.

  • Порт 22 (SSH): SSH - это протокол безопасной оболочки, используемый для удаленного управления и передачи файлов. Если SSH работает, важно убедиться, что он настроен безопасно с использованием надежных паролей или аутентификации на основе ключей, чтобы предотвратить несанкционированный доступ.
  • Порт 53 (домен): Порт 53 обычно используется для сервисов DNS (Domain Name System). Если этот порт открыт, это означает, что на системе может быть запущен DNS - сервер. DNS - сервера могут быть уязвимы для различных атак, таких как DNS - подделка и отравление кэша, поэтому важно поддерживать их в актуальном состоянии с помощью последних безопасности патчей.

Для дальнейшего анализа результатов вы можете использовать скриптовый движок Nmap (NSE) для проведения более глубоких сканирований на уязвимости. Однако это выходит за рамки этого практикум.

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

Резюме

В этом практикуме вы узнали комбинировать сканирование TCP и UDP с использованием Nmap. Вы выполнили комбинированное сканирование с помощью команды nmap -sS -sU на целевом IP - адресе, где -sS выполняет TCP SYN - сканирование, а -sU - UDP - сканирование. Также вы узнали сканировать конкретные порты, добавлять подробность к сканированию и сохранять комбинированные результаты в файл.

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