Сравнение результатов сканирования в Nmap

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

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

Введение

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

Процесс начинается с выполнения SYN-сканирования с использованием команды nmap -sS -oN syn.txt 192.168.1.1 и TCP-сканирования с использованием команды nmap -sT -oN tcp.txt 192.168.1.1, результаты которых сохраняются в файлы syn.txt и tcp.txt соответственно. Затем эти файлы сравниваются с использованием команды diff syn.txt tcp.txt. Кроме того, проводятся подробные сканирования с использованием команд nmap -v -sS 127.0.0.1 и nmap -v -sT 127.0.0.1, а записки по сравнению сохраняются в текстовом редакторе 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/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/timing_performance("Timing and Performance") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") subgraph Lab Skills nmap/tcp_connect_scan -.-> lab-547091{{"Сравнение результатов сканирования в Nmap"}} nmap/save_output -.-> lab-547091{{"Сравнение результатов сканирования в Nmap"}} nmap/timing_performance -.-> lab-547091{{"Сравнение результатов сканирования в Nmap"}} nmap/verbosity -.-> lab-547091{{"Сравнение результатов сканирования в Nmap"}} nmap/syn_scan -.-> lab-547091{{"Сравнение результатов сканирования в Nmap"}} end

Запустить SYN-сканирование и сохранить с использованием nmap -sS -oN syn.txt 192.168.1.1

В этом шаге вы выполните SYN-сканирование с использованием Nmap и сохраните вывод в файл. SYN-сканирование, также известное как полуоткрытое сканирование, представляет собой тип TCP-портсканирования, которое пытается определить состояние TCP-портов на целевой системе. Его называют «полуоткрытым», потому что сканирующий хост не завершает握 shake TCP-соединения. Вместо этого он отправляет пакет SYN и анализирует ответ. Эта техника более скрыта, чем полное TCP-сканирование подключения, так как она не устанавливает полное соединение, что позволяет избежать обнаружения некоторыми防火 walls и системами обнаружения вторжений.

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

  • nmap: Командная строка сканера Nmap.
  • -sS: Указывает на SYN-технику сканирования.
  • -oN syn.txt: Указывает, что вывод должен быть сохранен в нормальном (читаемом человеком) формате в файл с именем syn.txt.
  • 192.168.1.1: Целевой IP-адрес для сканирования. Замените его фактическим IP-адресом целевого объекта, который вы хотите отсканировать. Если вы запускаете эту лабу в виртуальной среде, вы можете использовать 127.0.0.1 (localhost) в качестве целевого объекта.

Давайте выполним команду. Во - первых, убедитесь, что вы находитесь в каталоге ~/project.

cd ~/project

Теперь запустите SYN-сканирование:

sudo nmap -sS -oN syn.txt 192.168.1.1

Примечание: Возможно, вам потребуются права sudo для выполнения SYN-сканирования, так как для этого требуется отправка необработанных пакетов. Если вы используете другой IP-адрес целевого объекта, замените 192.168.1.1 на правильный IP. Если вы сканируете localhost, вы можете использовать 127.0.0.1.

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

cat syn.txt

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

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

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: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Этот вывод показывает, что порты 22, 80 и 443 открыты на целевой системе. Порта «отфильтрованы» означает, что Nmap не мог определить, открытые или закрыты эти порты из-за правил防火 walls или сетевых условий.

Запустить TCP-сканирование и сохранить с использованием nmap -sT -oN tcp.txt 192.168.1.1

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

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

  • nmap: Командная строка сканера Nmap.
  • -sT: Указывает на TCP-сканирование подключения.
  • -oN tcp.txt: Указывает, что вывод должен быть сохранен в нормальном (читаемом человеком) формате в файл с именем tcp.txt.
  • 192.168.1.1: Целевой IP-адрес для сканирования. Замените его фактическим IP-адресом целевого объекта, который вы хотите отсканировать. Если вы запускаете эту лабу в виртуальной среде, вы можете использовать 127.0.0.1 (localhost) в качестве целевого объекта.

Давайте выполним команду. Во - первых, убедитесь, что вы находитесь в каталоге ~/project.

cd ~/project

Теперь запустите TCP-сканирование подключения:

sudo nmap -sT -oN tcp.txt 192.168.1.1

