Выполнение сканирования в режиме ожидания в Nmap

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

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

Введение

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

Затем лаб показывает, как выполнить пассивный сканирование (nmap -sI) по целевому объекту, используя идентифицированный зомби-хост. Вы изучите параметры для повышения подробности (-v), нацеливания на конкретные порты (-p) и сохранения результатов сканирования в файл (-oN). Наконец, вы проанализируете результаты пассивного сканирования в терминале Xfce.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) 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/host_discovery("Host Discovery Techniques") nmap/NmapGroup -.-> nmap/scan_types("Scan Types and Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") subgraph Lab Skills nmap/output_formats -.-> lab-547105{{"Выполнение сканирования в режиме ожидания в Nmap"}} nmap/save_output -.-> lab-547105{{"Выполнение сканирования в режиме ожидания в Nmap"}} nmap/port_scanning -.-> lab-547105{{"Выполнение сканирования в режиме ожидания в Nmap"}} nmap/host_discovery -.-> lab-547105{{"Выполнение сканирования в режиме ожидания в Nmap"}} nmap/scan_types -.-> lab-547105{{"Выполнение сканирования в режиме ожидания в Nmap"}} nmap/target_specification -.-> lab-547105{{"Выполнение сканирования в режиме ожидания в Nmap"}} nmap/verbosity -.-> lab-547105{{"Выполнение сканирования в режиме ожидания в Nmap"}} end

Идентификация зомби-хоста с помощью nmap -sn 192.168.1.0/24

В этом шаге мы будем использовать nmap для обнаружения активных хостов в сети 192.168.1.0/24. Это фундаментальный шаг в сканировании и разведке сети. Параметр -sn в nmap выполняет пинг-сканирование, что означает, что он только пытается определить, активны ли хосты, не выполняя сканирование портов. Это полезно для быстрого идентификации активных хостов в сети.

Прежде чем мы начнем, давайте разберем команду:

  • nmap: Инструмент для сканирования сети.
  • -sn: Этот параметр сообщает Nmap выполнить только пинг-сканирование (обнаружение хостов). Он отключает сканирование портов.
  • 192.168.1.0/24: Это целевая сеть в нотации CIDR. /24 означает, что первые 24 бита IP-адреса фиксированы, а последние 8 бит могут различаться, что дает нам диапазон из 256 IP-адресов (от 192.168.1.1 до 192.168.1.254, не включая адреса сети и широковещательного адреса).

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

