Проведение TCP FIN сканирования в Nmap

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

Введение

В этом лабе вы научитесь проводить TCP FIN-сканирование с использованием Nmap. Сначала вы выполните базовое FIN-сканирование целевого IP-адреса, затем отсканируете конкретные порты, добавите подробность к сканированию и сохраните результаты. Кроме того, вы сравните FIN-сканирование с TCP-сканированием и проанализируете открытые порты в терминале Xfce. FIN-сканирование отправляет пакет FIN на целевой хост, что может помочь обойти определенные брандмауеры или системы детектирования вторжений.

Запустить FIN-сканирование с помощью nmap -sF 192.168.1.1

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

Прежде чем мы начнем, разясним, что такое пакет FIN. В TCP-коммуникации флаг FIN сигнализирует о конце соединения. Когда хост отправляет пакет FIN, он по существу говорит: "Я закончил передавать данные".

Теперь выполним FIN-сканирование. Откройте терминал Xfce.

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

sudo nmap -sF 192.168.1.1
  • -sF: Эта опция сообщает Nmap, что нужно выполнить FIN-сканирование.
  • 192.168.1.1: Это целевой IP-адрес. Замените его на фактический IP-адрес машины, которую вы хотите отсканировать, если он отличается.

Возможно, вам придется настроить IP-адрес 192.168.1.1, чтобы соответствовать IP-адресу целевой машины, доступной из вашей виртуальной машины LabEx. Если у вас нет конкретной цели, вы можете использовать IP-адрес вашего шлюза или другой устройства в локальной сети. Если вы не уверены, вы можете попробовать отсканировать свою собственную машину, используя 127.0.0.1 (localhost).

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

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

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.00043s latency).
Not shown: 999 closed ports
PORT    STATE    SERVICE
22/tcp  filtered ssh

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

В этом примере порт 22 (SSH) показан как отфильтрованный. Это означает, что Nmap не смог определить, открыт ли порт или закрыт, из-за правил брандмауэра или других условий сети. Строка "Not shown: 999 closed ports" показывает, что Nmap не отображал 999 закрытых портов, чтобы сократить вывод.

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

В предыдущем шаге вы узнали, как выполнить базовое FIN-сканирование. Теперь вы узнаете, как целевать конкретные порты при FIN-сканировании. Это полезно, когда вы хотите сосредоточить свой скан на сервисах, которые, вероятно, запущены на определенных портах, таких как SSH (порт 22) и HTTP (порт 80).

Указание портов может значительно сократить время сканирования и сделать результаты более актуальными. Вместо сканирования всех 65535 портов вы можете сосредоточиться на портах, которые наиболее вероятно представляют интерес.

Откройте терминал Xfce.

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

sudo nmap -sF -p 22,80 127.0.0.1
  • -sF: Эта опция сообщает Nmap, что нужно выполнить FIN-сканирование.
  • -p 22,80: Эта опция задает, что вы хотите отсканировать порты 22 и 80. Вы можете указать один порт, диапазон портов (например, 1-100) или запятой-разделенный список портов.
  • 127.0.0.1: Это целевой IP-адрес, который в этом случае - это ваша собственная машина (localhost).

Вывод покажет статус портов 22 и 80 на вашей машине.

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

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 filtered ssh
80/tcp filtered http

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

В этом примере оба порта 22 и 80 показаны как отфильтрованные. Это означает, что Nmap не смог определить, открытые ли эти порты или закрыты. Это распространенный результат при FIN-сканировании, особенно когда есть брандмауеры.

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

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

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

Откройте терминал Xfce.

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

sudo nmap -v -sF 192.168.1.1
  • -v: Эта опция увеличивает уровень подробности.
  • -sF: Эта опция сообщает Nmap, что нужно выполнить FIN-сканирование.
  • 192.168.1.1: Это целевой IP-адрес. Не забудьте заменить его на действительный IP-адрес, если это необходимо.

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

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

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Ping Scan at 10:10
Scanning 192.168.1.1 [2 ports]
Completed Ping Scan at 10:10, 0.00s elapsed (1 total hosts)
Initiating FIN Scan at 10:10
Scanning 192.168.1.1 [1000 ports]
Completed FIN Scan at 10:10, 2.12s elapsed (1000 total ports)
Nmap scan report for 192.168.1.1
Host is up (0.00038s latency).
Not shown: 999 closed ports
PORT    STATE    SERVICE
22/tcp  filtered ssh

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 2.18 seconds
Raw packets sent: 1001 (44.044KB) | Rcvd: 1 (44B)

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

