Выполнение агрессивного сканирования в Nmap

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

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

Введение

В этом лабе вы научитесь выполнять агрессивный сканирование с помощью Nmap. В лабе рассматривается выполнение агрессивного сканирования целевого IP-адреса, сканирование конкретных портов, добавление подробности в сканирование, сохранение результатов сканирования, анализ детального вывода и сравнение его с базовым сканированием. Вы будете использовать команды, такие как nmap -A, nmap -A -p, nmap -v -A и nmap -A -oN в терминале Xfce, чтобы выполнить эти задачи.

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

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

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

Теперь приступим к выполнению агрессивного сканирования. Откройте терминал Xfce. Убедитесь, что вы находитесь в директории ~/project.

cd ~/project

Затем выполните следующую команду Nmap:

sudo nmap -A 192.168.1.1

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

Эта команда запустит агрессивное сканирование целевого IP-адреса 192.168.1.1. Nmap попытается определить операционную систему, определить версии запускаемых служб, запустить стандартные скрипты и выполнить трассировку маршрутов.

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

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.6p0 Ubuntu 7ubuntu2 (protocol 2.0)
| ssh-hostkey:
|   2048 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
|   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
|_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
80/tcp  open  http     Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
443/tcp open  ssl/http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
| ssl-cert: Subject: commonName=localhost
| Not valid before: 2018-08-22T12:20:36
| Not valid after:  2028-08-19T12:20:36
| ...
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.00 ms 192.168.1.1

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

В этом выводе показаны открытые порты (в этом примере 22, 80 и 443), службы, запускающиеся на этих портах (SSH и HTTP), и информация об операционной системе (Linux). Раздел трассировки маршрутов показывает путь к цели.

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

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

Прежде чем мы продолжаем, давайте разберем, что такое порты. В сети порт - это виртуальная точка, где начинаются и заканчиваются сетевые соединения. Порты основаны на ПО и управляются операционной системой. Они позволяют нескольким приложениям одновременно использовать одно сетевое соединение. Порт 22 обычно используется для SSH (Secure Shell), безопасного протокола для удаленного доступа, а порт 80 обычно используется для HTTP (Hypertext Transfer Protocol), основы данных для коммуникации в Всемирной паутине.

127.0.0.1 - это адрес петли, также известный как localhost. Это означает текущую машину, на которой вы работаете. Сканирование 127.0.0.1 полезно для тестирования служб, работающих на вашей собственной машине.

Теперь давайте выполним команду Nmap для сканирования конкретных портов. Откройте терминал Xfce. Убедитесь, что вы находитесь в директории ~/project.

cd ~/project

Затем выполните следующую команду Nmap:

sudo nmap -A -p 22,80 127.0.0.1

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

Эта команда запустит агрессивное сканирование, но только на портах 22 и 80 из 127.0.0.1. Nmap попытается определить службы, запускающиеся на этих портах, и собрать другие сведения.

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

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
| ssh-hostkey:
|   3072 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
|   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
|_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)

Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.57 seconds

В этом выводе показано, что порт 22 открыт и работает SSH, а порт 80 открыт и работает Apache HTTP Server. Также отображается информация о версии каждой службы.

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

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

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

Теперь выполним команду Nmap с включенной подробностью. Откройте терминал Xfce. Убедитесь, что вы находитесь в директории ~/project.

cd ~/project

Затем выполните следующую команду Nmap:

sudo nmap -v -A 192.168.1.1

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

Эта команда запустит агрессивное сканирование целевого IP-адреса 192.168.1.1 с повышенной подробностью. Nmap будет отображать больше информации о процессе сканирования по мере его выполнения.

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

