Сканирование с использованием пользовательских портов в Nmap

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

Введение

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

Вы начнете с сканирования конкретных портов, таких как 1000 и 2000, на локальном компьютере (127.0.0.1), используя параметр -p. Затем вы комбинируете это с SYN-сканированием (-sS) для сканирования диапазона портов, например, 1000-2000. В лабе также рассматривается добавление подробности с использованием параметра -v и сохранение результатов сканирования в файл с использованием параметра -oN. Наконец, вы изучите сохраненные результаты и сравните их с результатом сканирования популярных портов.

Сканирование пользовательских портов с помощью nmap -p 1000,2000 192.168.1.1

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

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

Давайте начнем с сканирования портов 1000 и 2000 на целевом IP-адресе 192.168.1.1. Поскольку это лабораторная среда, мы будем использовать 127.0.0.1 (локальный хост) в качестве цели для демонстрационных целей. Это означает, что мы будем сканировать машину, на которой мы сейчас работаем.

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

nmap -p 1000,2000 127.0.0.1

Эта команда сообщает Nmap сканировать порты 1000 и 2000 на локальном хосте (127.0.0.1).

Вы должны увидеть вывод, похожий на этот:

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

PORT     STATE  SERVICE
1000/tcp closed unknown
2000/tcp closed cisco-sccp

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

Вывод показывает состояние каждого сканируемого порта. В этом примере оба порта закрыты. Если на одном из этих портов была запущена служба, состояние, вероятно, показывало бы open.

Теперь попробуем сканировать диапазон портов.

Объединить с SYN-сканированием с использованием nmap -sS -p 1000-2000 127.0.0.1

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

Параметр -sS в Nmap задает SYN-сканирование. Мы будем использовать этот параметр вместе с параметром -p для сканирования определенного диапазона портов.

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

sudo nmap -sS -p 1000-2000 127.0.0.1

Эта команда сообщает Nmap выполнить SYN-сканирование на портах от 1000 до 2000 на локальном хосте (127.0.0.1). Вам понадобятся права sudo для выполнения SYN-сканирования, так как для этого требуется отправка необработанных пакетов.

Вы должны увидеть вывод, похожий на этот:

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.000079s latency).
Not shown: 999 closed ports
PORT     STATE SERVICE
1000/tcp open  iss-realsecure

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

Вывод показывает состояние каждого сканируемого порта в указанном диапазоне. В этом примере порт 1000 открыт и запущена служба iss-realsecure, в то время как другие 999 портов закрыты. Сообщение "Not shown: 999 closed ports" означает, что Nmap подавляет отображение закрытых портов, чтобы уменьшить путаницу.

Добавить подробность с использованием nmap -v -p 1000,2000 192.168.1.1

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

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

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

nmap -v -p 1000,2000 127.0.0.1

Эта команда сообщает Nmap сканировать порты 1000 и 2000 на локальном хосте (127.0.0.1) и предоставлять подробный вывод.

Вы должны увидеть вывод, похожий на этот (точный вывод может отличаться):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Initiating Ping Scan at 10:10
Scanning localhost (127.0.0.1) [4 ports]
Completed Ping Scan at 10:10, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 10:10
Completed Parallel DNS resolution of 1 host. at 10:10, 0.00s elapsed
Initiating SYN Stealth Scan at 10:10
Scanning localhost (127.0.0.1) [2 ports]
Discovered open port 1000/tcp on 127.0.0.1
Completed SYN Stealth Scan at 10:10, 0.06s elapsed (2 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000079s latency).

PORT     STATE SERVICE
1000/tcp open  iss-realsecure
2000/tcp closed cisco-sccp

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

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

Сохранить пользовательский скан портов с использованием nmap -p 1000-2000 -oN custom_ports.txt 127.0.0.1

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

Параметр -oN в Nmap задает, что вывод должен быть сохранен в нормальном формате в указанный файл.

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

nmap -p 1000-2000 -oN custom_ports.txt 127.0.0.1

Эта команда сообщает Nmap сканировать порты от 1000 до 2000 на локальном хосте (127.0.0.1) и сохранить результаты в нормальном формате в файл с именем custom_ports.txt в текущем каталоге (~/project).

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

cat custom_ports.txt

В терминале вы должны увидеть результаты сканирования Nmap, похожие на те, которые вы бы увидели, если бы запустили сканирование без параметра -oN. Разница заключается в том, что результаты теперь также сохранены в файле custom_ports.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.000079s latency).
Not shown: 999 closed ports
PORT     STATE SERVICE
1000/tcp open  iss-realsecure

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

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

В этом шаге мы проверим результаты сканирования пользовательских портов, которые мы сохранили в файл custom_ports.txt на предыдущем шаге. Мы будем использовать команду cat, чтобы отобразить содержимое файла в терминале Xfce.

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

cat custom_ports.txt

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

Вывод будет выглядеть примерно так:

## 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.000079s latency).
Not shown: 999 closed ports
PORT     STATE SERVICE
1000/tcp open  iss-realsecure

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

Проверьте вывод, чтобы определить открытые порты. В этом примере порт 1000 открыт. Столбец "SERVICE" дает подсказку о том, какой сервис может быть запущен на этом порту. В данном случае это "iss-realsecure".

Вы также можете использовать другие инструменты командной строки, такие как grep, чтобы отфильтровать результаты и найти конкретную информацию. Например, чтобы найти все строки, содержащие слово "open", вы можете использовать следующую команду:

grep open custom_ports.txt

Это выведет только строки из custom_ports.txt, которые содержат слово "open".

1000/tcp open  iss-realsecure

Это позволяет быстро определить открытые порты из результатов сканирования.

Сравнить с сканированием основных портов в терминале Xfce

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

Сначала выполните сканирование 1000 наиболее популярных портов на локальном хосте (127.0.0.1) с использованием следующей команды:

nmap -F 127.0.0.1

Параметр -F сообщает Nmap сканировать только те порты, которые перечислены в файле nmap-services, который содержит список наиболее часто используемых портов. Это эквивалентно сканированию первых 100 портов. Чтобы сканировать первые 1000 портов, вы можете использовать параметр --top-ports 1000. Однако для этой лабораторной работы мы будем использовать параметр -F для более быстрого сканирования.

Вывод будет выглядеть примерно так:

Starting Nmap 7.80 ( https://nmap.org ) at Fri Oct 27 10:20:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000079s latency).
Not shown: 97 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http

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

Теперь сравним эти результаты с результатами нашего сканирования пользовательских портов в custom_ports.txt. Мы знаем из предыдущего шага, что порт 1000 был открыт. Проверим, был ли также обнаружен открытым портом 1000 при сканировании наиболее популярных портов.

Вы можете использовать команду grep, чтобы искать порт 1000 в выводе сканирования наиболее популярных портов. Поскольку вывод выводится непосредственно в терминал, мы можем перенаправить вывод в grep:

nmap -F 127.0.0.1 | grep 1000

Если команда возвращает какой-либо вывод, это означает, что порт 1000 был обнаружен при сканировании наиболее популярных портов. Если вывод не возвращается, это означает, что порт 1000 не входит в список наиболее популярных портов.

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

Резюме

В этой лабораторной работе мы узнали, как сканировать конкретные порты на целевом компьютере с использованием параметра -p утилиты Nmap, указывая отдельные порты или диапазон. Мы практиковались в сканировании портов 1000 и 2000, а затем диапазона от 1000 до 2000, используя локальный хост (127.0.0.1) в качестве цели.

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