Сохранить результаты FIN-сканирования с помощью nmap -sF -oN fin.txt 127.0.0.1

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

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

Откройте терминал Xfce.

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

sudo nmap -sF -oN fin.txt 127.0.0.1
  • -sF: Эта опция сообщает Nmap, что нужно выполнить FIN-сканирование.
  • -oN fin.txt: Эта опция задает, что вы хотите сохранить результаты в обычном формате в файл с именем fin.txt. Файл будет сохранен в вашей текущей директории (~/project).
  • 127.0.0.1: Это целевой IP-адрес, который в этом случае - это ваша собственная машина (localhost).

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

nano fin.txt

В файле будут содержаться те же данные, которые были отображены на экране во время сканирования, но в структурированном формате.

Пример содержимого fin.txt:

## Nmap 7.80 scan initiated Tue Oct 27 10:15:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).
Not shown: 999 closed ports
PORT    STATE    SERVICE
22/tcp  filtered ssh

## Nmap done at Tue Oct 27 10:15:02 2023 -- 1 IP address (1 host up) scanned in 1.89 seconds

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

Сравнить FIN-сканирование с TCP-сканированием в терминале Xfce

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

TCP-сканирование с использованием команды connect (-sT) устанавливает полное TCP-соединение с целевым объектом, что делает его более надежным, но также более легко обнаруживаемым. В то же время FIN-сканирование (-sF) отправляет пакет FIN, который менее вероятен быть протоколированным фаерволами, но может не всегда давать точные результаты.

Откройте терминал Xfce.

Во - первых, выполните TCP-сканирование с использованием команды connect на localhost (127.0.0.1):

sudo nmap -sT 127.0.0.1

Эта команда попытается установить полное TCP-соединение с каждым портом на вашем локальном компьютере.

Далее, выполните FIN-сканирование на том же целевом объекте:

sudo nmap -sF 127.0.0.1

Теперь сравните результаты двух сканирований. Вы, возможно, заметите, что TCP-сканирование с использованием команды connect определяет больше открытых портов, чем FIN-сканирование. Это происходит потому, что некоторые фаерволы или системы могут блокировать или игнорировать пакеты FIN, что приводит к неточным результатам.

Пример вывода TCP-сканирования с использованием команды connect:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:20 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000026s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
631/tcp  open  ipp
3306/tcp open  mysql

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

Пример вывода FIN-сканирования:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:21 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000026s latency).
Not shown: 999 closed ports
PORT    STATE    SERVICE
22/tcp  filtered ssh

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

В этом примере TCP-сканирование с использованием команды connect показывает порты 22, 631 и 3306 как открытые, в то время как FIN-сканирование показывает только порт 22 как отфильтрованный. Это демонстрирует, как разные типы сканирования могут давать разные результаты, и почему важно использовать различные методы при проведении сетевого разведывания. Состояние filtered означает, что фаервол, фильтр или другая сетевая препятствие блокируют порт, не позволяя Nmap определить, открыт он или закрыт.

Анализировать открытые порты в терминале Xfce

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

Откройте терминал Xfce.

Предположим, что в предыдущем шаге вы выполнили TCP-сканирование с использованием команды connect (sudo nmap -sT 127.0.0.1) и получили следующий вывод:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:20 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000026s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
631/tcp  open  ipp
3306/tcp open  mysql

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

Этот вывод показывает, что порты 22, 631 и 3306 открыты на вашем локальном компьютере. Теперь давайте проанализируем каждый из этих портов:

  • Порт 22 (ssh): Этот порт обычно используется для SSH (Secure Shell), безопасного протокола для удаленного входа и выполнения команд. Если этот порт открыт, это означает, что на вашем компьютере запущен SSH-сервер, который позволяет вам подключаться к нему удаленно.

  • Порт 631 (ipp): Этот порт используется для IPP (Internet Printing Protocol), протокола для печати по сети. Если этот порт открыт, это означает, что на вашем компьютере запущаяся печатная служба, которая позволяет вам печатать документы удаленно.

  • Порт 3306 (mysql): Этот порт является стандартным портом для MySQL, популярной开源-системы управления реляционными базами данных. Если этот порт открыт, это означает, что на вашем компьютере запущен MySQL-сервер, который позволяет вам получать доступ к базам данных и управлять ими.

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

sudo netstat -tulnp | grep :22

Эта команда выведет идентификатор процесса (PID) и имя процесса, слушающего порт 22.

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

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd

Этот вывод показывает, что процесс sshd (демон SSH) слушает порт 22.

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

Резюме

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