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

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

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

Введение

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


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/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-547092{{"Проведение TCP ACK сканирования в Nmap"}} nmap/save_output -.-> lab-547092{{"Проведение TCP ACK сканирования в Nmap"}} nmap/port_scanning -.-> lab-547092{{"Проведение TCP ACK сканирования в Nmap"}} nmap/scan_types -.-> lab-547092{{"Проведение TCP ACK сканирования в Nmap"}} nmap/target_specification -.-> lab-547092{{"Проведение TCP ACK сканирования в Nmap"}} nmap/verbosity -.-> lab-547092{{"Проведение TCP ACK сканирования в Nmap"}} end

Запуск ACK-сканирования с помощью nmap -sA 192.168.1.1

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

Основы ACK-сканирования

  • ACK-пакет: TCP-пакет с флагом ACK (Подтверждение) обычно используется для подтверждения приема данных в установленном TCP-соединении.
  • Поведение брандмауэра: Брандмауэры часто имеют правила для блокировки нежелательных входящих TCP-соединений. ACK-сканирования используют это поведение для отображения наборов правил брандмауэра.
  • Отфильтрованный vs. Неотфильтрованный:
    • Неотфильтрованный: Если целевой порт неотфильтрован, Nmap получит в ответ на ACK-запрос RST (Сброс)-пакет. Это означает, что никакой брандмауэр не блокирует соединение.
    • Отфильтрованный: Если целевой порт отфильтрован, Nmap не получит никакого ответа или сообщение об ошибке ICMP. Это подразумевает, что соединение блокирует брандмауэр.