sudo nmap -sn 192.168.1.0/24

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

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

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.00023s latency).
Nmap scan report for 192.168.1.2
Host is up (0.00031s latency).
Nmap scan report for 192.168.1.100
Host is up (0.00045s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.50 seconds

Этот вывод показывает, что 192.168.1.1, 192.168.1.2 и 192.168.1.100 активны в сети. Конкретные IP-адреса, которые активны, могут различаться в вашей среде. Мы будем использовать 192.168.1.2 в качестве зомби-хоста в следующих шагах, а 192.168.1.1 в качестве целевого объекта.

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

В этом шаге мы выполним пассивное сканирование с использованием nmap. Пассивное сканирование - это продвинутый метод сканирования, который позволяет сканировать целевой объект без раскрытия собственного IP-адреса. Работает это путем использования "зомби"-хоста для перенаправления сканирования.

Вот как это работает:

  1. Выбор зомби-хоста: Необходимо выбрать хост, который в основном находится в состоянии простоя и имеет предсказуемую последовательность генерации IP ID (IP Identification). В предыдущем шаге мы определили 192.168.1.2 как потенциальный зомби-хост.
  2. Отправка SYN-ACK на зомби: Nmap отправляет пакет SYN-ACK на зомби-хост. Если зомби-хост не ожидал SYN-ACK, он ответит RST-пакетом, увеличивая при этом свой IP ID.
  3. Отправка SYN на цель через зомби: Nmap формирует пакет SYN, направленный на целевой хост, но подменяет исходный IP-адрес на IP-адрес зомби-хоста.
  4. Анализ IP ID зомби:
    • Если порт целевого хоста закрыт, он ответит RST-пакетом на зомби. IP ID зомби увеличится на единицу.
    • Если порт целевого хоста открыт, он ответит SYN-ACK пакетом на зомби. Затем зомби отправит RST-пакет обратно на цель (поскольку он не иницировал соединение). IP ID зомби увеличится на два.
  5. Определение статуса порта: Наблюдая за изменениями IP ID зомби, Nmap может определить, открыт ли целевой порт или закрыт.

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

sudo nmap -sI 192.168.1.2 192.168.1.1

Вот разбор команды:

  • nmap: Инструмент для сканирования сети.
  • -sI 192.168.1.2: Этот параметр задает пассивное сканирование и устанавливает 192.168.1.2 в качестве зомби-хоста.
  • 192.168.1.1: Это целевой хост, который мы хотим отсканировать.

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

Вывод покажет открытые порты на целевом хосте (192.168.1.1), определенные при помощи пассивного сканирования. Результаты могут выглядеть примерно так:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Idle scan using zombie 192.168.1.2 (192.168.1.2:80); Class: Incremental
Nmap scan report for 192.168.1.1
Host is up (0.00029s latency).
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

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

Этот вывод показывает, что порты 22 (SSH) и 80 (HTTP) открыты на целевом хосте 192.168.1.1. Обратите внимание, что конкретные открытые порты могут различаться в зависимости от конфигурации целевой системы.

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

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

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

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

sudo nmap -v -sI 192.168.1.2 192.168.1.1

Вот разбор команды:

  • nmap: Инструмент для сканирования сети.
  • -v: Этот параметр увеличивает уровень подробности.
  • -sI 192.168.1.2: Этот параметр задает пассивное сканирование и устанавливает 192.168.1.2 в качестве зомби-хоста.
  • 192.168.1.1: Это целевой хост, который мы хотим отсканировать.

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

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

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Idle scan for 192.168.1.1
Scanning 192.168.1.1 [1000 ports]
Idle scan using zombie 192.168.1.2 (192.168.1.2:80); Class: Incremental
Sending TCP SYN to 192.168.1.1:22
Got SYN-ACK from 192.168.1.1:22
PORT   STATE SERVICE
22/tcp open  ssh
Sending TCP SYN to 192.168.1.1:80
Got SYN-ACK from 192.168.1.1:80
PORT   STATE SERVICE
80/tcp open  http
Nmap done: 1 IP address (1 host up) scanned in 16.54 seconds

Подробный вывод позволяет получить представление о процессе сканирования, что делает легче понять, как работает пассивное сканирование, и диагностировать любые потенциальные проблемы.

Сканирование конкретного порта с помощью nmap -sI 192.168.1.2 -p 80 192.168.1.1

В этом шаге мы сосредоточимся на пассивном сканировании конкретного порта. Это полезно, когда вы хотите быстро проверить статус определенной службы, не сканируя все порты. Мы будем сканировать порт 80 (HTTP) на целевом хосте.

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

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

sudo nmap -sI 192.168.1.2 -p 80 192.168.1.1

Вот разбор команды:

  • nmap: Инструмент для сканирования сети.
  • -sI 192.168.1.2: Этот параметр задает пассивное сканирование и устанавливает 192.168.1.2 в качестве зомби-хоста.
  • -p 80: Этот параметр указывает, что мы хотим сканировать только порт 80.
  • 192.168.1.1: Это целевой хост, который мы хотим отсканировать.

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

Вывод покажет, открыт ли или закрыт порт 80 на целевом хосте (192.168.1.1). Результаты могут выглядеть примерно так:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Idle scan using zombie 192.168.1.2 (192.168.1.2:80); Class: Incremental
Nmap scan report for 192.168.1.1
Host is up (0.00031s latency).

PORT   STATE SERVICE
80/tcp open  http

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

Этот вывод показывает, что порт 80 (HTTP) открыт на целевом хосте 192.168.1.1. Если порт был бы закрыт, вывод показал бы closed вместо open.

Сохранение результатов пассивного сканирования с помощью nmap -sI 192.168.1.2 -oN idle.txt 192.168.1.1

В этом шаге мы сохраним результаты нашего пассивного сканирования в файл. Это полезно для дальнейшего анализа или для отчетов. Мы будем использовать параметр -oN, чтобы сохранить результаты в "обычном" формате в файл с именем idle.txt.

Параметр -oN сообщает nmap сохранить вывод в человекочитаемом формате, который легко читать и понимать. Доступны и другие форматы вывода (например, -oX для XML, -oG для вывода, подходящего для grep), но для этой лабораторной работы мы будем использовать обычный формат.

Давайте выполним команду для сохранения результатов пассивного сканирования в файл. Откройте терминал Xfce и введите следующее:

sudo nmap -sI 192.168.1.2 -oN idle.txt 192.168.1.1

Вот разбор команды:

  • nmap: Инструмент для сканирования сети.
  • -sI 192.168.1.2: Этот параметр задает пассивное сканирование и устанавливает 192.168.1.2 в качестве зомби-хоста.
  • -oN idle.txt: Этот параметр сообщает nmap сохранить вывод в обычном формате в файл с именем idle.txt.
  • 192.168.1.1: Это целевой хост, который мы хотим отсканировать.

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

После завершения сканирования результаты будут сохранены в файл с именем idle.txt в вашей текущей директории (~/project). В терминале вы не увидите никакого вывода, так как вывод перенаправляется в файл.

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

cat idle.txt

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

## Nmap 7.80 scan initiated Fri Oct 27 10:20:00 2023 as: nmap -sI 192.168.1.2 -oN idle.txt 192.168.1.1
Idle scan using zombie 192.168.1.2 (192.168.1.2:80); Class: Incremental
Nmap scan report for 192.168.1.1
Host is up (0.00031s latency).
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
## Nmap done at Fri Oct 27 10:20:15 2023 -- 1 IP address (1 host up) scanned in 15.00 seconds

Теперь у вас есть результаты пассивного сканирования, сохраненные в файле для дальнейшего анализа.

Анализ пассивного сканирования в терминале Xfce

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

Сначала выведем содержимое файла idle.txt с помощью команды cat, чтобы обновить наше представление о результатах сканирования. Откройте терминал Xfce и введите следующее:

cat idle.txt

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

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

grep "open" idle.txt

Эта команда выведет все строки в файле idle.txt, которые содержат слово "open". Вывод может выглядеть примерно так:

80/tcp open  http

Это говорит нам, что порт 80 (HTTP) открыт на целевом хосте.

Вы также можете использовать grep, чтобы найти IP-адрес целевого хоста:

grep "Nmap scan report for" idle.txt

Эта команда выведет строку, содержащую IP-адрес целевого хоста:

Nmap scan report for 192.168.1.1

Интерпретация результатов:

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

  • Открытые порты: Открытый порт означает, что на этом порту слушает служба и принимает соединения. Это может быть веб-сервер (порт 80), SSH-сервер (порт 22) или другая служба.
  • Закрытые порты: Закрытый порт означает, что на этом порту не слушает никакая служба.
  • Отфильтрованные порты: Отфильтрованный порт означает, что nmap не может определить, открыт ли порт или закрыт, потому что фаервол блокирует соединение.

Анализируя открытые порты, вы можете получить представление о службах, работающих на целевом хосте, и потенциально идентифицировать уязвимости, которые могут быть эксплуатированы.记住,空闲扫描是一种隐蔽的技术,但并非万无一失。如果网络管理员监控网络流量,他们仍可能检测到扫描。

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

Резюме

В этой лабораторной работе мы начали с идентификации активных хостов в сети 192.168.1.0/24 с использованием nmap -sn 192.168.1.0/24. Этот пинг-скан позволил нам быстро обнаружить активные хосты, такие как 192.168.1.1, 192.168.1.2 и 192.168.1.100, которые необходимы для последующих сканирующих активностей. Затем мы готовились выполнить пассивное сканирование, используя 192.168.1.2 в качестве зомби-хоста и 192.168.1.1 в качестве цели.