Starting Nmap 7.80 ( https://nmap.org )
NSE: Loaded 151 scripts for scanning.
NSE: Script Pre-scanning.
NSE: Starting runlevel 1 (of 3) scan.
NSE: Executing script msrpc-enum on 192.168.1.1
NSE: Starting runlevel 2 (of 3) scan.
NSE: Starting runlevel 3 (of 3) scan.
NSE: Finished script pre-scanning.
Initiating Ping Scan at 14:35
Scanning 192.168.1.1 [4 ports]
Completed Ping Scan at 14:35, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 14:35
Completed Parallel DNS resolution of 1 host. at 14:35, 0.00s elapsed
Initiating SYN Stealth Scan at 14:35
Scanning 192.168.1.1 [1000 ports]
Discovered open port 22/tcp on 192.168.1.1
Discovered open port 80/tcp on 192.168.1.1
Discovered open port 443/tcp on 192.168.1.1
Completed SYN Stealth Scan at 14:35, 0.15s elapsed (1000 total ports)
Initiating Service scan at 14:35
Scanning 3 services on 192.168.1.1
Completed Service scan at 14:35, 5.23s elapsed (3 services total)
Initiating OS detection at 14:35
Completed OS detection at 14:35, 5.18s elapsed
Nmap scan report for 192.168.1.1
Host is up (0.00078s latency).
Not shown: 997 closed ports
... (rest of the output) ...

Подробный вывод показывает различные этапы сканирования, такие как пинг-сканирование, сканирование портов, обнаружение служб и обнаружение операционной системы. Также показываются скрипты, выполняемые Nmap Scripting Engine (NSE).

Сохранение агрессивного сканирования с помощью nmap -A -oN aggressive.txt 127.0.0.1

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

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

Теперь выполним команду Nmap для сохранения вывода агрессивного сканирования в файл. Откройте терминал Xfce. Убедитесь, что вы находитесь в директории ~/project.

cd ~/project

Затем выполните следующую команду Nmap:

sudo nmap -A -oN aggressive.txt 127.0.0.1

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

Эта команда запустит агрессивное сканирование целевого IP-адреса 127.0.0.1 и сохранит вывод в стандартном формате в файл с именем aggressive.txt в директории ~/project.

После завершения сканирования вы можете просмотреть содержимое файла aggressive.txt с использованием текстового редактора, такого как nano или cat.

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

nano aggressive.txt

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

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

cat aggressive.txt

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

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

## Nmap 7.80 scan initiated Mon Nov 21 14:45:32 2023 as: nmap -A -oN aggressive.txt 127.0.0.1
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).
Other addresses for localhost (not scanned): ::1

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
| ssh-hostkey:
|   3072 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
|   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
|_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)

Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
## Nmap done at Mon Nov 21 14:45:35 2023 -- 1 IP address (1 host up) scanned in 2.57 seconds

Анализ детального вывода в терминале Xfce

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

Агрессивное сканирование (nmap -A) выполняет несколько типов сканирования, в том числе:

  • TCP Connect Scan: Проверяет, открыты ли порты, завершая трехсторонний рукопожатие TCP.
  • Определение версии сервиса: Определяет версию программного обеспечения, работающего на открытых портах.
  • Определение операционной системы: Пытается определить операционную систему целевого хоста.
  • Traceroute: Отображает сетевой путь к цели.
  • Nmap Scripting Engine (NSE): Выполняет скрипты для выявления уязвимостей и сбора дополнительной информации.

Теперь давайте проанализируем вывод. Откройте терминал Xfce. Убедитесь, что вы находитесь в директории ~/project.

cd ~/project

Затем используйте команду cat для отображения содержимого файла aggressive.txt:

cat aggressive.txt

