Nmap. Начало использования

Вы когда-нибудь интересовались откуда атакующий знает какие порты открыты в системе? Или как узнать, какие приложения запущены на сервере, не спрашивая об этом администратора? Вы можете сделать все это и даже больше вместе с небольшим инструментом под названием Nmap.
Что такое Nmap? Название Nmap это сокращение от “network mapper”, сам nmap это набор инструментов для сканирования сети. Он может быть использован для проверки безопасности, просто для определения сервисов запущенных на узле, для идентификации ОС и приложений, определения типа фаерволла используемого на сканируемом узле.
Nmap это знаменитый инструмент. Как только вы узнаете больше о Nmap, вы поймете, что он делает в эпизодах таких фильмов как Матрица Перезагрузка, Ультиматум Борна, Хоттабыч, и других.
В этом руководстве будут описаны основы использования Nmap и приведены некоторые примеры, которые вы сможете использовать.
Где взять Nmap?
Если Вы используете Linux, то можете найти пакеты Nmap в репозиториях для большинства дистрибутивов. Последний релиз Nmap вышел в начале 2010, поэтому самой свежей версии может не быть в текущих стабильных ветках. Найти исходники и некоторые бинарные сборки можно на странице загрузки.Там есть и windows версия.
Основы использования Nmap.
Синтаксис Nmap следующий:
nmap Опции_сканирования Цель_сканирования.
Допустим Вы хотите сканировать узел и узнать какая операционная система на нем работает. Чтобы сделать это выполните следующее:
Заметим что Nmap требует привилегий суперпользователя для запуска подобного типа сканирования. Процесс сканирования может занять около минуты, так что будьте терпеливы. Когда процесс закончится вы увидите что то похожее на это:
Starting Nmap 5.21 ( nmap.org ) at 2010-02-27 23:52 EST
Nmap scan report for 10.0.0.1
Host is up (0.0015s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
53/tcp open domain
5009/tcp open airport-admin
10000/tcp open snet-sensor-mgmt
MAC Address: 00:11:24:6B:43:E2 (Apple Computer)
Device type: WAP|printer
Running: Apple embedded, Canon embedded, Kyocera embedded, Xerox embedded
OS details: VxWorks: Apple AirPort Extreme v5.7 or AirPort Express v6.3; Canon imageRUNNER printer (5055, C3045, C3380, or C5185); Kyocera FS-4020DN printer; or Xerox Phaser 8860MFP printer
Network Distance: 1 hop
Как вы видите Nmap предоставляет множество информации. Здесь он отображает предположение об операционной системе, которая была запущена на узле. В данном случае выполнялось сканирование маршрутизатора Apple Airport Extrime. В качестве дополнительного бонуса Nmap сообщил, что устройство на расстоянии одного прыжка, а также MAC адрес устройства и производителя сетевой карты, открытые порты и сколько времени выполнялось сканирование.
Ниже приведены результаты другого сканирования, домашнего компьютера с запущенной Ubuntu 9.10:
Здесь мы видим, что система имеет сетевую карту HP, запущено Linux между версиями 2.6.19 и 2.6.31. Кстати, Вы не сможете явно идентифицировать дистрибутив, только версию Linux ядра.
Сканирование чужих узлов.
В примерах выше для сканирования были выбраны локальный маршрутизатор и одна из рабочих станций, потому что мы имели право на их сканирование. Однако, будет плохой идеей запуск множественного сканирования чужого узла, если вы их не контролируете или не имеете прав для сканирования. Для экспериментов Nmap имеет общедоступный тестовый сервер scanme.nmap.org который Вы можете использовать.
Многие администраторы не любят несанкционированного сканирования их серверов, так что лучшим вариантом будет ограничение сканирования узлов своей локальной сети или тех для которых у вас есть права на сканирование. Также в некоторых случаях вы можете нарушить договор с вашим провайдером, при использовании некоторых особо агрессивных методов сканирования Nmap, поэтому будьте осторожны.
Сканирование нескольких узлов.
Вы можете сканировать больше чем один узел за раз, используя nmap. Если вы производите сканирование по IP-адресу вы можете определить диапазон 10.0.0.1-6 или 10.0.0.0/24.Используя диапазон 10.0.0.1-6 будут сканироваться узлы от 10.0.0.1 до 10.0.0.6. Используя определение /24 будет сканироваться весь диапазон узлов от 10.0.0.0 до 10.0.0.255. Для примера, если нужно просканировать узлы от 10.0.0.1 до 10.0.0.42 и узнать какая ОС вероятно запущена используйте:
Если у вас есть некоторый список доменных имен вместо IP адресов, вы можете разделить их в командной строке, вот так:
Проверка открытых портов
Если вы запустите nmap вообще без опций и укажите какой то узел, то он будет сканировать порты и покажет все найденные открытые порты и сервисы запущенные на них. Например запустите:
nmap target.hostname.com
после чего он должен выдать что то похожее на это:
Interesting ports on target.hostname.com (10.0.0.88):
Not shown: 1711 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 0.228 seconds
Сканирование запущенных сервисов
Если вы хотите узнать какой сервис возможно запущен попробуйте опцию –sV. Эта опция произведет более агрессивное сканирование и попытается выяснить какая версия сервисов запущена на данном узле, а также может помочь более точно определить какая ОС запущена. Для пример запустим nmap –sV на тестовый сервер и получим следующий ответ:
Starting Nmap 5.21 ( nmap.org ) at 2010-02-28 00:15 EST
Nmap scan report for test.host.net (XX.XXX.XXX.XX)
Host is up (0.090s latency).
Not shown: 965 closed ports, 33 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1.2 (protocol 2.0)
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch)
Service Info: OS: Linux
Как вы видите, Nmap может проанализировать пакеты и определить версию запущенного приложений на SSH и HTTP портах. Здесь вы можете увидеть что опрашиваемая система это Ubuntu с Apache 2.2.8 и OpenSSH 4.7p1. Эта информация может быть полезна по ряду причин. Nmap сканирование может идентифицировать систему под управлением устаревших сервисов которые могут быть уязвимы для известных эксплойтов.
Кто в моей сети?
Не знаете сколько онлайн узлов находятся в вашей сети? Попробуйте использовать nmap –sP который запустит ping сканирование указанной сети. Для примера, nmap –sP 10.0.0.0/24 сканирует 256 узлов от 10.0.0.0 до 10.0.0.255 проверит доступны ли они и доложит об этом. Так же вы можете использовать диапазон, например:
Zenmap
Наконец, если все эти радости командной строки не для вас, nmap имеет GUI который вы можете использовать для построения и выполнения команд. Называется Zenmap. Он позволит выбрать цель, запустить сканирование, отобразить результаты, а также сохранить их и сравнить с другими.
GUI Zenmap это хороший способ познакомиться с Nmap, но лучше знать как использовать Nmap в командной строке, если вы собираетесь работать с ним часто.
В будущем руководстве мы более глубоко познакомимся с Nmap и конкретными задачами которые вы сможете решить.
Данный пост это вольный перевод статьи Beginner’s Guide to Nmap. Спасибо за внимание.
Сканирование сети с помощью Nmap.
Nmap показывает состояния по портам:
open – порт открыт для определенного сервиса или приложения;
filtered – порт блокируется фаерволлом;
closed – порт закрыт;
unfiltered – невозможно точно определить статус порта;
Перейдем к самим командам и ключам Nmap на примерах.
Для примера мы находимся в локальной сети 192.168.0.0/24 и будем ее сканировать, но так же можно сканировать любой внешний адрес или доменное имя.
Установка namp командой:
Сканирование с помощью NMAP.
Сканируем подсеть на c выводом состояния подключений на каждом ip-адресе.
Если в момент сканирования нажать “Пробел”, то видим в процентах сколько уже про сканировано.
Если нам нужно отобразить только адреса в состоянии UP, то команда будет выглядеть следующим образом:
либо, первые 100 адресов подсети 192.168.0.0/24
Мы можем также узнать операционную систему узла 192.168.0.50, через команду:
Сканирование по портам с помощью NMAP.
Можно указать диапазон портов, например 1000-1010 для сканирования адреса 192.168.0.100:
если мы хотим просканировать только tcp-порты, то используем перед портами T:, если UDP-порты, то пишем U:. Например, сканируем только порты U:53, T:23,22 для хоста 192.168.0.0/24:
либо с именем сервиса-порта:
Ключ “-p-” сканировать все 65 тысяч портов, по-умолчанию сканируется только около 1000-топ портов.
Как узнать информацию о запущенных сервисах на сайте или узле локальной сети?
Показать только открытые порты.
Работа NMAP со скриптами.
У NMAP есть стандартная библиотека скриптов, через которые можно прогнать определенный хост. Скрипты можно увидеть командой:
Как использовать библиотеку скриптов в nmap?
Через предыдущую команду мы видим в списке скрипт vnc-brute.nse, который по своей библиотеке будет перебирать учетные записи(логи-пароль) для получения доступа к узлу.
Например командой
мы определили, что у хоста открыт порт 5801 и относится к сервису VNC. Теперь прогоним стандартный скрипт для vnc на наличие уязвимости либо командой:
0, которая прогонит адрес всеми скриптами в библиотеке, или
Обновить базу скриптов можно командой:
Далее примеры nmap и возможности коротко, сборки с интернета:
-p- сканирует весь диапазон портов;
-PS80,443 доступность адреса только если проходит ping по доступности tcp-портов 80,;
-n не делать DNS-resolve;
-T4 – быстрое сканирование;
-vvv – порты будут отображаться в онлайн-режиме сканирования, а не по окончанию;
— reason – выясняет почему nmap вывел порт в определенном состоянии
сканируем случайные 10 адресов по 22 порту;
-PN пропускаем обнаружение хостов.
сканер по портам 22,80,443 50 адресов с выводом информации о работающей службе по данным портам.
показывает трасировку до хоста.
Дополнительные ключи для обходи систем защиты:
-f; –mtu : Фрагментировать пакеты (опционально с заданным значением MTU).
-D : Маскировка сканирования с помощью фиктивных хостов.
-S : Изменить исходный адрес.
-e : Использовать конкретный интерфейс.
-g/–source-port : Использовать заданный номер порта.
–data-length : Добавить произвольные данные к посылаемым пакетам.
–ip-options : Посылать пакет с заданным ip опциями.
–ttl : Установить IP поле time-to-live (время жизни).
–spoof-mac : Задать собственный MAC адрес.
–badsum: Посылать пакеты с фиктивными TCP/UDP контрольными суммами.
Как узнать хост сканера
Одна из первейших задач при исследовании любой сети это сократить (иногда довольно большой) набор IP диапазонов до списка активных или интересных хостов. Сканирование каждого порта каждого IP адреса медленно и необязательно. Конечно же то, что делает хост интересным для исселедования во многом определяется целями сканирования. Сетевые администраторы возможно будут заинтересованы только в хостах, на которых запущена определенная служба, в то время как тем, кого интересует безопасность, будут интересны все устройства с IP адресами. Задачи администраторов по обнаружению работающих хостов в сети могут быть удовлетворены обычным ICMP пингом, людям же, которые тестируют способность сети противостоять атакам из вне, необходимо использовать разнообразные наборы запросов с целью обхода брандмауэра.
Это тип сканирования является «упрощенной» версией функции обнаружения хостов, при помощи которого просто будет создан список хостов заданной сети без посылки каких-либо пакетов целевым машинам. По умолчанию Nmap все же будет осуществлять обратное разрешение DNS с целью узнавания имен хостов. Часто бывает удивительно, как много полезной информации могут содержать обычные имена хостов. Например, fw.chi это имя брандмауэра одной Чикагской компании. В конце Nmap также сообщает общее количество IP адресов. Этот тип сканирования также является хорошим способом проверить, что вы действительно знаете IP адреса необходимых вам целей. Если имена хостов содержат неизвестные вам доменные имена, то стоит провести дальнейшее исследование, чтобы избежать сканирования сети не той компании, которая вам нужна.
-sP (Пинг сканирование)
Эта опция также полезна системным администраторам. Она может быть использована для подсчета количества работающих в сети машин или мониторинга доступности сервера. Это часто называют «пинг чисткой» (ping sweep) и результаты, предоставляемые этой опцией, заслуживают больше доверия, чем обычное пингование широковещательных адресов, т.к. большинство хостов не отвечают на подобные запросы.
-PN (Не использовать пинг сканирование)
-PS (TCP SYN пингование)
Установленные флаг SYN указывает удаленной системе, что вы пытаетесь установить соединение. Если порт назначения закрыт, то в ответ посылается RST (сброс) пакет. Если порт открыт, то удаленная система предпримет второй шаг в 3-ех этапной последовательности установки TCP соединения путем ответа SYN/ACK TCP пакетом. Система, на которой работает Nmap, сбрасывает почти установленное соединение отвечая RST пакетом вместо ACK, что привело бы к установке полного соединения. RST пакет посылается ядром системы, на которой работает Nmap, в ответ на непредвиденный SYN/ACK пакет, а не самой Nmap.
Nmap не важно открыт порт или закрыт. Ответы пакетами RST или SYN/ACK описанными выше, указывают Nmap на то, что хост доступен и может отвечать на запросы.
-PA (TCP ACK пингование)
Этот тип пингования очень похож на описанный выше. Разница состоит в том, как вы могли догадаться, что вместо установки SYN флага устанавливается TCP ACK флаг. Такой ACK пакет имеет своей целью распознавание данных во время установленного TCP соединения, но такого соединения не существует, поэтому удаленные хосты всегда будут отвечат на такой запрос RST пакетом, тем самым выдавая свое существование.
Целью запроса UDP является получение в ответ ICMP пакета с ошибкой «порт недостижим». Это указывает Nmap на то, что машина работает и доступна. Другие типы ICMP ошибок, такие как хост/сеть недоступна или превышение TTL указывают на то, что машина выключена или недоступна. Отсутствие ответа интерпретируется этим же путем. Если такой запрос посылается на открытый порт, то большинство служб просто игнорируют пустой пакет и не посылают никакого ответа. Поэтому портом по умолчанию является 31338, т.к. он вряд ли будет использоваться какой-либо службой. Лишь некоторые службы, такие как Character Generator (chargen) protocol, ответят на пустой UDP пакет, и это также укажет Nmap на то, что машина доступна.
Основным преимуществом такого типа сканирования является то, что он позволяет обходить брандмауэры, фильтрующие только TCP запросы. Например, однажды у меня был беспроводной широкополосный роутер Linksys BEFW11S4. Внутренний интерфейс этого устройства фильтровал по умолчанию все TCP порты, в то время как в ответ на UDP запросы посылалось сообщение об ошибке «порт недостижим», что делало его работу бесполезной.
-PO (пингование с использованием IP протокола)
При использовании этого метода ожидаются ответы по протоколу исходного запроса, либо ICMP сообщение о недостижимости, что свидетельствует о том, что данный протокол не поддерживается удаленным хостом. Оба варианта ответа означают, что целевой хост доступен.
Одной из наиболее популярных сфер применения Nmap является сканирование локальных сетей (LAN). В большинстве локальных сетей, особенно тех, которые используют диапазоны частных адресов определенные в RFC 1918, большое количество IP адересов не используется в любой момент времени. Когда Nmap пытается послать сырой IP пакет, такой как ICMP эхо запрос, операционная система должна определить MAC-адрес (ARP) соответствующий целевому IP, чтобы правильно адресовать фрейм. Это часто бывает медленно и проблематично, т.к. операционные системы не были написаны с учетом того, что им придется посылать миллионы ARP запросов недоступным хостам в короткий промежуток времени.
—traceroute (Отслеживать путь к хосту)
Процедура отслеживания маршрута работает путем посылки пакетов с низким TTL (time-to-live (временем-жизни) в попытке получить в ответ ICMP сообщение Time Exceeded (Превышение Времени Жизни) от промежуточных узлов между сканером и целевым хостом. Стандартные реализации процедуры отслеживания маршрута начинают с TTL равным 1, а затем увеличивают его до тех пор, пока не будет достигнут целевой хост. В реализации же этой процедуры в Nmap сначала устанавливается высокий TTL, а затем TTL уменьшается, пока не станет равным 0. Это позволяет Nmap использовать «умные» алгоритмы кэширования с целью увеличения скорости отслеживания маршрута. В среднем Nmap посылает 5-10 пакетов на хост, в зависимости от условий в сети. В случае сканирования единственной подсети (напр. 192.168.0.0/24), возможно будет необходимо послать только один пакет на каждый хост.
—reason (Показать причины состояний портов и хостов)
-n (Не производить разрешение DNS имен)
Указывает Nmap никогда не производить обратное разрешение DNS имен каждого обнаруженного активного IP адереса. Преобразование DNS может быть медленным даже со встроенным в Nmap параллельным преобразователем IP адресов, поэтому данная опция может сократить время сканирования.
-R (Производить разрешение DNS имен для всех целей)
Указыват Nmap всегда производить обратное разрешение DNS имен для каждого целевого IP адреса. Обычно DNS преобразование применяется только к доступным хостам.
—system-dns (Использовать системный DNS преобразователь)
По умолчанию Nmap преобразует IP адреса путем посылки запросов непосредственно серверам имен, указанным в вашей системе, и последующим анализом ответов. Многие запросы (часто десятки) исполняются параллельно для увеличения производительности. Задайте эту опцию, чтобы использовать ваш системный преобразователь IP адресов (один IP адрес за один системный вызов getnameinfo ). Это медленно и редко бывает полезно, до тех пор, пока вы не найдете ошибку в параллельном преобразователе Nmap (если найдете, известите нас, пожалуйста). Системный преобразователь всегда используется для сканирования с использованием протокола IPv6.
Как пользоваться Nmap для сканирования сети
Эта программа помогает системным администраторам очень быстро понять какие компьютеры подключены к сети, узнать их имена, а также посмотреть какое программное обеспечение на них установлено, какая операционная система и какие типы фильтров применяются. Функциональность программы может быть расширена за счет собственного скриптового языка, который позволяет администраторам автоматизировать много действий.
Например, с помощью скриптов можно автоматически обнаруживать новые уязвимости безопасности в вашей сети. Namp может использоваться с хорошими и плохими намерениями, будьте аккуратны, чтобы не использовать nmap против закона. В этой инструкции мы рассмотрим как пользоваться namp для сканирования портов в операционной системе Linux. Но сначала нужно попытаться понять как работает эта утилита.
Как работает Nmap?
В компьютерных сетях все подключенные устройства имеют свой ip адрес. Каждый компьютер поддерживает протокол ping, с помощью которого можно определить подключен ли он к сети. Мы просто отправляем ping запрос компьютеру, и если он отзывается, то считаем, что он подключен. Nmap использует немного иной подход. Компьютеры также определенным образом реагируют на те или иные сетевые пакеты, утилита просто отправляет нужные пакеты и смотрит какие хосты прислали ответ.
Но об этом вы, наверное, уже знаете. Более интересно то как Nmap узнает какие сервисы запущены на машине. Суть работы всех сетевых программ основана на портах. Чтобы получить сообщение из сети, программа должна открыть порт на вашем компьютере и ждать входящих соединений. А для отправки сообщения по сети нужно подключиться к уже другой программой (адресатом) порту. Затем программе необходимо будет открыть порт, на котором она будет ждать ответа.
Утилита nmap в процессе сканирования сети перебирает доступный диапазон портов и пытается подключиться к каждому из них. Если подключение удалось, в большинстве случаев, передав несколько пакетов программа может даже узнать версию программного обеспечения, которые ожидает подключений к этому порту. Теперь, после того, как мы рассмотрели основы, рассмотрим как пользоваться nmap для сканирования портов и сети.
Синтаксис Nmap
Команда запуска Nmap очень проста для этого достаточно передать ей в параметрах целевой IP адрес или сеть, а также указать опции при необходимости:
$ nmap опции адрес
Теперь давайте рассмотрим основные опции, которые понадобятся нам в этой статье.
Теперь, когда мы рассмотрели все основные опции, давайте поговорим о том, как выполняется сканирование портов nmap.
Как пользоваться Nmap для сканирования портов в Linux
Из вывода для используемого интерфейса возьмите число после слеша, а до слэша укажите ip вашего роутера. Команда на сканирование сети nmap будет выглядеть вот так:
Как видите, теперь программа обнаружила активные устройства в сети. Дальше мы можем сканировать порты nmap для нужного узла запустив утилиту без опций:
sudo nmap 192.168.1.1
Теперь мы можем видеть, что у нас открыто несколько портов, все они используются каким-либо сервисом на целевой машине. Каждый из них может быть потенциально уязвимым, поэтому иметь много открытых портов на машине небезопасно. Но это еще далеко не все, что вы можете сделать, дальше вы узнаете как пользоваться nmap.
Мы выполняли скрипт по умолчанию, но есть еще и другие скрипты, например, найти все скрипты для ftp вы можете командой:
Этот скрипт будет пытаться определить логин и пароль от FTP на удаленном узле. Затем выполните скрипт:
В результате скрипт подобрал логин и пароль, admin/admin. Вот поэтому не нужно использовать параметры входа по умолчанию.
Обратите внимание, что здесь есть почти вся информация, которую мы уже видели раньше. Ее можно использовать чтобы увеличить защиту этой машины.
Выводы
В этой статье мы рассмотрели как выполняется сканирование портов nmap, а также несколько простых примеров использования этой утилиты. Эти команды nmap могут быть полезными многим системным администраторам, чтобы улучшить безопасность их систем. Но это далеко не все возможности утилиты. Продолжайте экспериментировать с утилитой чтобы узнать больше только не в чужих сетях!
Статья Nmap для Pentester: обнаружение хоста [Перевод]
Nmap стал одним из самых популярных инструментов сетевого сканирования, оставив позади другие сканеры. Часто хосты в некоторых организациях защищены с помощью брандмауэров или систем предотвращения вторжений, что приводит к сбою сканирования из-за существующего набора правил, которые используются для блокировки сетевого трафика. В Nmap пентестер может легко использовать альтернативные методы обнаружения хоста, чтобы этого не произошло. Он состоит из определенных функций, которые делают сетевой трафик немного менее подозрительным. Поэтому давайте посмотрим на различные методы обнаружение хоста.
Ping Sweep
Начнем со сканирования всей сети с помощью Ping (-sP).
nmap –sP 192.168.1.0/24
Когда вы внимательно наблюдаете за пакетами в Wireshark, вы видите, что здесь при сканировании сети отправляются только пакеты ARP
Примечание: Работа –sP и –sn одинакова.
Давайте попробуем то же самое, используя параметр без сканирования портов (-sn). В этом варианте мы также используем параметр –packet-trace, который позволит вам увидеть подробную информацию о передаче пакетов без использования Wireshark. Здесь вы можете наблюдать за получением пакетов ARP.
Теперь, когда мы увидели, что в сети видны ARP-пакеты, мы воспользуемся опцией –disable-arp-ping, где вы увидите, что отправляются 4 пакета.
Disable-arp-ping
Чтобы отключить обнаружение ARP, Nmap предоставляет опцию.
И вы увидите, что пакеты ARP не видны.
Примечание. Сканирование локальной сети с помощью Nmap, где Nmap отправляет ARP-пакет при каждом сканировании. Если необходимо сканировать внешнюю сеть; Nmap отправляет следующие пакеты запросов при использовании –disable-arp-ping:
Вы также можете использовать параметр –send-ip, чтобы получить те же результаты, что и на шаге выше.
send-ip
Обнаружение хоста считается наиболее важным шагом в сборе информации, который обеспечивает точные результаты для активных портов и IP-адресов в сети.
TCP Flags
Во-первых, давайте познакомимся с основами коммуникационных флагов в TCP. Заголовок TCP в основном состоит из шести флагов, которые управляют соединением между системами и предоставляют им инструкции. Каждый флаг имеет размер 1 бит, следовательно, размер флагов TCP составляет 6 бит. Теперь давайте вкратце разберемся с каждым флагом.
Types of Scans
Чтобы обнаружить хосты в сети, можно использовать различные методы проверки связи.
TCP SYN Ping Scan
Это метод обнаружения хоста, который помогает обнаружить, открыты ли порты, а также убедиться, что он соответствует правилам брандмауэра. Следовательно, пентестер может послать целевой пустой SYN-флаг, чтобы проверить, где он жив. В этом типе сканирования можно определить несколько портов.
Пакеты, захваченные с помощью Wireshark, могут быть переадресованы
Преимущество сканирования TCP SYN Ping состоит в том, что пентестер может получить активный / неактивный статус хоста, даже не создавая соединения, и, следовательно, он даже не создает журнал в системе или сети.
TCP ACK Ping Scan
Это метод обнаружения хоста, который похож на сканирование TCP SYN Ping, но немного отличается. Это сканирование также использует порт 80. Пентестер отправляет пустой TCP-пакет к цели и, поскольку между ними нет связи, он получит пакет подтверждения, а затем сбросит и завершит запрос.
Эта команда используется для определения ответа цели, а также проверки того, заблокированы ли SYN-пакеты или эхо-запросы ICMP в последних настройках межсетевых экранов.
Здесь можно увидеть пакеты, захваченные в Wireshark.
Некоторые брандмауэры настроены на блокировку пакетов ping SYN, поэтому в этом случае это сканирование будет эффективным для простого обхода брандмауэра.
ICMP Echo Ping Scan
Сканирование ICMP Ping можно использовать для сбора информации о целевых системах, что отличает его от сканирования портов. Пентестер может отправить целевой объект ICMP ECHO-запрос и получить в ответ эхо-ответ ICMP.
ICMP теперь неэффективен для удаленных пакетов ICMP, заблокированных администраторами. Его все еще можно использовать для мониторинга локальных сетей.
Пакеты, захваченные в Wireshark, можно наблюдать.
ICMP ECHO Ping Sweep
Он похож на Echo Ping Scan и используется для сканирования активных хостов из заданного диапазона IP-адресов. Он отправляет запросы ICMP огромному количеству целей, и, если конкретная цель жива, она возвращает ответ ICMP.
ICMP Address Mask Scan
Это более старый метод проверки связи ICMP ECHO. Он выдает информацию о системе и ее маске подсети.
ICMP ECHO Timestamp scan
Пентестер может применить эту технику в определенных условиях, когда системный администратор блокирует обычную временную метку ICMP. Обычно используется для синхронизации времени.
Пакеты, захваченные с помощью Wireshark, можно наблюдать.
UDP Ping Scan
Сканирование UDP Ping использует крайне необычный номер порта по умолчанию 40125 для отправки пакетов на цель. Это похоже на сканирование TCP Ping. Пентестер отправит UDP-пакеты на цель, и если в ответ будет ответ, это означает, что хост активен или в противном случае он отключен
Преимущество сканирования UDP заключается в том, что он может обнаруживать системы, в которых есть брандмауэры со строгими правилами TCP, и не усложнять правила UDP.
Вы можете наблюдать за пакетами, с помощью Wireshark.
IP protocol ping scan
В этом методе пентестер отправляет различные пакеты, используя разные IP-протоколы, и надеется получить ответ, если цель жива.
Перехваченные пакеты можно наблюдать с помощью Wireshark.
No ping scan
В этом методе обнаружение хоста полностью пропускается. Пентестер может использовать его для определения активных машин для более тяжелого сканирования и увеличения скорости сети.
ARP ping scan
В этом методе пакеты ARP отправляются на все устройства в сети, хотя они невидимы из-за брандмауэра. Это считается чрезвычайно эффективным, чем обнаружение других хостов. Он в основном используется для обнаружения систем. Также упоминается задержка.
Вы можете увидеть захваченные пакеты в WireShark.
SCTP INIT Ping
Можно наблюдать за захваченными пакетами.
Traceroute
Трассировки используются после завершения сканирования с использованием информации из результатов сканирования и для определения порта и протокола, по которым будет достигнута цель.
Eugene75
yamakasy
Well-known member
Nmap стал одним из самых популярных инструментов сетевого сканирования, оставив позади другие сканеры. Часто хосты в некоторых организациях защищены с помощью брандмауэров или систем предотвращения вторжений, что приводит к сбою сканирования из-за существующего набора правил, которые используются для блокировки сетевого трафика. В Nmap пентестер может легко использовать альтернативные методы обнаружения хоста, чтобы этого не произошло. Он состоит из определенных функций, которые делают сетевой трафик немного менее подозрительным. Поэтому давайте посмотрим на различные методы обнаружение хоста.
Ping Sweep
Начнем со сканирования всей сети с помощью Ping (-sP).
nmap –sP 192.168.1.0/24
Когда вы внимательно наблюдаете за пакетами в Wireshark, вы видите, что здесь при сканировании сети отправляются только пакеты ARP
Примечание: Работа –sP и –sn одинакова.
Давайте попробуем то же самое, используя параметр без сканирования портов (-sn). В этом варианте мы также используем параметр –packet-trace, который позволит вам увидеть подробную информацию о передаче пакетов без использования Wireshark. Здесь вы можете наблюдать за получением пакетов ARP.
Теперь, когда мы увидели, что в сети видны ARP-пакеты, мы воспользуемся опцией –disable-arp-ping, где вы увидите, что отправляются 4 пакета.
Disable-arp-ping
Чтобы отключить обнаружение ARP, Nmap предоставляет опцию.
И вы увидите, что пакеты ARP не видны.
Примечание. Сканирование локальной сети с помощью Nmap, где Nmap отправляет ARP-пакет при каждом сканировании. Если необходимо сканировать внешнюю сеть; Nmap отправляет следующие пакеты запросов при использовании –disable-arp-ping:
Вы также можете использовать параметр –send-ip, чтобы получить те же результаты, что и на шаге выше.
send-ip
Обнаружение хоста считается наиболее важным шагом в сборе информации, который обеспечивает точные результаты для активных портов и IP-адресов в сети.
TCP Flags
Во-первых, давайте познакомимся с основами коммуникационных флагов в TCP. Заголовок TCP в основном состоит из шести флагов, которые управляют соединением между системами и предоставляют им инструкции. Каждый флаг имеет размер 1 бит, следовательно, размер флагов TCP составляет 6 бит. Теперь давайте вкратце разберемся с каждым флагом.
Types of Scans
Чтобы обнаружить хосты в сети, можно использовать различные методы проверки связи.
TCP SYN Ping Scan
Это метод обнаружения хоста, который помогает обнаружить, открыты ли порты, а также убедиться, что он соответствует правилам брандмауэра. Следовательно, пентестер может послать целевой пустой SYN-флаг, чтобы проверить, где он жив. В этом типе сканирования можно определить несколько портов.
Пакеты, захваченные с помощью Wireshark, могут быть переадресованы
Преимущество сканирования TCP SYN Ping состоит в том, что пентестер может получить активный / неактивный статус хоста, даже не создавая соединения, и, следовательно, он даже не создает журнал в системе или сети.
TCP ACK Ping Scan
Это метод обнаружения хоста, который похож на сканирование TCP SYN Ping, но немного отличается. Это сканирование также использует порт 80. Пентестер отправляет пустой TCP-пакет к цели и, поскольку между ними нет связи, он получит пакет подтверждения, а затем сбросит и завершит запрос.
Эта команда используется для определения ответа цели, а также проверки того, заблокированы ли SYN-пакеты или эхо-запросы ICMP в последних настройках межсетевых экранов.
Здесь можно увидеть пакеты, захваченные в Wireshark.
Некоторые брандмауэры настроены на блокировку пакетов ping SYN, поэтому в этом случае это сканирование будет эффективным для простого обхода брандмауэра.
ICMP Echo Ping Scan
Сканирование ICMP Ping можно использовать для сбора информации о целевых системах, что отличает его от сканирования портов. Пентестер может отправить целевой объект ICMP ECHO-запрос и получить в ответ эхо-ответ ICMP.
ICMP теперь неэффективен для удаленных пакетов ICMP, заблокированных администраторами. Его все еще можно использовать для мониторинга локальных сетей.
Пакеты, захваченные в Wireshark, можно наблюдать.
ICMP ECHO Ping Sweep
Он похож на Echo Ping Scan и используется для сканирования активных хостов из заданного диапазона IP-адресов. Он отправляет запросы ICMP огромному количеству целей, и, если конкретная цель жива, она возвращает ответ ICMP.
ICMP Address Mask Scan
Это более старый метод проверки связи ICMP ECHO. Он выдает информацию о системе и ее маске подсети.
ICMP ECHO Timestamp scan
Пентестер может применить эту технику в определенных условиях, когда системный администратор блокирует обычную временную метку ICMP. Обычно используется для синхронизации времени.
Пакеты, захваченные с помощью Wireshark, можно наблюдать.
UDP Ping Scan
Сканирование UDP Ping использует крайне необычный номер порта по умолчанию 40125 для отправки пакетов на цель. Это похоже на сканирование TCP Ping. Пентестер отправит UDP-пакеты на цель, и если в ответ будет ответ, это означает, что хост активен или в противном случае он отключен
Преимущество сканирования UDP заключается в том, что он может обнаруживать системы, в которых есть брандмауэры со строгими правилами TCP, и не усложнять правила UDP.
Вы можете наблюдать за пакетами, с помощью Wireshark.
IP protocol ping scan
В этом методе пентестер отправляет различные пакеты, используя разные IP-протоколы, и надеется получить ответ, если цель жива.
Перехваченные пакеты можно наблюдать с помощью Wireshark.
No ping scan
В этом методе обнаружение хоста полностью пропускается. Пентестер может использовать его для определения активных машин для более тяжелого сканирования и увеличения скорости сети.
ARP ping scan
В этом методе пакеты ARP отправляются на все устройства в сети, хотя они невидимы из-за брандмауэра. Это считается чрезвычайно эффективным, чем обнаружение других хостов. Он в основном используется для обнаружения систем. Также упоминается задержка.
Вы можете увидеть захваченные пакеты в WireShark.
SCTP INIT Ping
Можно наблюдать за захваченными пакетами.
Traceroute
Трассировки используются после завершения сканирования с использованием информации из результатов сканирования и для определения порта и протокола, по которым будет достигнута цель.