Примечание: Хотя sudo не обязательно для TCP-сканирования подключения, хорошим тоном считается использовать его для обеспечения согласованности и избежания возможных проблем с правами доступа. Если вы используете другой IP-адрес целевого объекта, замените 192.168.1.1 на правильный IP. Если вы сканируете localhost, вы можете использовать 127.0.0.1.

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

cat tcp.txt

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

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

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Этот вывод показывает, что порты 22, 80 и 443 открыты на целевой системе. Порта «закрыты» означает, что Nmap получил пакет RST (сброс) в ответ на свой пакет SYN, что указывает на то, что порт закрыт.

Сравнить файлы с использованием diff syn.txt tcp.txt

В этом шаге вы сравните файлы syn.txt и tcp.txt, которые вы создали в предыдущих шагах, с использованием команды diff. Команда diff - это мощный инструмент для определения различий между двумя файлами. Она сравнивает файлы построчно и выделяет любые добавления, удаления или изменения.

Прежде чем запускать команду diff, важно понять, почему выводы SYN-сканирования (-sS) и TCP-сканирования подключения (-sT) могут различаться. SYN-сканирование - это «полуоткрытое» сканирование, что означает, что оно не завершает полный握 shake TCP. Это может сделать его более скрытым, но менее надежным в некоторых случаях, так как фаерволы или сетевое оборудование могут блокировать исходный пакет SYN или ответ. TCP-сканирование подключения, с другой стороны, завершает полный握 shake TCP, что делает его более надежным, но также более легко обнаруживаемым.

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

diff syn.txt tcp.txt

Эта команда сравнит файлы syn.txt и tcp.txt и покажет любые различия в терминале.

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

2,4c2,4
< Nmap scan report for 192.168.1.1
< Host is up (0.00020s latency).
< Not shown: 997 filtered ports
---
> Nmap scan report for 192.168.1.1
> Host is up (0.00020s latency).
> Not shown: 997 closed ports
5c5
< 22/tcp  open  ssh
---
> 22/tcp  open  ssh
6c6
< 80/tcp  open  http
---
> 80/tcp  open  http
7c7
< 443/tcp open  https
---
> 443/tcp open  https
10c10
< Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds
---
> Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds

В этом примере вывод показывает, что основное различие между двумя файлами - это строка "Not shown". SYN-сканирование (syn.txt) показывает "997 filtered ports", в то время как TCP-сканирование подключения (tcp.txt) показывает "997 closed ports". Это означает, что SYN-сканирование не могло определить состояние некоторых портов из-за фильтрации, в то время как TCP-сканирование подключения смогло определить, что эти порты закрыты.

Вывод diff использует следующие символы:

  • <: Указывает на строку, которая существует только в первом файле (syn.txt).
  • >: Указывает на строку, которая существует только во втором файле (tcp.txt).
  • c: Указывает, что строки разные и необходимо их изменить, чтобы сделать файлы идентичными.

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

Запустить подробные сканирования с использованием nmap -v -sS 127.0.0.1 и nmap -v -sT 127.0.0.1

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

Во - первых, запустим подробное SYN-сканирование:

sudo nmap -v -sS 127.0.0.1

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

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

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
NSE: Loaded 0 scripts for scanning.
Initiating SYN Stealth Scan
Scanning 127.0.0.1 [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 443/tcp on 127.0.0.1
Completed SYN Stealth Scan at 10:15, 2.50s elapsed (1000 total ports)
Nmap scan report for 127.0.0.1
Host is up (0.000020s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Далее запустим подробное TCP-сканирование подключения:

sudo nmap -v -sT 127.0.0.1

Эта команда выполнит TCP-сканирование подключения на localhost и выведет подробный вывод.

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

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:16 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Connect Scan
Scanning 127.0.0.1 [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 443/tcp on 127.0.0.1
Completed Connect Scan at 10:16, 3.00s elapsed (1000 total ports)
Nmap scan report for 127.0.0.1
Host is up (0.000020s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Обратите внимание на различия в выводе. Подробный вывод предоставляет больше деталей о процессе сканирования, таких как тип сканирования ("SYN Stealth Scan" или "Connect Scan"), количество сканируемых портов и время, затрачиваемое на завершение сканирования. Вы также можете увидеть открытые порты.

Сравнив подробный вывод SYN- и TCP-сканирования подключения, вы можете лучше понять, как работает каждый тип сканирования и как они взаимодействуют с целевой системой.

Сохранить заметки по сравнению в текстовом редакторе Xfce

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

Во - первых, откройте текстовый редактор Xfce. Вы можете сделать это, поиском "Text Editor" в меню приложений Xfce или выполнив следующую команду в терминале:

mousepad notes.txt

Эта команда откроет текстовый редактор Xfce (Mousepad) и создаст новый файл с именем notes.txt в вашей директории ~/project.

Теперь в текстовом редакторе запишите свои наблюдения о различиях между SYN-сканированием и TCP-сканированием подключения. Рассмотрите следующие аспекты:

  • Скорость: Какой тип сканирования был быстрее?
  • Точность: Определили ли оба типа сканирования одинаковые открытые порты? Если нет, почему это могло произойти?
  • Скрытность: Какой тип сканирования считается более скрытым и почему?
  • Обход фаервола: Как фаерволы могут различать каждый тип сканирования?
  • Подробный вывод: Что дополнительной информации вы получили из подробных сканирований?

Вот пример того, как могут выглядеть ваши заметки:

Заметки по сравнению сканирования Nmap:

SYN-сканирование (-sS):
- Быстрее TCP-сканирования подключения.
- Может быть менее точным из-за фильтрации портов.
- Считается более скрытым, так как не завершает полный握shake TCP.
- Фаерволы могут блокировать пакеты SYN, что приводит к неточной информации.

TCP-сканирование подключения (-sT):
- Медленнее SYN-сканирования.
- Более надежно, так как завершает полный握shake TCP.
- Менее скрыто, так как легко обнаруживаемо.
- Менее вероятно, что будет заблокировано фаерволом, что дает более точные результаты.

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

Замеченные различия:
- SYN-сканирование показало "отфильтрованные" порты, в то время как TCP-сканирование подключения показало "закрытые" порты.
- Это означает, что некоторые порты были фильтрованы, препятствуя SYN-сканированию определить их состояние.

После того, как вы закончите писать свои заметки, сохраните файл, нажав "File" -> "Save" в текстовом редакторе или нажав Ctrl+S.

Файл notes.txt будет использоваться на следующем шаге для анализа различий в терминале Xfce.

Проанализировать различия в терминале Xfce

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

Во - первых, откройте терминал Xfce.

Теперь давайте используем команду cat для отображения содержимого файлов syn.txt и tcp.txt, которые содержат результаты сканирования Nmap из первых двух шагов:

cat syn.txt
cat tcp.txt

Изучите вывод обоих команд. Обратите внимание на различия в результатах сканирования, такие как отчеты о состоянии портов (открытые, закрытые, отфильтрованные) и время, затраченное на завершение сканирования.

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

grep "open" syn.txt
grep "open" tcp.txt

Сравните вывод этих команд. Определяют ли оба сканирования одинаковые открытые порты? Если нет, какие различия есть?

Вы также можете искать другие ключевые слова, такие как "closed" или "filtered", для дальнейшего анализа результатов сканирования.

Теперь давайте снова используем команду diff для сравнения файлов syn.txt и tcp.txt:

diff syn.txt tcp.txt

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

Наконец, используйте команду cat для отображения содержимого файла notes.txt, который содержит ваши наблюдения из предыдущего шага:

cat notes.txt

Подумайте о своих наблюдениях и сравните их с результатами сканирования и выводом команды diff. Совпадают ли ваши наблюдения с результатами сканирования? Можете ли вы объяснить любые расхождения?

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

Резюме

В этом практическом занятии мы начали с выполнения SYN-сканирования на целевой IP-адрес (192.168.1.1 или localhost) с использованием Nmap с командой nmap -sS -oN syn.txt 192.168.1.1. Это включало в себя понимание назначения SYN-сканирования как более скрытого "полуоткрытого" сканирования TCP-портов, которое избавляется от установления полного соединения. Результат сканирования был сохранен в файл с именем syn.txt в нормальном формате.

Основной момент обучения заключался в том, как выполнить SYN-сканирование с использованием Nmap, интерпретировать параметры команды (-sS для SYN-сканирования, -oN для нормального вывода в файл) и понять потенциальную необходимость прав sudo из-за использования необработанных пакетов. Мы также узнали, как просматривать результаты сканирования с использованием cat syn.txt.