Вывод будет отображен в терминале. Разобьем на ключевые разделы:

  1. Отчет о сканировании Nmap: Этот раздел содержит общие сведения о сканировании, включая целевой IP-адрес, имя хоста (если доступно) и время начала и окончания сканирования.

    ## Nmap 7.80 scan initiated Mon Nov 21 14:45:32 2023 as: nmap -A -oN aggressive.txt 127.0.0.1
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000028s latency).
    Other addresses for localhost (not scanned): ::1
  2. Результаты сканирования портов: Этот раздел перечисляет открытые, закрытые и отфильтрованные порты на целевом хосте. Для каждого открытого порта Nmap пытается определить службу, которая работает на этом порте, и ее версию.

    PORT   STATE SERVICE VERSION
    22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
    | ssh-hostkey:
    |   3072 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
    |   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
    |_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
    80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
    |_http-server-header: Apache/2.4.41 (Ubuntu)
    • PORT: Номер порта и протокол (например, 22/tcp).
    • STATE: Состояние порта (open, closed, filtered).
    • SERVICE: Определенная служба, работающая на порте (например, ssh, http).
    • VERSION: Версия службы (например, OpenSSH 8.2p1, Apache httpd 2.4.41).
    • ssh-hostkey: Фингерпринт SSH-ключа хоста.
    • http-server-header: HTTP-заголовок сервера.
  3. Информация о службах: Этот раздел содержит дополнительную информацию о службах, работающих на целевом хосте, таких как операционная система.

    Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
  4. Определение операционной системы: Этот раздел показывает результаты попыток определения операционной системы с использованием Nmap. Nmap сравнивает полученные от целевого хоста ответы с базой известных отпечатков операционных систем для идентификации операционной системы.

    OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
  5. Результаты Nmap Scripting Engine (NSE): Этот раздел показывает вывод любых скриптов NSE, которые были выполнены в ходе сканирования. Эти скрипты могут предоставить широкий спектр информации, такой как выявление уязвимостей, сбор информации о пользователях и обнаружение неправильной настройки. (Этот раздел может отсутствовать, если не выполнялись скрипты или они неproduцировали никакого вывода.)

  6. Обзор сканирования: Этот раздел представляет обзор результатов сканирования, включая количество сканированных IP-адресов и общее время сканирования.

    ## Nmap done at Mon Nov 21 14:45:35 2023 -- 1 IP address (1 host up) scanned in 2.57 seconds

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

Сравнение с базовым сканированием в терминале Xfce

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

Базовое сканирование с использованием Nmap без каких-либо специальных параметров выполняет TCP connect scan на наиболее часто используемых 1000 портах. Он определяет, открытые, закрыты или отфильтрованы эти порты. По умолчанию он не выполняет определение версии сервиса, определение операционной системы или запуск скриптов NSE.

Теперь выполним базовое сканирование с использованием Nmap и сравним результаты. Откройте терминал Xfce. Убедитесь, что вы находитесь в директории ~/project.

cd ~/project

Выполните следующую команду Nmap для выполнения базового сканирования целевого IP-адреса 127.0.0.1:

sudo nmap 127.0.0.1

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

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

Starting Nmap 7.80 ( https://nmap.org ) at Mon Nov 21 15:00:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
631/tcp  open  ipp

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

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

cat aggressive.txt

Сравните вывод базового сканирования с содержимым файла aggressive.txt. Вы заметите следующие различия:

  • Определение версии сервиса: Агрессивное сканирование определяет конкретные версии сервисов, работающих на открытых портах (например, OpenSSH 8.2p1, Apache httpd 2.4.41), в то время как базовое сканирование определяет только имя сервиса (например, ssh, http).
  • Определение операционной системы: Агрессивное сканирование пытается определить операционную систему целевого хоста, в то время как базовое сканирование этого не делает.
  • Скрипты NSE: Агрессивное сканирование может запускать скрипты NSE для сбора дополнительной информации, в то время как базовое сканирование этого не делает.
  • Количество сканируемых портов: Базовое сканирование сканирует только наиболее часто используемые 1000 портов, в то время как агрессивное сканирование может сканировать больше портов, в зависимости от используемых параметров.

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

Резюме

В этом лабе участники научились выполнять агрессивное сканирование с использованием Nmap. Они выполняли команды, такие как nmap -A, чтобы провести комплексные сканирования, которые сочетают в себе определение операционной системы, определение версии, сканирование скриптов и Traceroute. Они также научились сканировать конкретные порты с использованием -p, добавлять подробность с использованием -v и сохранять результаты сканирования в файл с использованием -oN. Кроме того, они проанализировали детальные выводы сканирования и сравнили их с базовыми сканированиями в терминале Xfce.