Выполнение ACK-сканирования

  1. Откройте терминал Xfce: Если он не открыт, запустите терминал Xfce из рабочего окружения.

  2. Выполните команду ACK-сканирования: В терминале введите следующую команду и нажмите Enter:

    nmap -sA 192.168.1.1
    • nmap: Командная строка для сканирования Nmap.
    • -sA: Указывает тип ACK-сканирования.
    • 192.168.1.1: Целевой IP-адрес. Замените его на фактический IP-адрес, который вы хотите отсканировать. Если вы запускаете это в виртуальной среде, вы можете захотеть отсканировать ваш шлюз или другую машину в вашей сети. Если у вас нет другой машины, вы можете отсканировать IP-адрес вашего localhost 127.0.0.1.
    nmap -sA 127.0.0.1
  3. Анализируйте результаты: Nmap отобразит результаты сканирования. Ищите порты, помеченные как "Неотфильтрованные" или "Отфильтрованные".

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

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
    Nmap scan report for 127.0.0.1
    Host is up (0.00020s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT      STATE      SERVICE
    22/tcp    unfiltered ssh
    80/tcp    unfiltered http
    111/tcp   unfiltered rpcbind
    631/tcp   unfiltered ipp
    ...
    
    Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds

    В этом примере порты 22, 80, 111 и 631 неотфильтрованы, что означает, что ACK-пакет, отправленный на эти порты, вероятно, получит RST-ответ.

Важные соображения:

  • ACK-сканирования не всегда являются надежными для определения точного состояния порта. Брандмауэры и сетевое оборудование иногда могут давать ошибочные результаты.
  • ACK-сканирования в основном используются для отображения правил брандмауэра и идентификации потенциальных точек входа в сеть.

Сканирование диапазона портов с помощью nmap -sA -p 1-100 127.0.0.1

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

Основы диапазонов портов

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

  • 1-1024: Известные порты, часто используемые системными службами.
  • 1-100: Более узкий диапазон для быстрых проверок.
  • 80,443,8080: Конкретные порты, которые вас интересуют (HTTP, HTTPS, альтернативный HTTP).

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

  1. Откройте терминал Xfce: Если он не открыт, запустите терминал Xfce из рабочего окружения.

  2. Выполните команду ACK-сканирования с диапазоном портов: В терминале введите следующую команду и нажмите Enter:

    nmap -sA -p 1-100 127.0.0.1
    • nmap: Командная строка для сканирования Nmap.
    • -sA: Указывает тип ACK-сканирования.
    • -p 1-100: Указывает диапазон портов для сканирования (порты от 1 до 100).
    • 127.0.0.1: Целевой IP-адрес (в данном случае localhost).
  3. Анализируйте результаты: Nmap отобразит результаты сканирования, сосредоточившись только на портах в указанном диапазоне (1-100).

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

    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.00018s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT    STATE      SERVICE
    21/tcp  unfiltered ftp
    22/tcp  unfiltered ssh
    25/tcp  unfiltered smtp
    53/tcp  unfiltered domain
    80/tcp  unfiltered http
    
    Nmap done: 1 IP address (1 host up) scanned in 0.85 seconds

    Этот вывод показывает состояние портов 21, 22, 25, 53 и 80 на localhost. Все они неотфильтрованы.

Преимущества сканирования диапазонов портов:

  • Эффективность: Сокращает время сканирования, сосредоточившись на конкретных портах.
  • Целевая аналитика: Позволяет исследовать конкретные службы или приложения, работающие на целевом объекте.
  • Уменьшение шума: Фильтрует нерелевантную информацию, что делает легче выявить потенциальные уязвимости.

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

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

Основы уровней подробности

Nmap предлагает разные уровни подробности, контролируемые с помощью параметра -v. Использование -v один раз увеличивает уровень подробности, а использование его несколько раз (например, -vv) увеличивает его еще больше. Более высокие уровни подробности предоставляют более детальный вывод.

Добавление подробности к ACK-сканированию

  1. Откройте терминал Xfce: Если он не открыт, запустите терминал Xfce из рабочего окружения.

  2. Выполните команду ACK-сканирования с подробностью: В терминале введите следующую команду и нажмите Enter:

    nmap -v -sA 192.168.1.1
    • nmap: Командная строка для сканирования Nmap.
    • -v: Включает подробный вывод.
    • -sA: Указывает тип ACK-сканирования.
    • 192.168.1.1: Целевой IP-адрес. Замените его на фактический IP-адрес, который вы хотите отсканировать. Если вы запускаете это в виртуальной среде, вы можете захотеть отсканировать ваш шлюз или другую машину в вашей сети. Если у вас нет другой машины, вы можете отсканировать IP-адрес вашего localhost 127.0.0.1.
    nmap -v -sA 127.0.0.1
  3. Анализируйте результаты: Nmap отобразит результаты сканирования с более детальной информацией. Вы увидите больше вывода о процессе сканирования, таких как отправляемые запросы и получаемые ответы.

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

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
    Initiating Ping Scan at 10:10
    Scanning 127.0.0.1 [4 ports]
    Completed Ping Scan at 10:10, 0.00s elapsed (1 total hosts)
    Initiating ACK Scan at 10:10
    Scanning localhost (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 111/tcp on 127.0.0.1
    Discovered open port 631/tcp on 127.0.0.1
    Completed ACK Scan at 10:10, 0.15s elapsed (1000 total ports)
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00016s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT      STATE      SERVICE
    22/tcp    unfiltered ssh
    80/tcp    unfiltered http
    111/tcp   unfiltered rpcbind
    631/tcp   unfiltered ipp
    ...
    
    Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds

    Подробный вывод показывает разные этапы сканирования, включая пинг-сканирование и ACK-сканирование, а также обнаруженные порты.

Преимущества подробности:

  • Отладка: Помогает выявить проблемы в процессе сканирования, такие как проблемы с сетевым подключением или вмешательство брандмауэра.
  • Более глубокое понимание: Дает более深入ный взгляд на то, как работает Nmap и как он определяет состояние портов.
  • Подробный отчет: Предоставляет более полную информацию для отчета и анализа.

Сохранение результатов ACK-сканирования с помощью nmap -sA -oN ack.txt 127.0.0.1

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

Основы параметров вывода Nmap

Nmap предоставляет несколько параметров для сохранения результатов сканирования в различных форматах. Параметр -oN сохраняет результаты в "обычном" человекочитаемом формате. Другие параметры включают -oX для формата XML и -oS для формата, понятного скриптовым kiddie (менее читаемого).

Сохранение результатов ACK-сканирования в файл

  1. Откройте терминал Xfce: Если он не открыт, запустите терминал Xfce из рабочего окружения.

  2. Выполните команду ACK-сканирования с выводом в файл: В терминале введите следующую команду и нажмите Enter:

    nmap -sA -oN ack.txt 127.0.0.1
    • nmap: Командная строка для сканирования Nmap.
    • -sA: Указывает тип ACK-сканирования.
    • -oN ack.txt: Указывает, что вывод должен быть сохранен в нормальном формате в файл с именем ack.txt. Файл будет сохранен в вашей текущей директории (~/project).
    • 127.0.0.1: Целевой IP-адрес (в данном случае localhost).
  3. Проверьте создание файла: После завершения сканирования проверьте, был ли создан файл ack.txt в директории ~/project. Вы можете использовать команду ls, чтобы вывести список файлов в директории:

    ls ~/project

    В списке файлов вы должны увидеть ack.txt.

  4. Посмотрите содержимое файла: Вы можете просмотреть содержимое файла ack.txt с помощью команды cat или текстового редактора, такого как nano:

    cat ~/project/ack.txt

    или

    nano ~/project/ack.txt

    Файл будет содержать результаты сканирования Nmap в человекочитаемом формате.

    Пример содержимого ack.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.00016s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT      STATE      SERVICE
    22/tcp    unfiltered ssh
    80/tcp    unfiltered http
    111/tcp   unfiltered rpcbind
    631/tcp   unfiltered ipp
    ...
    
    ## Nmap done at Fri Oct 27 10:15:01 2023 -- 1 IP address (1 host up) scanned in 0.85 seconds

Преимущества сохранения результатов сканирования:

  • Документация: Предоставляет запись результатов сканирования для последующего riferimento.
  • Анализ: Позволяет более детально проанализировать результаты с использованием текстовых инструментов обработки или сценариев.
  • Отчет: Упрощает создание отчетов на основе результатов сканирования.
  • Сравнение: Позволяет сравнивать результаты различных сканирований в течение времени, чтобы отслеживать изменения в сети.

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

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

Основы отфильтрованных портов

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

Анализ отфильтрованных портов из ACK-сканирования

  1. Откройте терминал Xfce: Если он не открыт, запустите терминал Xfce из рабочего окружения.

  2. Просмотрите файл ack.txt: В предыдущем шаге вы сохранили результаты ACK-сканирования в файл ack.txt. Используйте команду cat или nano, чтобы просмотреть содержимое файла:

    cat ~/project/ack.txt

    или

    nano ~/project/ack.txt
  3. Идентифицируйте отфильтрованные порты: Найдите в выводе строки, которые указывают, что порт находится в состоянии "отфильтрован". Например:

    PORT      STATE      SERVICE
    21/tcp    filtered  ftp
    23/tcp    filtered  telnet

    Это означает, что порты 21 (FTP) и 23 (Telnet) отфильтрованы.

  4. Исследуйте причину фильтрации: Факт того, что порты отфильтрованы, предполагает, что фаервол или другое сетевое устройство блокирует ACK-пакеты, отправляемые на эти порты. Для дальнейшего исследования можно рассмотреть следующее:

    • Правила фаервола: Проверьте конфигурацию фаервола на целевой машине или сети, чтобы убедиться, что есть правила, блокирующие ACK-пакеты для определенных портов. Поскольку вы сканируете 127.0.0.1, вы можете проверить локальные правила фаервола. Однако в среде LabEx вам, вероятно, не будет доступа к изменению правил фаервола.
    • Сетевой топология: Рассмотрите топологию сети между вашей сканирующей машиной и целевым объектом. Есть ли какие-либо промежуточные устройства (например, маршрутизаторы, фаерволы), которые могут фильтровать трафик?
    • Другие типы сканирования: Используйте другие типы сканирования Nmap (например, SYN-сканирование, TCP-connect-сканирование), чтобы определить, предоставляют ли они больше информации о состоянии портов. Вы сделаете это на следующем шаге.
  5. Пример анализа:

    Если вы видите, что отфильтрованы общие порты, такие как 21 (FTP), 23 (Telnet) и 80 (HTTP), вероятно, фаервол настроен на блокирование нежелательных входящих подключений к этим портам. Это распространенная практика безопасности, которая позволяет предотвратить несанкционированный доступ к службам, работающим на целевой машине.

Важные аспекты:

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

Сравнение ACK-сканирования и SYN-сканирования в терминале Xfce

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

Основы ACK- и SYN-сканирования

  • ACK-сканирование (-sA): Отправляет TCP ACK-пакеты на цель. В основном используется для картирование наборов правил фаервола. Если порт не отфильтрован, это обычно означает, что фаервол позволяет ACK-пакетам проходить. Если порт отфильтрован, это означает, что фаервол, вероятно, блокирует ACK-пакеты. ACK-сканирование не определяет, открыт ли порт или закрыт.
  • SYN-сканирование (-sS): Отправляет TCP SYN-пакеты на цель. Это более скрытое сканирование по сравнению с полным TCP-connect-сканированием, потому что оно не завершает TCP-рукопожатие. Если получен SYN/ACK-пакет, порт считается открытым. Если получен RST-пакет, порт считается закрытым.

Выполнение SYN-сканирования

  1. Откройте терминал Xfce: Если он не открыт, запустите терминал Xfce из рабочего окружения.

  2. Выполните команду SYN-сканирования: В терминале введите следующую команду и нажмите Enter:

    nmap -sS 127.0.0.1
    • nmap: Командная строка для сканирования Nmap.
    • -sS: Указывает тип SYN-сканирования.
    • 127.0.0.1: Целевой IP-адрес (в данном случае localhost).
  3. Выполните команду SYN-сканирования с выводом в файл: В терминале введите следующую команду и нажмите Enter:

    nmap -sS -oN syn.txt 127.0.0.1
    • nmap: Командная строка для сканирования Nmap.
    • -sS: Указывает тип SYN-сканирования.
    • -oN syn.txt: Указывает, что вывод должен быть сохранен в нормальном формате в файл с именем syn.txt. Файл будет сохранен в вашей текущей директории (~/project).
    • 127.0.0.1: Целевой IP-адрес (в данном случае localhost).

Сравнение результатов

  1. Посмотрите результаты SYN-сканирования: После завершения SYN-сканирования просмотрите результаты в терминале. Вы должны увидеть список открытых, закрытых и отфильтрованных портов.

  2. Посмотрите содержимое файла: Вы можете просмотреть содержимое файла syn.txt с помощью команды cat или текстового редактора, такого как nano:

    cat ~/project/syn.txt

    или

    nano ~/project/syn.txt

    Файл будет содержать результаты сканирования Nmap в человекочитаемом формате.

  3. Сравните с результатами ACK-сканирования: Сравните результаты SYN-сканирования с результатами ACK-сканирования, полученными вами на предыдущих шагах (либо из вывода в терминале, либо из файла ack.txt).

  4. Проанализируйте различия:

    • Открытые порты: SYN-сканирование покажет вам, какие порты на цели на самом деле открыты. ACK-сканирование не будет напрямую показывать открытые порты.
    • Отфильтрованные порты: Если порт отфильтрован в ACK-сканировании, но открыт в SYN-сканировании, это означает, что фаервол блокирует ACK-пакеты, но позволяет SYN-пакеты на этот порт. Это распространенная ситуация.
    • Закрытые порты: SYN-сканирование покажет вам, какие порты закрыты. ACK-сканирование не будет напрямую показывать закрытые порты.

Пример сравнения:

Предположим, что ACK-сканирование показывает, что порт 80 (HTTP) отфильтрован, в то время как SYN-сканирование показывает, что порт 80 открыт. Это означает, что фаервол, вероятно, блокирует ACK-пакеты на порт 80, но позволяет SYN-пакеты. Это типичная конфигурация для веб-сервера, где входящие SYN-пакеты допускаются для установления соединений, но нежелательные ACK-пакеты блокируются.

Основные выводы:

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

Резюме

В этом практическом занятии вы научитесь проводить TCP ACK-сканирование с использованием Nmap. Вы начнете с выполнения базового ACK-сканирования командой nmap -sA <target_ip>, узнаете, как работают ACK-пакеты и как определить, отфильтрован ли порт или нет, исходя из ответов. Также вы научитесь сканировать определенный диапазон портов, добавлять подробность к сканированию и сохранять результаты в файл. Кроме того, вы будете анализировать отфильтрованные порты и сравнивать ACK-сканирование с SYN-сканированием в терминале Xfce.