Сканер udp портов: Что такое сканирование портов? | Энциклопедия «Касперского»

Содержание

Сканер открытых портов

  • Recluse
  • 15.08.2021
  • 1 845
  • 0
  • 1
  • 1
  • 0
  • Содержание статьи

Описание

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

Онлайн

ИВИТ Сканирование портов

Онлайн сканер TCP и UDP портов от ИВИТ

Очень простой русскоязычный онлайн сканер портов, который позволит просканировать доступные из интернета ресурсы. Для этого, достаточно знать адрес хоста, который будет сканироваться, выбрать нужные порты (на выбор доступны варианты из предустановленных популярных портов и указания своих), а так же выбрать протокол TCP или UDP (можно выбрать оба). Результат сканирования будет отображен в виде таблицы.

Hacker Target

Онлайн сканер TCP портов от Hacker Target

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

Pentest Tools

Онлайн сканер TCP портов от Pentest Tools
Онлайн сканер UDP портов от Pentest Tools

Сервис сканирования портов на английском языке, который позволяет провести тестирование на открытые порты TCP, с использованием программы nmap. Процесс сканирования nmap будет отображен в виде обычного консольного вывода данной программы, после чего будет сформирована таблица с результатами.

Кроссплатформенные (Windows, Linux)

В этом разделе будут описаны сканеры открытых портов, которые работают сразу на различных операционных системах, вроде Windows и Linux.

Angry IP Scanner

Официальный сайт

Бесплатный сетевой сканер, который написан на языке Java. Обладает простым интерфейсом и позволяет просканировать определенные хосты на наличие у них открытых портов, номера которых заданы в настройках программы.

nmap

Официальный сайт

Утилита nmap является одним из самых простых и доступных инструментов для сканирования открытых портов.

У данной утилиты существуют версии под все популярные операционные системы — Windows, Linux, Mac OS X, FreeBSD и его аналоги, и т. д.

nmap имя хоста

Например, мы хотим исследовать открытые порты на стороне сервера yandex.ru. Выполняем команду nmap yandex.ru и смотрим на результат:

recluse@hostsrv:~$ nmap yandex.ru

Starting Nmap 7.60 ( https://nmap.org ) at 2020-11-01 18:31 MSK
Nmap scan report for yandex.ru (5.255.255.70)
Host is up (0.015s latency).
Other addresses for yandex.ru (not scanned): 5.255.255.77 77.88.55.70 77.88.55.77 2a02:6b8:a::a
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

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

Как видно из вывода программы, открытых порта оказалось два — 80 (http) и 443 (https).

Windows

Advanced Port Scanner 2

Официальный сайт

Сравнительно простой в использовании сетевой сканер, разработанный теми же людьми, что сделали известную программу для удаленного доступа под названием Radmin. Для использования, достаточно указать диапазон сканируемых адресов и нажать на кнопку «Сканировать». Результат сканирования будет отображаться в реальном времени, с возможностью дальнейшего экспорта результата в Excel или текстовый файл.

PortQry

Официальный сайт

Консольная утилита для работы с сетью, непосредственно от разработчика Windows — корпорации Microsoft. Умеет сканировать порты по TCP и UDP протоколам, номера которых вручную задаются в аргументах запуска программы. Сами параметры запуска выглядят следующим образом:

  • -n — имя или ip адрес удаленного хоста
  • -e — номер сетевого порта для сканирования (в случае, если нужно просканировать один сетевой порт)
  • -p — используемый сетевой протокол — возможные значения — tcp, udp, both
  • -r — диапазон портов для сканирования (в случае, если нужно просканировать несколько сетевых портов)

Например, для сканирования удаленного узла yandex.ru по обоим протоколам TCP и UDP с указанными портами 80 и 443, нужно будет выполнить следующую команду:

C:\PortQryV2>portqry -n yandex.ru -p both -o 80,443

Querying target system called:

yandex.ru

Attempting to resolve name to IP address…

Name resolved to 77.88.55.88

querying…

TCP port 80 (http service): LISTENING

UDP port 80 (unknown service): LISTENING or FILTERED

TCP port 443 (https service): LISTENING

UDP port 443 (https service): LISTENING or FILTERED

Что такое сканирование портов и как оно работает? | Avast

Сканирование портов — это метод определения открытых портов в сети, которые могут принимать или отправлять данные. Кроме того, это процесс отправки пакетов на определенные порты на хосте и анализа ответов для выявления уязвимостей.

Это сканирование не может выполняться без первоначального определения списка активных хостов и сопоставления этих хостов с их IP-адресами. Такой процесс называется обнаружением хостов. Он начинается со сканирования сети.

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

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

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

Что такое порты и номера портов?

Компьютерный порт — это главное место подключения потока информации из программы или Интернета в устройство или другой компьютер в сети и наоборот. Его можно представить как место обмена данными с помощью электронных средств, программного обеспечения или механизмов, связанных с программированием.

В целях обеспечения системности и для удобства программирования портам были назначены номера. Номер порта в сочетании с IP-адресом образует важную информацию, которая хранится у каждого интернет-провайдера для выполнения запросов. Порты могут иметь номер от 0 до 65 536 и обычно распределяются по популярности.

Порты с номерами от 0 до 1023 широко известны. Они предназначены для использования Интернета, хотя также могут выполнять специализированные задачи. Они находятся в ведении Администрации адресного пространства Интернет (IANA). Эти порты принадлежат ведущим компаниям, таким как Apple QuickTime, MSN, SQL Services и другим известным организациям. Ниже приведены некоторые наиболее известные порты и назначенные им службы. Возможно, они покажутся вам знакомыми.

  • Порт 20 (UDP) поддерживает протокол передачи файлов (FTP), используемый для передачи данных.
  • Порт 22 (TCP) поддерживает протокол безопасной оболочки (SSH) для безопасного входа в систему, передачи данных и переадресации портов.
  • Порт 53 (UDP) — это система доменных имен (DNS), которая переводит имена в IP-адреса.
  • Порт 80 (TCP) — протокол передачи гипертекста (HTTP) для служб всемирной сети.

Порты с 1024 по 49 151 считаются «зарегистрированными», то есть они зарегистрированы корпорациями-разработчиками программного обеспечения. Порты с 49 151 по 65 536 являются динамическими и частными и могут использоваться практически всеми.

Какие протоколы используются при сканировании портов?

Обычно для сканирования портов используются следующие протоколы: TCP (протокол управления передачей данных) и UDP (протокол пользовательских датаграмм). Оба они предназначены для передачи данных в Интернете, но имеют разные механизмы.

TCP — это надежная двусторонняя передача данных, основанная на соединении, при которой успешность отправки зависит от статуса адресата. А протокол UDP работает без подключения и является ненадежным. При использовании протокола UDP данные отправляются без учета состояния пункта назначения. Следовательно, нет гарантий, что данные вообще будут переданы.

Существует несколько различных методов сканирования портов с помощью этих двух протоколов.

Какие методы используются для сканирования портов?

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

Ниже описаны некоторые методы и принципы их работы.

  • Ping-сканирование. Простейшее сканирование портов называется ping-сканированием. Проверка связи (ping) используется в сети, чтобы выяснить, возможна ли отправка сетевых пакетов данных на IP-адрес без ошибок. Ping-сканирование — это запросы протокола межсетевых управляющих сообщений (ICMP) с автоматической отправкой нескольких запросов ICMP на разные серверы, чтобы спровоцировать ответ. ИТ-администраторы могут использовать этот метод для устранения неполадок или отключить ответ на ping-запросы с помощью брандмауэра, что не позволит злоумышленникам найти сеть с помощью проверки связи.
  • Полуоткрытое, или SYN-сканирование. Полуоткрытое сканирование (называемое также SYN-сканированием, от synchronize — «синхронизировать») — это тактика, с помощью которой хакеры определяют состояние порта, не устанавливая полноценного подключения. При этом сканировании отправляется синхронизационное сообщение, но установка подключения не выполняется. Это быстрый и хитрый метод, направленный на обнаружение потенциальных открытых портов на целевых устройствах.
  • XMAS-сканирование. XMAS-сканирование — еще более мягкий и менее заметный для брандмауэра метод. Например, после трехстороннего подтверждения TCP и успешной передачи данных обычно с сервера или из клиента отправляются пакеты FIN, чтобы прекратить подключение. При этом передается сообщение, что «больше нет доступных данных от отправителя». Пакеты FIN часто остаются незамеченными брандмауэром, так как в первую очередь отслеживаются пакеты SYN. По этой причине при XMAS-сканировании отправляются пакеты со всеми флагами, включая FIN. Отсутствие ответа будет означать, что порт открыт. Если порт закрыт, будет получен ответ RST. XMAS-сканирование редко отображается в журналах отслеживания и является более незаметным способом получить данные о защите сети и брандмауэре.

Какие результаты можно получить при сканировании портов?

Сканирование портов показывает состояние сети или сервера. Результат может относиться к одной из трех категорий: открытые, закрытые или фильтруемые порты.

  • Открытые порты. Открытые порты показывают, что целевые серверы или сети активно принимают соединения или датаграммы и отправляют обратно пакеты, подтверждая, что они ожидают передачи данных. Это также указывает на то, что в них используется примененная для сканирования служба (обычно TCP или UDP).
    Обнаружение открытых портов, как правило, является главной целью сканирования, поскольку хакеры могут использовать их для атаки. Задачей ИТ-администраторов, в свою очередь, является попытка заблокировать открытые порты, устанавливая брандмауэры для их защиты, без ограничения доступа для допустимых пользователей.
  • Закрытые порты. Закрытые порты показывают, что серверы или сети получили запрос, но никакие службы не ожидают передачи данных через этот порт. Закрытый порт остается доступным и знать о нем может быть полезно, так как это означает что данный IP-адрес используется хостом. ИТ-администраторам нужно продолжать отслеживать закрытые порты, так как они могут перейти в открытое состояние, что приведет к возникновению уязвимостей. ИТ-администраторам следует подумать о том, чтобы заблокировать закрытые порты с помощью брандмауэра, после чего они перейдут в состояние «фильтрации».
  • Фильтруемые порты. Фильтруемые порты показывают, что пакет запроса отправлен, но хост не ответил и не ожидает передачи данных. Обычно это означает, что пакет запроса был отфильтрован и/или заблокирован брандмауэром. Если пакеты не достигают места назначения, злоумышленники не могут получить дополнительную информацию. Фильтруемые порты часто отвечают сообщениями об ошибках «пункт назначения недоступен» или «передача данных запрещена».

Как хакеры могут использовать сканирование портов в качестве метода атаки?

По данным института SANS, сканирование портов является одной из самых популярных тактик, используемых хакерами при поиске уязвимого сервера для взлома.

Злоумышленники часто используют сканирование портов в качестве подготовки к атаке на сеть. Они проводят сканирование портов, чтобы оценить уровень защиты различных организаций и определить, у кого установлен надежный брандмауэр, а у кого могут быть уязвимы сервер или сеть. Некоторые методы протокола TCP позволяют злоумышленникам скрыть свое сетевое местоположение и использовать «ложный трафик» для выполнения сканирования портов, не раскрывая целевому устройству какой-либо сетевой адрес.

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

Например, ответы открытых и закрытых портов предупредят хакеров о наличии вашей сети и ее готовности принимать данные. Злоумышленники смогут определить уровень защиты и тип операционной системы, используемой вами.

Сканирование портов — это довольно старый метод, требующий изменений в системе безопасности и актуальных сведений об угрозах, поскольку протоколы и средства обеспечения безопасности постоянно развиваются. Рекомендуется использовать предупреждения о сканировании портов и брандмауэры, чтобы отслеживать трафик своих портов и не позволить хакерам обнаружить возможность неавторизованного проникновения в вашу сеть.

Различные приемы сканирования портов |

Различные приемы сканирования портов

Как новичок в автомобильном деле, я могу часами биться в попытках использовать свои элементарные инструменты
(молоток, клейкая лента, гаечный ключ и т.д.) для решения какой-либо проблемы. Когда все мои попытки с крахом
проваливаются, и я буксирую свою развалюху к настоящему механику, он неизменно достает из большой коробки с интрументами
какую-нибудь штуковину, и сразу складывается впечатление, что решение проблемы не требует много усилий. Искусство
сканирования портов очень на это похоже. Эксперты понимают дюжины различных приемов сканирования портов и выбирают для конкретной задачи подходящий (или комбинацию из нескольких). Неопытные пользователи и script kiddies,

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

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

потому что посылаются и принимаются сырые пакеты,

что требует прав пользователя root на Unix системах. Под Windows рекомендуется работать с учетной записью
администратора, хотя иногда Nmap работает и с непривилегированными пользователя, когда в ОС уже загружена утилита
WinPcap. Требование root привилегий было серьезным ограничением, когда Nmap была выпущена в свет в 1997, т.к. многие
пользователи имели доступ только к разделяемым аккаунтам. Сейчас мир изменился. Компьютеры стали дешевле, многие
пользователи имеют постоянный доступ в Интернет, а Unix системы для домашних компьютеров (включая Linux и Mac OS X)
теперь широко распространены. Также теперь доступна Windows версия Nmap, что позволяет запускать ее на еще большем
количестве компьютеров. По этим причинам, пользователям нет необходимости запускать Nmap с разделяемых аккаунтов.
Это большая удача, т.к. функции требующие привилегированного доступа делают Nmap намного более мощной и гибкой.

Когда Nmap предпринимает попытку выдать правильные результаты, надо иметь ввиду, что вся информация базируется
на пакетах, возвращенных целевыми машинами (или брандмауэром перед ними). Такие хосты могут быть ненадежными и
посылать ответы с целью ввести Nmap в забдуждение. Намного более распространным случаем являются не совместимые с
RFC хосты, которые отвечают на запросы Nmap не так, как должны. Сканирования типа FIN, NULL и Xmas наиболее
восприимчивы к такого рода проблемам. Такие сложности специфичны только для определенных типов сканирования, и поэтому
обсуждаются в посвященных им разделах.

В этом разделе описываются около дюжины способов сканирования портов поддерживаемых Nmap. В любой момент времени
вы можете использовать только один метод; исключение составляет UDP сканирование (-sU), которое может
быть скомбинировано с любым типом TCP сканирования. В качестве памятки имейте ввиду, что различные опции сканирования
портов задаются в форме -s<C>, где <C> это символ
из названия какого-либо типа сканирования, обычно первый. Единственное исключение это FTP bounce сканирование
(-b). По умолчанию Nmap осуществляет SYN сканирование; этот тип сканирования заменяет сканирование с
использованием соединения для пользователей не имеющих достаточных привилегий для отправки сырых пакетов (требует
root доступа в Unix), или если были заданы цели в формате IPv6. Среди описанных ниже типов сканирования,
непривилегированные пользователи могут осуществлять только сканирование с использованием соединения и FTP bounce
сканирование.

-sS (TCP SYN сканирование)

SYN это используемый по умолчанию и наиболее популярный тип сканирования. На то есть несколько причин. Он может
быть быстро запущен, он способен сканировать тысячи портов в секунду при быстром соединении, его работе не препятствуют
ограничивающие бранмауэры. Этот тип сканирования относительно ненавящив и незаметен, т.к. при таком сканировании TCP
соединение никогда не устанавливается до конца. Он работает с любым TCP стеком, не завися от каки-либо особенностей
специфичной платформы, как это происходит при сканированиях типа FIN/NULL/Xmas, Maimon и idle сканировании. Он также
предоставляет ясную и достоверную дифференциацию между состояниями открыт,
закрыт и фильтруется.

Эту технику часто называют сканированием с использованием полуотрытых соединений, т.к. вы не открываете
полного TCP соединения. Вы посылаете SYN пакет, как если бы вы хотели установить реальное соединение и ждете. Ответы
SYN/ACK указывают на то, что порт прослушивается (открыт), а RST (сброс) на то, что не прослушивается. Если после
нескольких запросов не приходит никакого ответа, то порт помечается как фильтруемый. Порт также помечается как
фильтруемый, если в ответ приходит ICMP сообщение об ошибке недостижимости (тип 3, код 1,2, 3, 9, 10 или 13).

-sT (TCP сканирование с использованием системного вызова connect)

Это используемый по умолчанию тип TCP сканирования, когда недоступно SYN сканирование. Это происходит в случае,
когда у пользователя нет привилегий для использования сырых пакетов или при сканировании IPv6 сетей. Вместо того,
чтобы использовать сырые пакеты, как это происходит при большинстве других типов сканирования, Nmap «просит»
операционную систему установить соединение с целевой машиной по указанному порту путем системного вызова
connect. Это такой же высокоуровневый системный вызов, используемый браузерами,
P2P клиентами и другими приложениями для установки соединения. Этот вызов является частью программируемого интерфейса,
известного как Berkeley Sockets API. Вместо того, чтобы считывать ответы в форме сырых пакетов, Nmap использует этот
API для получения информации о статусе каждой попытки соединения.

При доступности SYN сканирования, оно, безусловно, будет являться лучшм выбором. У Nmap имеется меньше
возможностей контролирования высокоуровнего вызова connect по сравнению с
сырыми пакетами, что делает его менее эффективным. Системный вызов завершает соединения по открытым портам, вместо
того, чтобы использовать полуоткрытые соединения, как в случае с SYN сканированием. Таким образом на получение
той же самой информации потребуется больше времени и пакетов, да к тому же целевые машины скорее всего запишут это
соединение в свои логи. То же самое сделает и порядочная IDS, хотя большинство машин не имеют такой системы защиты.
Многие службы на вашей Unix системе будут добавлять запись в системный лог (syslog), а также сообщение об ошибке,
когда Nmap будет устанавливать и закрывать соединение без отправления данных. Некоторые службы даже аварийно завершают
свою работу, когда это происходит, хотя это не является обычной ситуацией. Администратор, который увидит в логах
группу записей о попытке установки соединения от одной и той же системы, должен знать, что его машина подверглась
такому типу сканирования.

-sU (Различные типы UDP сканирования)

В то время как большинство сервисов Интернета используют TCP протокол,
UDP службы также широко распространены.
Тремя наиболее популярными являются DNS, SNMP и DHCP (используют порты 53, 161/162 и 67/68). Т.к. UDP сканирование
в общем случае медленнее и сложнее TCP, то многие специалисты по безопасности игнорируют эти порты. Это является
ошибкой, т.к. существуют UDP службы, которые используются атакующими. К счастью, Nmap позволяет инвентаризировать UDP
порты.

UDP сканирование запускается опцией -sU. Оно может быть скомбинировано с каким-либо типом TCP
сканирования, например SYN сканирование (-sS), чтобы использовать оба протокола за один проход.

UDP сканирование работает путем посылки пустого (без данных) UDP заголовка на каждый целевой порт. Если в ответ
приходит ICMP ошибка о недостижимости порта (тип 3, код 3), значит порт закрыт.
Другие ICMP ошибки недостижимости (тип 3, коды 1, 2, 9, 10 или 13) указывают на то, что порт
фильтруется. Иногда, служба будет отвечать UDP пакетом, указывая на то, что порт
открыт. Если после нескольких попыток не было получено никакого ответа, то порт
классифицируется как открыт|фильтруется. Это означает, что порт может быть открыт,
или, возможно, пакетный фильтр блокирует его. Функция определения версии (-sV) может быть полезна
для дифференциации действительно открытых портов и фильтруемых.

Большой проблемой при UDP сканировании является его медленная скорость работы. Открытые и фильтруемые порты редко
посылают какие-либо ответы, заставляя Nmap отправлять повторные запросы, на случай если пакеты были утеряны. Закрытые
порты часто оказываются еще большей проблемой. Обычно они в ответ возвращают ICMP ошибку о недостижимости порта. Но в
отличии от RST пакетов отсылаемых закрытыми TCP портами в ответ на SYN или сканирование с установкой соединения, многие
хосты ограничивают лимит
ICMP сообщений о недостижимости порта по умолчанию. Linux и Solaris особенно строги в этом плане. Например, ядро
Linux 2.4.20 огранивает количество таких сообщений до одного в секунду (в
net/ipv4/icmp.c).

Nmap обнаруживает такого рода ограничения и соответственно сокращает количество запросов, чтобы не забивать
сеть бесполезными пакетами, которые все равно будут отброшены целевой машиной. К сожалению, при ограничении в стиле
Linux (один пакет в секунду) сканирование 65,536 портов займет более 18 часов. К способам увеличения скорости UDP
сканирования относятся: параллельное сканирование нескольких хостов, сканирование в первую очередь только наиболее
популярных портов, сканирование из-за брандмауэра и использование --host-timeout дял пропуска
медленных хостов.

-sN; -sF; -sX (TCP NULL, FIN и Xmas сканирования)

Эти три типа сканирования используют (другие типы сканирования доступны с использованием опции
--scanflags описанной в другой секции)
незаметную лазейку в TCP RFC, чтобы
разделять порты на открытые и закрытые. На
странице 65 RFC 793 говорится, что «если порт назначения ЗАКРЫТ …. входящий сегмент не содержащий RST повлечет
за собой отправку RST в ответ.» На следующей странице, где обсуждается отправка пакетов без установленных
битов SYN, RST или ACK, утверждается что: «вы вряд ли с этим столкнетесь, но если столкнетесь, то сбросьте
сегменти и вернитесь к исходному состоянию.»

Когда сканируется система отвечающая требованиям RFC, любой пакет, не содержащий установленного бита SYN, RST или
ACK, повлечет за собой отправку RST в ответ в случае, если порт закрыт, или не повлечет никакого ответа, если порт
открыт. Т.к. ни один из этих битов не установлен, то любая комбинация трех оставшихся (FIN, PSH и URG) будет являться
правильной. Nmap использует это в трех типах сканирования:

Null сканирование (-sN)

Не устанавливаются никакие биты (Флагов в TCP заголовоке 0)

FIN сканирование (-sF)

Устанавливается только TCP FIN бит.

Xmas сканирование (-sX)

Устанавливаются FIN, PSH и URG флаги.

Эти три типа сканирования работают по одной схеме, различия только в TCP флагах установленных в пакетах запросов.
Если в ответ приходит RST пакет, то порт считается закрытым, отсутствие ответа
означает, что порт открыт|фильтруется. Порт помечается как
фильтруется, если в ответ приходит ICMP ошибка о недостижимости (тип 3, код
1, 2, 3, 9, 10 или 13).

Ключевой особенностью этих типов сканирования является их способность незаметно обойти некоторые не учитывающие
состояние (non-stateful) брандмауэры и роутеры с функцией пакетной фильтрации. Еще одним преимуществом является то, что
они даже чуть более незаметны, чем SYN сканирование. Все же не надо на это полагаться — большинство современных IDS
могут быть сконфигурированы на их обнаружение. Большим недостатком является то, что не все системы следуют RFC 793
дословно. Некоторые системы посылают RST ответы на запросы не зависимо от того, открыт порт или закрыт. Это приводит
к тому, что все порты помечаются как закрытые. Основными системами ведущими себя
подобным образом являются Microsoft Windows, многие устройства Cisco, BSDI и IBM OS/400. Хотя такое сканирование
применимо к большинству систем, основанных на Unix. Еще одним недостатком этих видов сканирования является их
неспособность разделять порты на открытые и
фильтруемые, т.к. порт помечается как
открыт|фильтруется.

-sA (TCP ACK сканирование)

Этот тип сканирования сильно отличается от всех других тем, что он не способен определить открый порт
open (или даже открытый|фильтруемый). Он
используются для выявления правил брандмауэров, определения учитывают ли он состояние или нет, а также для определения
фильтруемых ими портов.

Пакет запроса при таком типе сканирования содержит установленным только ACK флаг (если не используется
--scanflags). При сканировании нефильтруемых систем,
открытые и закрытые порты оба будут возвращать
в ответ RST пакет. Nmap помечает их как не фильтруемые, имея ввиду, что они
достижимы для ACK пакетов, но неизвестно открыты они или
закрыты. Порты, которые не отвечают или посылают в ответ ICMP сообщение об ошибке
(тип 3, код 1, 2, 3, 9, 10 или 13), помечаются как фильтруемые.

-sW (TCP Window сканирование)

Этот тип сканирования практически то же самое, что и ACK сканирование, за исключением того, что он использует
особенности реализации различных систем для разделения портов на открытые и закрытые, вместо того, чтобы всегда при
получении RST пакета выводить не фильтруется. Это осуществляется путем анализа
TCP Window поля полученного в ответ RST пакета. В некоторых системах открытые порты используют положительное значение
этого поля (даже в RST пакетах), а закрытые — нулевое. Поэтому вместо того, что все время при получении RST пакета в
ответ помечать порты как не фильтруемые, при Window сканировании порты помечаются
как открытые или закрытые, если значение поля
TCP Window положительно или равно нулю соответственно.

Этот тип сканирования основывается на особенностях реализации меньшинства систем в Интернете, поэтому вы не
можете все время доверять ему. В общем случае в системах, не имеющих таких особенностей, все порты будут помечаться
как закрытые. Конечно, это возможно, что у машины действительно нет открытых портов.
Если большинство просканированных портов закрыты, и лишь несколько распространненых
портов (таких как 22, 25, 53) фильтруются, то скорее всего результатам сканирования
можно доверять. Иногда, системы будут вести себя прямо противоположным образом. Если в результате сканирования будет
найдено 1000 открытых портов и 3 закрытых или фильтруемых, то как раз эти 3 могут оказаться действительно открытыми.

-sM (TCP сканирование Мэймона (Maimon))

Этот тип сканирования носит имя своего первооткрывателя, Уриела Мэймона (Uriel Maimon).

Он описал эту технику в журнале Phrack Magazine, выпуск #49 (Ноябрь 1996).

Версия Nmap с поддержкой этого типа сканирования была выпущена через два номера. Техника практически такая же как и
при NULL, FIN и Xmas сканированиях, только в качестве запросов используются запросы FIN/ACK. Согласно
RFC 793 (TCP), в ответ на такой запрос
должен быть сгенерирован RST пакет, если порт открыт или закрыт. Тем не менее, Уриел заметил, что многие BSD системы
просто отбрасывают пакет, если порт открыт.

--scanflags (Заказное TCP сканирование)

Действительно продвинутым пользователям Nmap не нужды ограничивать себя заранее приготовленными типами
сканирования. С помощью опции --scanflags вы можете разработать свой тип сканирования путем задания
специфичных TCP флагов.
Используйте свое воображение, обходя системы обнаружения вторжений, чьи производители просто просмотрели справочное
руководство Nmap, путем задания собственных правил!

Аргументом опции --scanflags может быть числовое значение, например, 9 (PSH и FIN флаги), но
использование символьных имен намного проще. Используйте любые комбинации URG,
ACK, PSH,
RST, SYN и
FIN. Например, опцией --scanflags
URGACKPSHRSTSYNFIN
будут установлены все флаги, хотя это и не очень полезно для сканирования. Порядок задания
флагов не имеет значения.

В добавлении к заданию желаемых флагов, вы также можете задать тип TCP сканирования (например,
-sA или -sF). Это укажет Nmap на то, как необходимо интерпретировать ответы.
Например, при SYN сканировании отсутствие ответа указывает на фильтруемый порт,
тогда как при FIN сканировании — на открытый|фильтруемый. Nmap будет осуществлять
заданный тип сканирования, но используя указанные вами TCP флаги вместо стандартных. Если вы не указываете тип
сканирования, то по умолчанию будет использоваться SYN.

-sI <зомби_хост>[:<порт>] («ленивое» idle сканирование)

Этот продвинутый метод сканирования позволяет осуществить действительно незаметное TCP сканирование
портов цели (имеется ввиду, что никакие пакеты не отсылаются на целевую машину с вашего реального IP адерса).
Вместо этого, на зомби машине используется предсказуемая последовательность генерации ID IP фрагментов для
сбора информации об открытых портах цели. Системы IDS будут считать, что сканирование производится с
заданной вами зомби машины (которая должна работать и удовлетворять определенным критериям).
Этот тип сканирования слишком сложен для описания в этом справочном руководстве, поэтому я написал и выложил
подробное описание на https://nmap.org/book/idlescan.html.

Помимо его незаметности (в силу своей природы), этот тип сканирования также позволяет определять
основанные на IP доверительные отношения между машинами. Список открытых портов показывает открытые порты
с точки зрения зомби машины. Поэтому вы можете попробовать просканировать цель
используя различные зомби машины, которым, вы считаете, возможно будут доверять

(посредством правил роутера/пакетного фильтра).

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

Порты также могут быть заданы именами, которым они соответствуют в файле
nmap-services. Вы даже можете использовать шаблоны * и ? в именах.
Например, чтобы просканировать ftp и все порты начинающиеся с http используйте -p ftp,http*.
В таких случаях лучше брать аргументы -p в кавычки.

Диапазоны портов заключаются в квадратные скобки; будут просканированы порты из этого диапазона,
встречающиеся в nmap-services.
Например, с помощью следующей опции будут просканированы все порты из
nmap-services равные или меньше 1024: -p [-1024].
В таких случаях лучше брать аргументы -p в кавычки.

-sO (Сканирование IP протокола)

Сканирование такого типа позволяет определить, какие IP протоколы (TCP, ICMP, IGMP и т.д.) поддерживаются
целевыми машинами. Технически такое сканирование не является разновидностью сканирования портов, т.к. при нем
циклически перебираются номера IP протоколов вместо номеров TCP или UDP портов. Хотя здесь все же используется опция
-p для выбора номеров протоколов для сканирования, результаты выдаются в формате таблицы портов, и
даже используется тот же механизм сканирования, что и при различных вариантах сканирования портов. Поэтому он
достаточно близок к сканированию портов и описывается здесь.

Помимо полезности непосредственно в своей сфере применения, этот тип сканирования также демонстрирует всю мощь
открытого программного обеспечения (open-source software). Хотя основная идея довольна проста, я никогда не думал
включить такую функцию в Nmap, и не получал запросов на это. Затем, летом 2000-го, Джерард Риджер (Gerhard Rieger)

развил эту идею, написал превосходный патч воплощающий ее и отослал его на
nmap-hackers рассылку.
Я включил этот патч в Nmap и на следующий день выпустил новую версию. Лишь единицы комерческого программного обеспечения
могут похвастаться пользователями, достаточно полными энтузиазма для разработки и предоставления своих улучшений!

Способ работы этого типа сканирования очень похож на реализованный в UDP сканировании. Вместо того, чтобы
изменять в UDP пакете поле, содержащее номер порта, отсылаются заголовки IP пакета, и изменяется 8 битное поле IP
протокола. Заголовки обычно пустые, не содержащие никаких данных и даже правильного заголовка для требуемого протокола.
Исключениями явлются TCP, UDP и ICMP. Включение правильного заголовка для этих протоколов необходимо, т.к. в обратном
случае некоторые системы не будут их отсылать, да и у Nmap есть все необходимые функции для их создания. Вместо того,
чтобы ожидать в ответ ICMP сообщение о недостижимости порта, этот тип сканирования ожидает ICMP сообщение о
недостижимости протокола. Если Nmap получает любой ответ по любому протоколу, то протокол
помечается как открытый. ICMP ошибка о неостижимости протокола (тип 3, код 2)
помечает протокол как закрытый. Другие ICMP ошибки недостижимости (тип 3, код
1, 3, 9, 10 или 13) помечают протокол как фильтруемый (в то же время они показывают,
что протокол ICMP открыт). Если не приходит никакого ответа после нескольких
запросов, то протокол помечается как открыт|фильтруется

.

-b <FTP хост> (FTP bounce сканирование)

Интересной возможностью FTP протокола (RFC 959) является поддержка так называемых прокси FTP соединений. Это позволяет пользователю подключиться к одному
FTP серверу, а затем попросить его передать файлы другому. Это является грубым нарушением, поэтому многие сервера
прекратили поддерживать эту функцию. Используя эту функцию, можно осуществить с помощью данного FTP сервера
сканирование портов других хостов. Просто попросите FTP сервер переслать файл на каждый интересующий вас порт целевой
машины по очереди. Сообщение об ошибке укажет: открыт порт или нет. Это хороший способ обхода брандмауэров, т.к.
организационные FTP сервера обычно имеют больше доступа к другим внутренним хостам, чем какие-либо другие машины.
В Nmap такой тип сканирования задается опцией -b. В качестве аргумента ей передается
<имя_пользователя>:<пароль>@<сервер>:<порт>.
<Сервер> — это сетевое имя или IP адрес FTP сервера. Как и в случае в обычными URL, вы можете опустить <имя_пользователя>:<пароль>, тогда будут использованы
анонимные данные (пользователь: anonymous
пароль:-wwwuser@). Номер порта (и предшествующее ему двоеточие) также можно не
указывать; тогда будет использован FTP порт по умолчанию (21) для подключения к <серверу>.

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

20 Потрясающих Примеров Команды Nmap + анонимное сканирование портов

1. Сканирование Одного Хоста или IP Адреса

Сканировать Отдельный IP Адрес:

$ nmap 192.168.1.1

Сканировать сервер по Имени Хоста:

$ nmap server.shellhacks.com

Увеличить Уровень Детализации результатов сканирования:

$ nmap -v server.shellhacks.com
$ nmap -vv server.shellhacks.com

2. Сканирование Множества IP Адресов

Сканировать Множество IP Адресов:

$ nmap 192.168.1.1 192.168.1.2 192.168.1.3
$ namp 192.168.1.1,2,3

Сканировать Подсеть:

$ nmap 192.168.1.0/24
$ nmap 192.168.1.*

Сканировать Диапазон IP Адресов (192.168.1.0 — 192.168.1.200):

$ nmap 192.168.1.0-200

3. Поиск Активных Компьютеров в Сети

Сканировать сеть в поиске Активных Хостов:

$ nmap -sn 192.168.1.0/24

4. Сканирование Списка Хостов из Файла

Сканирование списка хостов/сетей из Файла:

$ nmap -iL input.txt

Формат файла:

# Записи могут быть представлены в любом из форматов, с которыми работает
# Nmap из командной строки (IP адреса, имена хостов, CIDR, IPv6, или октетные
# диапазоны). Записи должны разделятся одним или более пробелами, табуляциями
# или переходами на новую строку.

$ cat input.txt
server.shellhacks.com
192.168.1.0/24
192.168.2.1,2,3
192.168.3.0-200

5. Исключение IP/Хостов/Сетей из Сканирования

Исключить Цели из сканирования Nmap-ом:

$ nmap 192.168.1.0/24 --exclude 192.168.1.1
$ nmap 192.168.1.0/24 --exclude 192.168.1.1 192.168.1.5
$ nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3

Исключить Список хостов, взятых из файла:

$ nmap 192.168.1.0/24 --excludefile exclude.txt

Формат файла с исключенными хостами аналогичен приведенному выше.

6. Сканирование Определенных Портов

Сканировать Один Порт:

$ nmap -p 80 192.168.1.1

Сканировать Несколько Портов:

$ nmap -p 80,443 192.168.1.1

Сканировать Диапазон Портов:

$ nmap -p 80-1000 192.168.1.1

Сканировать Все Порты:

$ nmap -p "*" 192.168.1.1

Сканировать несколько самых Распространенных Портов:

$ nmap --top-ports 5 192.168.1.1
$ nmap --top-ports 10 192.168.1.1

7. Определение Поддерживаемых IP Протоколов

Определить какие IP Протоколы (TCP, UDP, ICMP, и т.д.) поддерживает сканируемый хост:

$ nmap -sO 192.168.1.1

8. Сканирование TCP/UDP Портов

Сканировать все TCP Порты:

$ nmap -sT 192.168.1.1

Сканировать определенные TCP Порты:

$ nmap -p T:80 192.168.1.1

Сканировать все UDP Порты:

$ nmap -sU 192.168.1.1

Сканировать определенные UDP Порты:

$ nmap -p U:53 192.168.1.1

Объединение сканирования разных портов:

$ nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1

9. Быстрое Сканирование

Активировать Быстрый Режим сканирования:

$ nmap -F 192.168.1.1

Сканирует меньшее кол-во портов, чем при обыкновенном сканировании.

10. Показывать Причину Состояния Порта

Показать Причину, по которой Nmap считает что порт находится в определенном состоянии:

$ nmap --reason 192.168.1.1

11. Показывать Только Открытые Порты

Показать Только Открытые Порты (либо возможно открытые):

$ nmap --open 192.168.1.1

12. Определение ОС

Одна из наиболее известных функциональных возможностей Nmap — это удаленное определение ОС на основе анализа работы стека TCP/IP.

Nmap посылает серию TCP и UDP пакетов на удаленный хост и изучает ответы.

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

Включить Определение ОС:

$ nmap -O 192.168.1.1

13. Определение Версии Сервисов

Включить Определение Версии Сервисов:

$ nmap -sV 192.168.1.1

Определяет версии программ, запущенных на удаленном сервере.

14. Обнаружение Фаервола

Узнать, защищен ли компьютер какими-либо Пакетными Фильтрами или Фаерволом:

$ nmap -sA 192.168.1.1

15. Подмена MAC Адреса

Подменить MAC Адреса:

$ nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1

Подменить MAC Адрес Случайным MAC-ом:

$ nmap --spoof-mac 0 192.168.1.1

16. Сканирование Фаервола на Уязвимости

Эти три типа сканирования используют незаметную лазейку в TCP RFC, чтобы разделять порты на открытые и закрытые.

Когда сканируется система отвечающая требованиям RFC, любой пакет, не содержащий установленного бита SYN, RST или ACK, повлечет за собой отправку RST в ответ в случае, если порт закрыт, или не повлечет никакого ответа, если порт открыт.

Т.к. ни один из этих битов не установлен, то любая комбинация трех оставшихся (FIN, PSH и URG) будет являться правильной.

TCP Null сканирование:

$ nmap -sN 192.168.1.1

Не устанавливаются никакие биты (Флагов в TCP заголовоке 0).

TCP Fin сканирование:

$ nmap -sF 192.168.1.1

Устанавливается только TCP FIN бит.

TCP Xmas сканирование:

$ nmap -sX 192.168.1.1

Устанавливаются FIN, PSH и URG флаги (пакет светится как новогодняя елка).

Хосты, использующие сетевой экран (firewall), могут не отвечать на стандартные ICMP пинги.

Попробуйте следующие методы обнаружения подключенных хостов, если фаервол блокирует стандартные ICMP пинги:

# TCP SYN Пинг
$ nmap -sn -PS 192.168.1.0/24

# TCP ACK Пинг
$ nmap -sn -PA 192.168.1.0/24

# UDP Пинг
$ nmap -sn -PU 192.168.1.0/24

# Пинг по IP Протоколу
$ nmap -sn -PO 192.168.1.0/24

# ARP Пинг
$ nmap -sn -PR 192.168.1.0/24

Последние три команды должны выполняться с правами пользователя root.

17. Скрытое Сканирование

TCP SYN сканирование:

$ nmap -sS 192.168.0.1

Известное как сканированием с использованием полуоткрытых соединений, так как не отрывает полных TCP соединений.

18. Отключение Обнаружения Хостов (No Ping)

Не пинговать хосты перед сканированием:

$ nmap -Pn 192.168.1.1

19. Отключение Использования DNS

Никогда не производить обратное преобразование DNS имен для каждого обнаруженного активного IP адреса:

$ nmap -n 192.168.1.1

20. Сохранение Результатов Сканирования Nmap в Файл

Сохранить результат сканирования Nmap в Текстовый Файл:

$ nmap 192.168.1.1 > output.txt
$ nmap -oN output.txt 192.168.1.1

Сохранить результат сканирования Nmap в XML Файл:

$ nmap -oX output.xml 192.168.1.1

Анонимное Сканирование Портов: Nmap + Tor + ProxyChains

Установка Tor + Nmap + ProxyChains

Для осуществления анонимного сканирования портов нам необходимо установить следующие программы:

ПрограммаОписание
torАнонимизирующая сеть для TCP
nmapСетевой сканер портов
proxychainsПеренаправляет соединения через прокси-сервера
Tor

Установите Tor клиент из стандартных репозиториев:

$ sudo apt-get install tor
Nmap

Установите Nmap:

$ sudo apt-get install nmap
ProxyChains

Установите ProxyChains:

$ sudo apt-get install proxychains

ProxyChains по умолчанию уже настроен на работу с Tor.

В этом можно убедиться заглянув в /etc/proxychains.conf.

Последние строки конфига должны выглядеть следующим образом:

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4 127.0.0.1 9050
Анонимное Сканирование Портов Через Tor

Выполните следующую команду для анонимного сканирования Nmap-ом через cеть Tor:

$ proxychains nmap -sT -PN -n -sV -p 80,443,21,22 217.xx.xx.xx
ProxyChains-3.1 (http://proxychains.sf.net)

Starting Nmap 6.00 ( http://nmap.org ) at 2014-03-24 17:34 EET
|S-chain|-<>-127.0.0.1:9050-<><>-217.xx.xx.xx:443-<><>-OK
|S-chain|-<>-127.0.0.1:9050-<><>-217.xx.xx.xx:21-<><>-OK
|S-chain|-<>-127.0.0.1:9050-<><>-217.xx.xx.xx:80-<><>-OK
|S-chain|-<>-127.0.0.1:9050-<><>-217.xx.xx.xx:22-<--denied

Nmap scan report for 217.xx.xx.xx
Host is up (0.14s latency).
PORT    STATE  SERVICE  VERSION
21/tcp  open   ftp      Pure-FTPd
22/tcp  closed ssh
80/tcp  open   http     Apache httpd 2.2.26 ((CentOS))
443/tcp open   ssl/http Apache httpd 2.2.26 ((CentOS))

В логах сканирования мы можем увидеть ‘цепочку’, которая идет от Tor-прокси (127.0.0.1:9050) к сканируемому хосту (217.xx.xx.xx).

Nmap через Tor: Обходим Блокировку Нод

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

Выходом из этой ситуации может быть добавление в ‘цепочку’ обыкновенного публичного прокси-сервера.

Это делается путем редактирования /etc/proxychains.conf и добавления новой записи в конце [ProxyList] (также убедитесь что опция random_chain отключена).

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4  127.0.0.1 9050
socks4 115.71.237.212 1080

Новая ‘цепочка’ идет через Tor-прокси (127.0.0.1:9050) к указанному нами публичному прокси-серверу (115.71.237.212:1080), а затем к сканируемому хосту (217.xx.xx.xx).

$ proxychains nmap -sT -PN -n -sV -p 21 217.xx.xx.xx
ProxyChains-3.1 (http://proxychains.sf.net)

Starting Nmap 6.00 ( http://nmap.org ) at 2014-03-25 11:05 EET
|S-chain|-<>-127.0.0.1:9050-<>-115.71.237.212:1080-<><>-217.xx.xx.xx:21-<><>-OK
|S-chain|-<>-127.0.0.1:9050-<>-115.71.237.212:1080-<><>-217.xx.xx.xx:21-<><>-OK
Nmap scan report for 217.xx.xx.xx
Host is up (1.2s latency).
PORT   STATE SERVICE VERSION
21/tcp open  ftp     Pure-FTPd

В примерах выше, я запускаю Nmap со следующими опциями:

ОпцияОписание
-sTполное TCP сканирование
-PNпропустить обнаружение хостов
-nникогда не резолвить DNS (во избежание утечки через DNS)
-sVопределять версию сервиса
-pкакие порты сканировать

Сканирование через Tor очень медленное. Поэтому, в примерах выше, я сканировал только определенные порты.

Списки Бесплатных Публичных Прокси-Серверов

Даже если Вы используете прокси, все Ваши DNS запроси все равно направляются на DNS сервера Вашего Интернет-Провайдера.

Во избежание утечек через DNS, используйте команду tor-resolve, для преобразования имени хоста в IP-адрес, через сеть Tor:

$ tor-resolve google.com
173.194.34.174

Глава 6. Сканирование хостов

-sT

использовать метод TCP connect()

-sS

использовать метод TCP SYN

-sF

«невидимое» FIN-сканирование

-sX

«невидимое» Xmas Tree-сканирование

-sN

«невидимое» NULL-сканирование

-sP

ping-«сканирование»

-sV

включение режима определения версий служб, за которыми закреплены сканируемые порты

-sU

сканировать UDP-порты

-sO

сканирование протоколов IP

-sI

позволяет произвести абсолютно невидимое сканирование портов

-sA

использовать ACK-сканирование

-sW

использовать метод TCP Window

-sR

использовать RPC-сканирование

-sL

получить список сканируемых адресов

-b

использовать атаку «Прорыв через FTP»

-P0

не производить ping-опрос хостов перед их непосредственным сканированием

-PT

использовать TCP «ping»

-PS

опция, также используемая для ping-опроса

-PU

использовать UDP Ping

-PE

эта опция использует в качестве ping-запроса нормальный ping-пакет (запрос ICMP-эха)

-PP

использует пакет ICMP «timestamp request (code 13)» для определения активных хостов

-PM

схожа с опциями-PE и-PP за исключением того, что используется пакет «netmask request» (ICMP code 17)

-PB

режим ping-опроса по умолчанию

-O

эта опция позволяет определить операционную систему сканируемого хоста с помощью метода отпечатков стека TCP/IP

-A

v: детектор версий ОС и служб

-6

опция разрешает поддержку протокола IPv6

-I

использовать reverse-ident сканирование

-f

эта опция используется совместно с SYN, FIN, Xmas или NULL-сканировании и указывает на необходимость использования IP-фрагментации с малым размером фрагментов

-v

использовать режим «подробного отчёта»

-h

печатает справку по использованию Nmap с указанием опций и краткого их описания, не запуская саму программу

-oN

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

-oX

записывает результаты сканирования в файл, указанный в качестве аргумента, в формате XML

-oG

записывает результаты сканирования в файл, указанный в качестве аргумента, в формате,удобном для команд типа grep

-oA

записывает результаты во всех основных форматах (нормальном, grep и XML)

-oS

возможность, предусмотренная для любителей писать x1Tr0ymNblM R3blk0M

--resume

если вы прервали сканирование сети нажатием комбинации Ctrl-C, то вы можете продолжить его, используя эту опцию, если результаты сканирования записывались в файл-журнал с помощью опций ‘-oG’ или ‘-oN’

--append_output

Дописывать, а не удалить файл-журнал

-iL

считывает описание целевых хостов из текстового файла

-iR

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

-p

эта опция указывает Nmap, какие порты необходимо просканировать

-F

быстрое сканирование

-D

имитировать сканирование с ложных (decoy) хостов

-S

Если Nmap не смог автоматически определить IP-адрес вашего хоста (о чем вы получили соответствующее сообщение), вам необходимо самостоятельно указать IP-адрес, используя его в качестве аргумента данной опции

-e

указывает Nmap, какой интерфейс будет использоваться для приёма/передачи пакетов

-g

указывает номер порта на вашем компьютере, который будет использоваться Nmap для осуществления сканирования

--data_length

Обычно Nmap посылает пакет, содержащий только заголовок

-n

никогда не преобразовывать адреса хостов в DNS-имя; увеличивает скорость сканирования

-R

всегда преобразовывать адреса хостов в DNS-имя

-r

Не переставлять номера сканируемых портов случайным образом

-ttl

Записывает в поле TTL отправляемых пакетов IPv4 заданное значение

--randomize_hosts

указывает Nmap на необходимость случайной перестановки каждой группы из 2048 хостов перед непосредственным их сканированием

-M

устанавливает максимальное количество сокетов, используемых параллельно в методе TCP connect() сканирования

--packet_trace

Показывать все принимаемые и передаваемые пакеты в формате TCPDump

--datadir

считывать данные из файлов services, nmap-protocols, nmap-rpc, и nmap-os-fingerprints, находящихся в указанном каталоге

-T

эта опция устанавливает временной режим сканирования

--host_timeout

устанавливает время, отводимое Nmap на полное сканирование одного хоста, прежде чем он перейдёт к очередному IP-адресу

--max_rtt_timeout

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

--min_rtt_timeout

Если сканируемый хост немедленно отвечает на посланный запрос, Nmap сразу же передаёт следующий, сэкономив тем самым очень много времени

--initial_rtt_timeout

устанавливает время, отводимое на начальный тест

--max_parallelism

устанавливает максимальное количество параллельных процессов сканирования, используемых Nmap

--min_parallelism

устанавливает минимальное количество параллельных процессов сканирования, используемых Nmap

--scan_delay

устанавливает минимальное время задержки между тестами

Сканирование портов с Nmap

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

 

TCP connect

Пожалуй самый распространенный и “шумный” способ сканирования. “Шумный” в том плане, что оставляет после себя следы. Принцип работы довольно прост — сканирующий комп просто инициирует TCP соединение со сканируемым объектом, если соединение удалось, значит порт открыт, если отклонено — закрыт, если нет ответа — возможно блокируется фаерволом:

Порт открыт

Вид в Wireshark

 

Порт закрыт

Вид в Wireshark

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

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

Теперь вернемся в Nmap. Для запуска данного способа достаточно выполнить: 

nmap -sT 192.168.0.45 -p 22,80,445

 

Как мы видим Nmap помечает порты одним из 3-х состояний: open (открытый), closed (закрытый), filtered (фильтруется фаерволом). Существуют и другие состояния, но об этом позже. С open и closed все понятно, но что означает filtered?

Означает то, что на сканирующий пакет не было получено ответа (в случае с TCP connect)  возможно из-за фаервола. Так как техник сканирования много, то и состояния портов тоже могут меняться в зависимости от того ответил хост или нет, а также как ответил. Поэтому рекомендую использовать опцию —reason, которая подскажет на каком основании принято то или иное решение: 

nmap -sT —reason scanme.nmap.org -p22,80,139

TCP Syn (Stealth scan)

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

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

Порт открыт

Вид в Wireshark

  

Порт закрыт

Вид в Wireshark

 

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

 

Почему данный метод считается менее заметным?

Дело в том, что конечные системы записывают в свои логи сам факт установления соединения. Если попытка соединения была сорвана, то ничего не записывается. 

TCP Syn также является более быстрым методом по сравнению с TCP connect. Сканер сразу отправляет пакеты SYN, а затем ждет SYN-ACK. Ему уже не нужно в ответ на SYN-ACK посылать ACK. 

Для запуска данного метода выполним команду: 

nmap -sS —reason scanme.nmap.org -p 23,80,138

 

Следует отметить, что данную команду необходимо выполнять от имени суперпользователя (root). Кроме того, при запуске того или иного метода сканирования nmap посылает дополнительные пакеты, чтобы определить, что хост онлайн. В этом легко убедиться, включив опцию —packet-trace

nmap -sS —packet-trace —reason 192.168.1.2 -p 80

Вид в сканере

Вид в Wireshark

UDP сканирование

На первый взгляд техника сканирования выглядит довольно просто. Сканирующий хост посылает пустой UDP пакет (только UDP заголовок) и ждет ответной реакции от сканируемого объекта:

Порт открыт

Вид в Wireshark

Порт закрыт

Вид в Wireshark

 

Так выглядит в идеале. Однако в реальности все намного сложнее. UDP не имеет механизма установления соединения, а потому прикладной уровень сканируемого хоста может отбросить принятый пакет и никак не уведомить об этом сканирующую сторону. Поэтому приходится только догадываться открыт ли порт либо на пути стоит фаервол, которые блокирует входящие пакеты:

Пакет игнорируется системой

Пакет блокируется фаерволом

 

Однако иногда фаервол может отправить уведомление о блокировке пакетов.

 

В каких случаях хост с открытым UDP портом игнорирует сканирующие пакеты? 

Ответ прост. Nmap (да и любые другие сканеры) посылают “пустые” пакеты (только UDP заголовок), то есть не содержат полезной нагрузки или данные:

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

 

Почему же сразу не вставить данные в пакет, которые соответствовали бы формату конкретного приложения? 

Дело в том, что приложения, использующие протокол UDP не имеют единого стандартизированного формата данных. А содержать целую базу данных под каждый UDP порт задача довольно сложная, поэтому Nmap старается вставить данные в некоторые  пакеты с общеизвестными портами, например, 53 (DNS), 137 (NetBios) и так далее:

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

nmap -sUV —reason scanme.nmap.org

Null, Xmas, Fin сканирование

Этот экзотический метод сканирования основан на рекомендации RFC 793. Там сказано, если порт устройства закрыт и принят TCP пакет, в котором не установлен флаг RST, то данное устройство должно отправить пакет с установленным флагом RST. Проще говоря, если принят TCP RST пакет, то порт закрыт. Если никакого ответа не последовало, то порт открыт:

Порт закрыт

Вид в Wireshark

Однако не все так хорошо, как кажется. Не все системы придерживаются рекомендациям RFC, то есть могут просто не ответить на такой необычный сканирующий пакет либо всегда отвечают RST, ACK вне зависимости от состояния портов. К таким системам относится Windows. Ситуация также осложняется наличием фаерволов, так как в большинстве случаев они уничтожают подозрительные пакеты и никак об этом не сообщают. Поэтому в Nmap “неответившие” порты помечаются как opened | filtered. Данный метод рекомендуется использовать совместно с другими методами для улучшения результатов сканирования. 

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

nmap -sN 192.168.1.2 — Null сканирование 

nmap -sF 192.168.1.2 — Fin сканирование 

nmap -sX 192.168.1.2 — Xmas сканирование

 

 

Комментарии для сайта Cackle

Сканер портов в локальной сети, бесплатные методы

Обновлено 13.03.2019

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами разобрали, как вычисляется дата установки Windows. В сегодняшней заметке мы рассмотрим информацию, позволяющую запускать у себя сканер портов в локальной сети, мы разберем для чего, это может потребоваться и где вы это сможете применить в своей практике. Материал представлен в исключительно познавательных целей.

Задача

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

Что такое сканер портов?

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

Сканирование портов представляет собой способ определения, какие порты в сети открыты. Поскольку порты на компьютере — это место, где информация отправляется и принимается, сканирование портов аналогично стуку в дверь, чтобы увидеть, находится ли кто-то дома. Выполнение сканирования портов в локальной сети или на сервере позволяет определить, какие порты открыты и находятся в режиме прослушивания (listening) (получения информации), а также выявить наличие таких устройств безопасности, как межсетевые экраны, которые находятся между отправителем и целью. Этот метод известен как дактилоскопия (fingerprinting). Это также полезно для тестирования сетевой безопасности и надежности брандмауэра системы. Благодаря этой функциональности, это также популярный инструмент разведки для злоумышленников, ищущих слабую точку доступа для проникновения в компьютер или сервер.

Порты различаются по своим назначениям. Они пронумерованы от 0 до 65535, но определенные диапазоны используются чаще. Порты с 0 по 1023 идентифицируются (https://ru.wikipedia.org/wiki/Список_портов_TCP_и_UDP), как «общеизвестные порты» или стандартные порты и были назначены для определенных служб, агентством по присвоению номеров в Интернете (IANA). Некоторые из наиболее известных портов и назначенных им служб включают в себя:

  • Порт 20 (UDP) — протокол передачи файлов (FTP) для передачи данных
  • Порт 22 (tcp) — протокол Secure Shell (SSH) для безопасного входа, FTP и переадресации портов
  • Порт 23 (tcp) — протокол Telnet для не зашифрованных текстовых коммутаций
  • Порт 53 (UDP) — Система доменных имен (DNS) переводит имена всех компьютеров в Интернете в IP-адреса
  • Порт 80 (tcp) — Всемирная паутина HTTP

Методы сканирования портов

Сканирование портов отправляет тщательно подготовленный пакет на каждый номер порта назначения. Основные методы, которые может использовать программное обеспечение для сканирования портов:

  • Ваниль (Vanilla) — самый простой скан; попытка подключиться ко всем 65 536 портам по по очереди. Ванильное сканирование — это полное сканирование соединения, то есть оно отправляет флаг SYN (запрос на подключение) и после получения ответа SYN-ACK (подтверждение подключения) отправляет обратно флаг ACK. Этот обмен SYN, SYN-ACK, ACK включает квитирование TCP. Полное сканирование подключений является точным, но очень легко обнаруживается, поскольку все подключения всегда регистрируются брандмауэрами.
  • Сканирование SYN (SYN Scan) — также называется полуоткрытым сканированием, оно только отправляет SYN и ожидает ответа SYN-ACK от цели. Если ответ получен, сканер никогда не отвечает. Так как соединение TCP не было установлено, система не регистрирует взаимодействие, но отправитель узнал, открыт порт или нет.
  • Сканирование XMAS и FIN (XMAS and FIN Scans) — набор сканирований, используемых для сбора информации без регистрации в целевой системе. При сканировании FIN незапрошенный флаг FIN (обычно используемый для завершения установленного сеанса) будет отправлен на порт. Ответ системы на этот случайный флаг может показать состояние порта или брандмауэр. Например, закрытый порт, который получает незапрошенный пакет FIN, ответит пакетом RST (мгновенный прерывание), но открытый порт проигнорирует его. Сканирование XMAS просто отправляет набор всех флагов, создавая бессмысленное взаимодействие. Ответ системы может быть интерпретирован для лучшего понимания портов системы и брандмауэра.
  • Сканирование отказов FTP (FTP Bounce Scan) — позволяет замаскировать местоположение отправителя путем пересылки пакета через FTP-сервер. Это также предназначено для отправителя, чтобы остаться незамеченным.
  • Сканирование развертки (Sweep scan) — пингует один и тот же порт на нескольких компьютерах, чтобы определить, какие компьютеры в сети активны. Это не раскрывает информацию о состоянии порта, а сообщает отправителю, какие системы в сети активны. Таким образом, его можно использовать как предварительное сканирование.

Сканеры открытых портов

Я могу выделить вот такие бесплатные программы, которые выполняют роль сканеров портов в локальной сети:

  1. Advanced Port Scanner
  2. Angry IP Scanner
  3. Nmap

Перед описанием каждой утилиты, я напоминаю, что порты есть TCP и UDP, и мы ранее уже проверяли доступность порта и слушает ли его, какая-либо служба. Так же очень наглядную таблицу в режиме реального времени по портам вы можете увидеть через утилиту netstat, но она к сожалению не такая дружелюбная и не умеет сканировать удаленные компьютеры в вашей локальной сети, ее кстати графическим аналогом выступает утилита TCPView.

Использование утилиты Angry IP Scanner

Angry IP Scanner — это бесплатное решение по сканированию портов компьютера или сервера.

Скачать утилиту https://angryip.org/

Обращаю внимание, что для работы приложения у вас должна быть установлена Java на компьютере, где будите производить запуск вашего порт-сканера, иначе не заработает ничего

Установка Angry IP Scanner очень тривиальная ,на этом я останавливаться не буду, от вас потребуется везде нажать далее. Открываем ваш сканер портов. Я это буду делать на своем тестовом контроллере домена. Когда вы откроете свой сканер портов, у вас будет форма выбора диапазона IP адресов в вашей локальной сети. Так же вы можете указать список адресов из текстового файла.

Структура такого файла представлена на картинке, тут ip-адреса идут с новой строки.

Если вы сканируете порты у целой подсети, то вам нужно указать ее префикс (Маску). После чего нажимаем «Старт».

Наш сканер открытых портов начнет планомерно проверять каждого участника. Цветовое обозначение узлов:

  • Синий цвет означает, что данный хост доступен, но для него не заданы порты сканирования, об этом так же говорит статус «Ports n/s (Not/Scan)»
  • Зеленый цвет, что хост доступен и для него определены порты для сканирования
  • Красный цвет — не доступен

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

У вас в столбце Ports изменится значение, нажимаем кнопку «Старт».

Начинается процесс обращения к портам, хочу отметить, что сама процедура не быстрая и идет в 100 потоков, но так же у каждой операционной системы свои лимиты и тайминги. В итоге вы увидите в столбце Ports список портов, которые прослушивает ip адрес сервера, к которому было обращение. Мы таким образом определяли порты Active Directory. Angry IP Scanner имеет и дополнительные встроенные утилиты, кликните правым кликом по нужному хосту и из пункта «Открыть» вы можете увидеть их:

  • Windows Shares — будет открыт проводник с сетевыми шарами сервера
  • Web Browser — откроет в браузере 80 порт для данного хоста
  • FTP — попробует подключиться к FTP
  • Telnet
  • Ping — будет открыта командная строка в которой будет запущен пинг
  • Trace route — запуск в командной строке утилиты tracert
  • Geo Locate
  • Email sample

Еще интересным моментом у Angry IP Scanner может выступать добавление дополнительных полей. Для этого нажмите кнопку в виде параллельных палочек. В открывшемся окне с помощью стрелок переместите нужные поля. Я для примера добавил TTL и MAC Address.

При необходимости программа сканера портов легко может экспортировать полученные данные в текстовый файл для дальнейшего изучения. Сделать это можно из меню «Сканирование» или нажатие клавиш Ctrl+S.

Отчет будет выглядеть вот в такой форме.

Использование утилиты Advanced Port Scanner

Advanced Port Scanner — это бесплатный сканер открытых портов, умеющий строить хорошие отчеты по найденным результатам.

Скачать Advanced Port Scanner можно с официального сайта https://www.advanced-port-scanner.com/ru/

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

Установка утилита Advanced Port Scanner так же проста и незамысловата, мы ее пропусти. Открываем ваш сканер портов компьютера.  Задаем диапазон ip-адресов для поиска, указываем необходимый диапазон портов и нажимаем кнопку «Сканировать».

Advanced Port Scanner работает быстрее Angry IP Scanner, в результате данный сканер нашел 4 компьютера со списком прослушиваемых портов, и самое классное, что есть сводная таблица по конкретному порту и отвечаемой на нем службе.

Вы легко можете экспортировать данный отчет, либо в txt формат или же в html.

Advanced Port Scanner имеет встроенные сетевые утилиты:

Лично мне данный сканер открытых портов нравится больше, чем Angry IP Scanner.

Онлайн-проверка порта UDP

— Открытый порт

OpenPort UDP Port Checker Online Инструмент может проверять, открыт или закрыт порт UDP . Чтобы использовать инструмент, вам нужно будет установить удаленную цель и порт. Удаленная цель может быть IP-адресом или именем хоста / домена.

Это бета-версия, и все еще тестируется поддержка только IPv4 . Мы работаем над добавлением поддержки IPv6 UDP Port check . Если вы обнаружили ошибку, используйте страницу контактов, чтобы сообщить.Спасибо за это.


Некоторый известный порт UDP:

Вот 3 известных UDP порта, которые вы можете проверить с помощью UDP Port Checker tool .

  • 53 — Система доменных имен (DNS).
  • 67 — Сервер протокола динамической конфигурации хоста (DHCP) и протокола начальной загрузки (BOOTP)
  • 111 — Вызов удаленных процедур открытых сетевых вычислений (RCP).

Проверка порта UDP онлайн | Изображение user1518572209 с сайта Pixabay

Что такое UDP?

Протокол дейтаграмм пользователя — UDP является одним из основных интернет-протоколов.UDP использует механизм без установления соединения для передачи данных с использованием пакета дейтаграммы. Он предоставляет контрольную сумму для проверки данных и может работать с выбранным номером порта.

UDP работает быстрее, но перед выбором модели UDP необходимо учесть некоторые моменты. Приложению может потребоваться проверка ошибок, поскольку нет никаких гарантий (как в TCP). Ему также необходимо будет проверить, какой пакет прибывает первым, чтобы правильно его заказать, то есть добавить счетчик к пакету.

Средство проверки портов UDP:

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

Это не быстрый инструмент для сканирования портов, но он может быть полезен при проверке статуса порта UDP.

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

Что такое сканер портов и как он работает?

Сканер портов — это компьютерная программа, которая проверяет сетевые порты на один из трех возможных состояний — открыт, закрыт или отфильтрован.

Сканеры портов

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

Получите бесплатное тестирование на проникновение в средах Active Directory EBook

«Это действительно открыло мне глаза на безопасность AD, чего никогда не делала защита».

Как работает сканер портов?

Сканер портов отправляет сетевой запрос на подключение к определенному порту TCP или UDP на компьютере и записывает ответ.

Итак, сканер портов отправляет пакет сетевых данных в порт для проверки текущего статуса.Если вы хотите проверить, правильно ли работает ваш веб-сервер, вы должны проверить состояние порта 80 на этом сервере, чтобы убедиться, что он открыт и прослушивает.

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

Что такое порт?

Порт — это виртуальное место, где начинается и заканчивается сетевое взаимодействие (в двух словах). Для более глубокого объяснения нам нужно установить небольшую справочную информацию.На каждом компьютере есть два типа сетевых портов (65 536 каждого, всего 131 082 сетевых порта):

У каждого компьютера есть IP-адрес, по которому сеть узнает, на какой компьютер отправлять пакеты. Если вы отправляете пакет на IP-адрес, компьютер знает, на какой порт направить пакет, в зависимости от приложения или содержимого пакета. Каждая служба, запущенная на компьютере, должна «прослушивать» назначенный порт.

Первые 1023 порта TCP — это хорошо известные порты, зарезервированные для таких приложений, как FTP (21), HTTP (80) или SSH (22), и Internet Assigned Numbers Authority (IANA) резервирует эти точки для их стандартизации.

TCP-порты 1024–49151 доступны для использования службами или приложениями, и вы можете зарегистрировать их в IANA, поэтому они считаются частично зарезервированными. Порты 49152 и выше можно использовать бесплатно.

Основы сканирования портов

Сканер портов отправляет сетевой пакет TCP или UDP и запрашивает порт об их текущем состоянии. Ниже приведены три типа ответов:

  1. Открыто, принято : компьютер отвечает и спрашивает, может ли он что-нибудь для вас сделать.
  2. Closed, Not Listening : компьютер отвечает, что «этот порт в настоящее время используется и недоступен».
  3. Filtered, Dropped, Blocked : компьютер даже не пытается ответить.

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

Методы сканирования портов

Nmap — один из самых популярных инструментов сканирования портов с открытым исходным кодом. Nmap предоставляет несколько различных методов сканирования портов для различных сценариев.

Сканер Ping

Самым простым сканированием портов является сканирование ping. Пинг — это эхо-запрос протокола управляющих сообщений Интернета (ICMP) — вы ищете любые ответы ICMP, которые указывают на то, что цель активна. Ping-сканирование — это автоматическая отправка множества эхо-запросов ICMP различным целям, чтобы увидеть, кто ответит.Сканирование Ping технически не является техникой сканирования портов, поскольку лучшее, что вы можете получить обратно, — это наличие компьютера на другом конце, но это связано и обычно является первой задачей перед сканированием портов.

Администраторы обычно отключают ICMP (ping) либо на брандмауэре, либо на маршрутизаторе для внешнего трафика и оставляют его открытым внутри сети. Эту функцию можно быстро и легко отключить и таким образом сделать невозможным сканирование сети. Однако ping — полезный инструмент для устранения неполадок, и его отключение немного затрудняет отслеживание сетевых проблем.

TCP Half Open

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

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

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

Любые ответы SYN-ACK, возможно, являются открытыми портами. Ответ RST (сброс) означает, что порт закрыт, но здесь есть рабочий компьютер. Отсутствие ответов указывает на то, что SYN фильтруется в сети. Отсутствие ответа ICMP (или ping) также считается отфильтрованным ответом.

Полуоткрытое сканирование TCP — это сканирование по умолчанию в протоколе NMAP.

TCP подключение

Этот метод сканирования портов в основном аналогичен сканированию TCP Half-Open, но вместо того, чтобы оставлять цель зависшей, сканер портов завершает TCP-соединение.

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

Целевые системы с большей вероятностью будут регистрировать полное TCP-соединение, а системы обнаружения вторжений (IDS) с большей вероятностью будут инициировать тревогу на нескольких TCP-соединениях с одного и того же хоста.

Преимущество сканирования TCP-соединения состоит в том, что пользователю не нужен такой же уровень привилегий для запуска, как для запуска Half-open scan.Сканирование TCP-соединения использует протоколы соединения, необходимые любому пользователю для подключения к другим системам.

UDP

Сканирование

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

Сканирование

UDP работает лучше всего, когда вы отправляете определенную полезную нагрузку на цель. Например, если вы хотите узнать, работает ли DNS-сервер, вы должны отправить DNS-запрос.Для других портов UDP пакет отправляется пустым. Ответ ICMP о недоступности означает, что порт закрыт или отфильтрован. Если запущена служба, вы можете получить ответ UDP, что означает, что порт открыт. Отсутствие ответа может означать, что порт открыт или отфильтрован.

Еще одно логическое использование сканирования UDP — это отправить DNS-запрос на UDP-порт 53 и посмотреть, получите ли вы ответ DNS. Если вы все же получили ответ, значит, на этом компьютере есть DNS-сервер. Сканирование UDP может быть полезно для поиска активных служб таким образом, а сканер портов Nmap предварительно настроен для отправки запросов для многих стандартных служб.

Разница между TCP и UDP

TCP и UDP — два наиболее распространенных протокола, используемых в сетях Интернет-протокола (IP). Протокол управления передачей (TCP) — это хороший упорядоченный протокол транзакций: TCP отправляет каждый пакет по порядку, в комплекте с проверкой ошибок, проверкой и трехсторонним рукопожатием для подтверждения успешности каждого пакета.

UDP не проверяет ошибки, но работает быстрее. По этой причине для потокового вещания и онлайн-видеоигр часто используется протокол UDP.UDP — это протокол без установления соединения, поэтому программы, использующие UDP, просто отправляют данные — и если вы пропустите пакет, вы никогда не получите его снова.

Скрытое сканирование

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

Когда вы отправляете сканирование порта с пакетом и флагом FIN, вы отправляете пакет, не ожидая ответа. Если вы все же получили RST, вы можете предположить, что порт закрыт.Если вы ничего не получаете обратно, это означает, что порт открыт. Межсетевые экраны ищут пакеты SYN, поэтому пакеты FIN проходят незамеченными.

Сканирование X-MAS отправляет пакет с флагами FIN, URG и PUSH и ожидает ответа RST или отсутствия ответа, как и сканирование FIN. У этого сканирования нет особого практического применения, но он действительно делает пакет похожим на рождественскую елку, так что вот оно.

Вы также можете отправлять пакеты без флагов, называемые NULL-пакетами, и ответом является либо RST, либо ничего.

Для хакера это хорошо то, что обычно они не отображаются в журналах. Более новое программное обеспечение для обнаружения вторжений (IDS) и, конечно же, WireShark улавливают эти сканирования. Плохая новость заключается в том, что если целью является ОС Microsoft, вы увидите только закрытые порты, но если вы обнаружите открытый порт, вы можете предположить, что это не машина с Windows. Самым значительным преимуществом использования этих флагов является то, что они могут проскользнуть через брандмауэры, что делает результаты более надежными.

Дополнительные методы сканирования

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

  • Сканирование TCP ACK : для сопоставления наборов правил брандмауэра
  • TCP Window Scan : может отличать открытые порты от закрытых портов, но работает только в меньшинстве систем
  • –scanflags : для опытных пользователей, которые хотят отправлять свои собственные флаги TCP при сканировании, вы можете сделать это в Nmap
  • .

  1. Nmap
  2. Сканер портов Solarwinds
  3. Netcat
  4. Расширенный сканер портов
  5. Инструменты NetScan

Как обнаружить сканирование портов?

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

One — это специальное программное приложение для обнаружения сканирования портов, такое как PortSentry или Scanlogd.

Netcat включает функцию сканирования портов, а также возможность создавать простой чат-сервер или программировать различные пакеты для целей тестирования.

Системы обнаружения вторжений (IDS) — еще один способ обнаружения сканирования портов. Ищите систему IDS, которая использует широкий спектр правил для обнаружения различных видов сканирования портов, не основанных только на пороговых значениях.

Почему следует запускать сканирование портов?

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

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

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

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

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

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

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

Посетите нашу лабораторию Live Cyber ​​Attack, чтобы узнать, как Varonis защищает данные от различных атак.

UDP Scan (-sU) | Nmap Network Scanning

В то время как большинство популярных сервисов в Интернете работают через TCP
протокол, сервисы UDP
широко распространены.DNS, SNMP и DHCP
(зарегистрированные порты 53, 161/162 и 67/68) — три самых
общий.

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

UDP-сканирование активируется с помощью опции -sU . Это
может сочетаться с типом сканирования TCP, таким как сканирование SYN
( -sS ) для проверки обоих протоколов во время одного
бег.

UDP-сканирование работает путем отправки UDP-пакета каждому
целевой порт. Для большинства портов этот пакет будет пустым (без полезной нагрузки),
но для некоторых из наиболее распространенных портов полезная нагрузка, зависящая от протокола, будет
быть отправленным.
На основании ответа или его отсутствия порт
присвоено одному из четырех состояний, как показано на
Таблица 5.3.

Таблица 5.3. Как Nmap интерпретирует ответы на зонд UDP

9026 получено (даже после повторных передач)

Ответ зонда Назначенное состояние
Любой ответ UDP от целевого порта (необычный) открытый

Нет

открыто | отфильтровано
Ошибка недоступности порта ICMP (тип 3, код 3) закрыто
Другие ошибки недоступности ICMP (тип 3, код 1, 2, 9, 10 или 13) отфильтровано

Самым любопытным элементом этой таблицы может быть
открыто | отфильтровано состояние .Это симптом
самые большие проблемы со сканированием UDP: открытые порты редко отвечают на пустые
зонды. Те порты, для которых Nmap имеет полезную нагрузку, зависящую от протокола:
скорее всего получат ответ и будет помечен как открытый , но
в остальном целевой стек TCP / IP просто передает пустой пакет вверх
к прослушивающему приложению, которое обычно отбрасывает его
сразу как недействительный. Если порты во всех других государствах ответят,
тогда все открытые порты можно вывести путем исключения. К несчастью,
брандмауэры и фильтрующие устройства также известны
отбрасывать пакеты без ответа.Поэтому, когда Nmap не получает ответа после
несколько попыток, он не может определить, является ли порт
открыт или отфильтрован . Когда Nmap был
выпущены, фильтрующие устройства были достаточно редки, чтобы Nmap мог (и сделал)
просто предположим, что порт был открыт . Интернет
теперь лучше охраняется, поэтому Nmap изменился в 2004 г. (версия
3.70), чтобы сообщить о не отвечающих портах UDP как
открыто | вместо этого отфильтровано . Мы видим, что в примере 5.4, где показано сканирование Ereet
Ящик Linux по имени Феликс.

Пример 5.4. Пример сканирования UDP

 krad #   nmap -sU -v felix  

Запуск Nmap (http://nmap.org)
Отчет о сканировании Nmap для felix.nmap.org (192.168.0.42)
(997 портов, просканированных, но не показанных ниже, находятся в состоянии: закрыты)
ПОРТОВАЯ ГОСУДАРСТВЕННАЯ СЛУЖБА
53 / udp open | отфильтрованный домен
67 / udp open | dhcpserver отфильтрован
111 / udp open | отфильтрованный rpcbind
MAC-адрес: 00: 02: E3: 14: 11: 02 (Lite-on Communications)

Выполнено Nmap: 1 IP-адрес (1 хост активен) просканировано в 999.25 секунд
 

Это сканирование Феликса демонстрирует
открыто | отфильтровано проблема неоднозначности, а также другая
проблема: сканирование UDP может быть медленным . Сканирование
В этом случае тысяча портов заняла почти 17 минут из-за ограничения скорости ответа ICMP, выполняемого Felix и большинством других систем Linux. Nmap предоставляет
способы решения обеих проблем, как описано в следующих двух разделах.

Отличие открытых портов UDP от фильтрованных

В случае сканирования Феликса все, кроме трех
открытых | отфильтрованных портов было закрыто .Таким образом, сканирование все еще успешно сужало потенциально открытые
порты в горстку. Это не всегда так. В примере 5.5 показано сканирование UDP по сравнению с
сильно отфильтрованный сайт Scanme.

Пример 5.5. Пример сканирования UDP

 krad #   nmap -sU -T4 scanme.nmap.org  

Запуск Nmap (http://nmap.org)
Все 1000 просканированных портов на scanme.nmap.org (64.13.134.52) открыты | фильтруются

Выполнено Nmap: 1 IP-адрес (1 хост включен) просканирован за 5,50 секунды
 

В этом случае сканирование вообще не сузило открытые порты.Все 1000 - это открытых | отфильтровано . Новая стратегия
призвал к.

Таблица 5.3, «Как Nmap интерпретирует ответы на зонд UDP» показывает
что состояние open | отфильтровано возникает при сбое Nmap
для получения любых ответов от своих UDP-зондов на конкретный порт.
Тем не менее, это также показывает, что в редких случаях служба UDP
прослушивание порта ответит тем же, доказывая, что порт
открытым. Причина, по которой эти службы не отвечают часто, заключается в том, что пустой
пакеты, отправленные Nmap, считаются недействительными.К сожалению, сервисы UDP
обычно определяют свою собственную структуру пакета, а не придерживаются
какой-то общий общий формат, который Nmap всегда может отправить. SNMP
пакет выглядит совершенно иначе, чем запрос SunRPC, DHCP или DNS
пакет.

Чтобы отправить правильный пакет для каждой популярной службы UDP, Nmap
потребуется большая база данных, определяющая их форматы зондов.
К счастью, в Nmap это есть в виде
nmap-service-зонды ,
который является частью службы и
Подсистема определения версий, описанная в главе 7, Определение версии службы и приложения .

Если сканирование версий включено с помощью -sV (или
-A ), он будет отправлять зонды UDP на каждый
открытый | отфильтрованный порт (а также известный
открытых шт.). Если какой-либо из зондов вызывает ответ от порта открытый | отфильтрованный , состояние
поменял на открыть . Результаты добавления
-sV для сканирования Феликса показаны в Примере 5.6.

Пример 5.6. Улучшение результатов сканирования UDP Феликса с помощью определения версии

 krad #   nmap -sUV -F felix.nmap.org  

Запуск Nmap (http://nmap.org)
Отчет о сканировании Nmap для felix.nmap.org (192.168.0.42)
Не показано: 997 закрытых портов
ВЕРСИЯ ГОСУДАРСТВЕННОЙ СЛУЖБЫ ПОРТА
53 / udp открытый домен ISC BIND 9.2.1
67 / udp open | dhcpserver отфильтрован
111 / udp открыть rpcbind 2 (rpc # 100000)
MAC-адрес: 00: 02: E3: 14: 11: 02 (Lite-on Communications)

Выполнено Nmap: 1 IP-адрес (1 хост активен) просканирован за 1037,57 секунд
 

Это новое сканирование показывает, что порты 111 и 53 определенно открыты.Однако система не идеальна - порт 67 по-прежнему
открыто | отфильтровано . В данном случае порт
открыт, но Nmap не имеет рабочей версии протокола DHCP.
Еще одна сложная услуга - это SNMP, который обычно отвечает только тогда, когда
дается правильная строка сообщества. Многие устройства настроены с
строка сообщества общедоступная , но не все.
Хотя эти результаты не идеальны, изучение истинного состояния двух
из трех протестированных портов все еще полезен.

После успеха в устранении неоднозначности результатов Феликса,
Ereet
снова обращает внимание на Scanme, который в прошлый раз перечислил все порты как открытые | отфильтрованные .Он снова пытается определить версию, как показано в Примере 5.7.

Пример 5.7. Улучшение результатов сканирования UDP в Scanme с помощью определения версии

 krad #   nmap -sUV -T4 scanme.nmap.org  

Запуск Nmap (http://nmap.org)
Отчет о сканировании Nmap для scanme.nmap.org (64.13.134.52)
Не показано: 999 открытых | отфильтрованных портов
ВЕРСИЯ ГОСУДАРСТВЕННОЙ СЛУЖБЫ ПОРТА
53 / udp открытый домен ISC BIND 9.3.4

Выполнено Nmap: 1 IP-адрес (1 хост активен) просканирован за 3691,89 секунды
 

Совет

Хотя Эрит в конце концов нашел открытый порт, он сделал ошибку, не обновив сначала свою версию Nmap.Nmap версии 5.10BETA1 и новее имеет систему полезной нагрузки, которая отправляет запросы надлежащего протокола службы более чем трем дюжинам хорошо известных портов UDP, если они выбраны для сканирования портов или обнаружения хоста. Хотя это не так полно, как определение версии, оно быстро идентифицировало бы открытый порт 53 в Примере 5.5.

Этот результат занял час по сравнению с пятью секундами для предыдущего
Scanme сканирует, но эти результаты действительно полезны. Улыбка Эрит
расширяется, и глаза сверкают при этом свидетельстве открытого ISC BIND
сервер имен на машине, которую он хочет скомпрометировать.Это программное обеспечение давно
история дыр в безопасности, так что, возможно, он сможет найти изъян в этом
последняя версия.

Эрит сосредоточит свои UDP-атаки на 53-м порту, так как он
подтвердил открытие, но он не забывает о других 999 портах, перечисленных как
открыто | отфильтровано . Как мы видели с
порт dhcpserver на Felix, некоторые открытые службы UDP могут скрыть даже
из определения версии Nmap. Он также просканировал только порты по умолчанию, поэтому
На данный момент есть еще 64529 других, которые могут быть открыты.Для
запись, 53 - единственный открытый порт UDP на Scanme.

Хотя этот метод определения версии - единственный способ для Nmap
для автоматического устранения неоднозначности открытых | отфильтрованных портов ,
есть пара приемов, которые можно попробовать вручную. Иногда
специализированный traceroute может помочь. Вы можете провести трассировку против
известный открытый порт TCP или UDP с помощью Nmap или такого инструмента, как
Nping.
Тогда попробуйте то же самое против
сомнительный порт UDP. Различия в количестве хмеля могут
отличать открытые порты от фильтрованных.Ereet пытается это против
Scanme в примере 5.8. Первая команда выполняет трассировку UDP для
известный-открытый порт 53. Вторая команда делает то же самое с
Предположительно закрытый порт 54. Первые несколько переходов опущены для экономии места.

Пример 5.8. Попытка устранить неоднозначность портов UDP с несовпадениями TTL

 krad #   nping --udp --traceroute -c 13 -p 53 scanme.nmap.org  

Запуск Nping (http://nmap.org/nping)
ОТПРАВЛЕН (7.0370s) UDP 192.168.0.21: 53> 64.13.134.52:53 ttl = 8 id = 4826 iplen = 28
RCVD (7.1010s) ICMP 4.69.134.222> 192.168.0.21 TTL = 0 во время передачи (тип = 11 / код = 0) ttl = 248 id = 38454 iplen = 56
ОТПРАВЛЕНО (8.0400 с) UDP 192.168.0.21:53> 64.13.134.52:53 ttl = 9 id = 38166 iplen = 28
RCVD (8,1050 с) ICMP 4.68.18.204> 192.168.0.21 TTL = 0 во время передачи (тип = 11 / код = 0) ttl = 247 id = 39583 iplen = 56
ОТПРАВЛЕНО (9.0420 с) UDP 192.168.0.21:53> 64.13.134.52:53 ttl = 10 id = 6788 iplen = 28
RCVD (9.1080s) ICMP 4.59.4.78> 192.168.0.21 TTL = 0 во время передачи (type = 11 / code = 0) ttl = 246 id = 59897 iplen = 56
ОТПРАВЛЕН (10.0440s) UDP 192.168.0.21:53> 64.13.134.52:53 ttl = 11 id = 366 iplen = 28
RCVD (10.1100 с) ICMP 69.36.239.221> 192.168.0.21 TTL = 0 во время передачи (тип = 11 / код = 0) ttl = 243 id = 42710 iplen = 56
SENT (11.0470s) UDP 192.168.0.21:53> 64.13.134.52:53 ttl = 12 id = 63478 iplen = 28
ОТПРАВЛЕНО (12.0490 с) UDP 192.168.0.21:53> 64.13.134.52:53 ttl = 13 id = 56653 iplen = 28

Макс. Rtt: 73.003 мс | Мин. RTT: 0,540 мс | Средняя RTT: 48,731 мс
Отправлено сырых пакетов: 13 (364B) | ЖК: 10 (560B) | Проиграл: 3 (23,08%)
Tx time: 12.02836s | Tx байт / с: 30.26 | Передача пакетов / с: 1.08
Время приема: 13.02994с | Rx байт / с: 42.98 | Прием пакетов / с: 0,77
Выполнено nping: 1 IP-адрес проверяется за 13,05 секунды

крад #   nping --udp --traceroute -c 13 -p 54 scanme.nmap.org  

Запуск Nping (http://nmap.org/nping)
ОТПРАВЛЕНО (7.0370 с) UDP 192.168.0.21:53> 64.13.134.52:54 ttl = 8 id = 56481 iplen = 28
RCVD (7.1130s) ICMP 4.69.134.214> 192.168.0.21 TTL = 0 во время передачи (type = 11 / code = 0) ttl = 248 id = 22437 iplen = 56
ОТПРАВЛЕН (8.0400 с) UDP 192.168.0.21:53> 64.13.134.52:54 ttl = 9 id = 23264 iplen = 28
RCVD (8.1060s) ICMP 4.68.18.76> 192.168.0.21 TTL = 0 во время передачи (type = 11 / code = 0) ttl = 247 id = 50214 iplen = 56
SENT (9.0430s) UDP 192.168.0.21:53> 64.13.134.52:54 ttl = 10 id = 9101 iplen = 28
RCVD (9.1070s) ICMP 4.59.4.78> 192.168.0.21 TTL = 0 во время передачи (type = 11 / code = 0) ttl = 246 id = 880 iplen = 56
ОТПРАВЛЕНО (10.0450 с) UDP 192.168.0.21:53> 64.13.134.52:54 ttl = 11 id = 35344 iplen = 28
RCVD (10.1110s) ICMP 69.36.239.221> 192.168.0.21 TTL = 0 во время передачи (тип = 11 / код = 0) ttl = 243 id = 44617 iplen = 56
ОТПРАВЛЕНО (11.0470s) UDP 192.168.0.21:53> 64.13.134.52:54 ttl = 12 id = 53857 iplen = 28
ОТПРАВЛЕНО (12.0490 с) UDP 192.168.0.21:53> 64.13.134.52:54 ttl = 13 id = 986 iplen = 28

Макс RTT: 76,488 мс | Мин. RTT: 0,546 мс | Средняя RTT: 48,480 мс
Отправлено сырых пакетов: 13 (364B) | ЖК: 11 (616B) | Проиграл: 2 (15,38%)
Tx time: 12.02908s | Tx байт / с: 30,26 | Передача пакетов / с: 1.08
Время приема: 13.03165с | Rx байт / с: 47.27 | Прием пакетов / с: 0,84
Выполнено nping: 1 IP-адрес проверяется за 13,05 секунды
 

В этом примере
Ereet
смог достичь только одиннадцатого прыжка из обоих
открытые и закрытые порты.Таким образом, эти результаты нельзя использовать для
различать состояния порта относительно этого хоста. Стоило попробовать, и
действительно работает в значительном количестве случаев. Скорее сработает
в ситуациях, когда скрининг
межсетевой экран
находится по крайней мере на один или два шага до целевого хоста. Scanme, с другой стороны
рука, работает под собственным Linux
iptables
брандмауэр на основе хоста. Таким образом, нет никакой разницы в количестве переходов
между фильтруемыми и открытыми портами.

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

Другая большая проблема при сканировании UDP - это быстрое сканирование.
Открытые и отфильтрованные порты редко отправляют ответ, оставляя Nmap на время
а затем провести ретрансляцию на случай, если зонд или
ответ были потеряны.Закрытые порты часто являются еще большей проблемой.
Обычно они отправляют обратно сообщение об ошибке недоступности порта ICMP. Но в отличие от
Пакеты RST, отправленные закрытыми портами TCP в ответ на SYN или соединение
сканирование, многие хосты по умолчанию ограничивают скорость сообщений о недоступности порта ICMP.
Linux и Solaris особенно строги
это.
Например,
Ядро Linux 2.4.20 на Felix ограничивает количество сообщений о недоступности адресата до одного для каждого.
второй (в net / ipv4 / icmp.c ). Это объясняет, почему
сканирование в Примере 5.4, «Пример сканирования UDP» очень медленное.

Nmap обнаруживает ограничение скорости и соответственно замедляется, чтобы избежать
наводнение сети бесполезными пакетами, которые целевая машина будет
уронить. К сожалению, ограничение в один пакет в секунду в стиле Linux
делает сканирование 65 536 портов более 18 часов. Вот некоторые
предложения по повышению производительности сканирования UDP. Также прочтите главу 6 «Оптимизация производительности Nmap » для более подробного обсуждения и общих советов.

Увеличить параллелизм хоста

Если Nmap получает только один порт недоступен, ошибка
от одного целевого хоста в секунду он мог получать 100 в секунду
просто просканировав сразу 100 таких хостов.Реализуйте это, передав
большое значение (например, 100) для

--min-hostgroup .

Сначала сканировать популярные порты

Обычно используются очень немногие номера портов UDP. Сканирование
из 100 наиболее распространенных портов UDP (с использованием -F
вариант) закончим быстро. Затем вы можете исследовать эти
результаты, пока вы запускаете многодневное сканирование 65K-портов сети
на заднем фоне.

Добавьте --version-depth 0 к сканированию обнаружения версии

Как упоминалось в предыдущем разделе, версия
обнаружение ( -sV ) часто требуется для дифференциации
открываться с отфильтрованных портов UDP.Обнаружение версии происходит относительно медленно
так как это предполагает отправку большого количества заявок
датчики протокола на каждые открытых
или открыт | отфильтровано порт найден на цели
машины. Задание - интенсивность версии 0
предписывает Nmap пробовать только те зонды, которые наиболее эффективны
по заданному номеру порта. Для этого используются данные из
файл nmap-service-probes . Производительность
влияние этого варианта существенно, как будет продемонстрировано позже.
в этой секции.

Сканирование из-за брандмауэра

Как и в случае TCP, фильтры пакетов могут замедлять сканирование
резко. Многие современные межсетевые экраны позволяют устанавливать ограничения скорости передачи пакетов.
легкий. Если вы можете обойти эту проблему, запустив сканирование из
за брандмауэром, а не через него, сделайте
так.

Используйте --host-timeout для пропуска медленных хостов

Хосты с ограниченной скоростью ICMP могут занимать несколько порядков
больше времени на сканирование, чем у тех, которые отвечают на каждый зонд с помощью
пакет быстрого назначения недоступен.Указание максимального сканирования
времени (например, 15 минут в течение 15 минут) заставляет Nmap отказаться от
отдельные хосты, если он не завершил сканирование их в таком количестве
время. Это позволяет быстро сканировать все отвечающие хосты.
Затем вы можете работать с медленными хостами в фоновом режиме.

Используйте -v и расслабьтесь

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

Прекрасным примером необходимости оптимизации сканирования UDP является
Пример 5.7, «Улучшение результатов сканирования UDP в Scanme с помощью определения версии». Сканирование получено
нужные данные, но сканирование этого хоста заняло больше часа!
В примере 5.9
Эрит запускает это сканирование
опять таки. На этот раз он добавляет -F --version-density 0
варианты и часовое сканирование сокращено до 13 секунд! Тем не менее то же самое
ключевая информация (демон ISC Bind, работающий на порту 53):
обнаружен.

Пример 5.9. Оптимизация времени сканирования UDP

 krad #   nmap -sUV -T4 -F --version-density 0 scanme.nmap.org  

Запуск Nmap (http://nmap.org)
Отчет о сканировании Nmap для scanme.nmap.org (64.13.134.52)
Не показано: 99 открытых | отфильтрованных портов
ВЕРСИЯ ГОСУДАРСТВЕННОЙ СЛУЖБЫ ПОРТА
53 / udp открытый домен ISC BIND 9.3.4

Выполнено Nmap: 1 IP-адрес (1 хост активен) просканирован за 12,92 секунды
 

Сканирование портов UDP с простым онлайн-тестированием

Онлайн-сканирование UDP-порта доступно для общих служб UDP.Сканирование UDP-портов входит в набор инструментов сетевого тестирования IP Tools. В тесте используется превосходный сканер портов Nmap для сканирования 5 наиболее распространенных портов UDP.

Порты, протестированные при быстром сканировании UDP: DNS 53 , TFTP 69 , NTP 123 , SNMP 161 , mDNS 5353 , UPNP 1900 и Memcached 11211 .

С действующим членством играйте на следующем уровне на нашем полнофункциональном онлайн-сканере портов Nmap .

Общие службы UDP

53 DNS Система доменных имен - одна из самых распространенных служб UDP.Он сопоставляет имена хостов с IP-адресами. DNS - это основная часть системы Интернет.
123 NTP Network Time Protocol позволяет компьютерам в Интернете отслеживать время. Совместная работа компьютеров помогает, если они могут следить за точным временем.
161 SNMP Simple Network Management Protocol - это протокол мониторинга и настройки, обычно используемый для мониторинга производительности системы и использования интерфейса.При неправильном управлении протокол SNMP может стать серьезной уязвимостью в системе безопасности.
5353 м DNS Multicast Domain Name System, этот протокол представляет собой реализацию DNS для использования в локальных сетях. Он использует многоадресную рассылку для преобразования имен хостов в IP-адреса, когда нет настроенного DNS-сервера. Не то, что вы ожидаете увидеть в Интернете.
1900 UPNP Universal Plug and Play - это сетевой протокол, который был разработан для домашних и небольших сетей, чтобы позволить таким устройствам, как принтеры, устройства обмена данными и развлекательные устройства, взаимодействовать друг с другом.Кроме того, это не то, что вы ожидаете увидеть при прослушивании в системах с выходом в Интернет.

Общие сведения о сканировании портов UDP

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

При сканировании UDP-порта результаты могут быть неоднозначными. Не отвечающий порт может быть портом, защищенным брандмауэром, или это может быть служба, которая не распознала исходный пакет и поэтому не ответила.Другой вариант - закрытый порт отвечает сообщением о недоступности порта ICMP. Сообщения.

Ответы о недоступности другого порта ICMP могут указывать на наличие брандмауэра, поэтому, как вы видите, сканирование портов UDP может быть забавным.

Дополнительные сведения см. В приведенных ниже примерах Wireshark.

Знаете ли вы, что из-за ограничения скорости сообщений о недоступности порта ICMP в операционной системе сканирование Nmap всех 65535 портов может занять около 18 часов.

Атаки с отражением UDP и последствия для безопасности

Сканирование портов UDP

не должно игнорироваться тестировщиками, поскольку оно может сделать организацию уязвимой для ряда различных атак, в том числе уязвимых служб, которые могут привести к удаленному выполнению, или обычно атак отражения UDP на такие службы, как NTP и DNS. Понимание того, какие службы открываются через брандмауэр, является важной частью оценки уязвимости системы безопасности.

Протокол UDP не проверяет исходный IP-адрес.Злоумышленник может подделать IP-пакет, чтобы включить в него любой исходный IP-адрес. Подделывая IP-адрес источника и отправляя множество пакетов на несколько серверов UDP, злоумышленник выполняет распределенный отказ в обслуживании (DDOS). Коэффициент усиления зависит от протокола. В прошлом DNS и NTP были распространенными протоколами атак с усилением, но совсем недавно была обнаружена гораздо более разрушительная атака с усилением с использованием Memcached (udp-порт 11211).

Используя memcahced злоумышленники смогли получить коэффициент усиления от 10 000 до 50000 раз больше полезной нагрузки.Более подробную информацию о векторах усиления и портах можно найти в US Cert Advisory.

Примеры сканирования UDP-порта

Чтобы понять ответы на сканирование порта UDP, я просканировал свой локальный маршрутизатор с помощью telnet. Сканирование и ответы были захвачены с помощью Wireshark для отображения трафика UDP. Захваты были сделаны на локальном хосте, на котором выполнялось сканирование Nmap.

Сканирование порта 53

На моем роутере не работает DNS-сервер, порт фильтруется локальным брандмауэром.

 Запуск Nmap 7.31 (https://nmap.org) в 2017-03-31 12:17 AEDT
Отчет о сканировании Nmap для шлюза (192.168.1.1)
Хост работает (задержка 0,00030 с).
ПОРТОВАЯ ГОСУДАРСТВЕННАЯ СЛУЖБА
53 / udp open | отфильтрованный домен
MAC-адрес: 34: xx: F6: xx: A7: C8 (Неизвестно) 

Вы можете увидеть результат open | отфильтрованный в Nmap. Это связано с тем, что брандмауэр маршрутизатора отбрасывает UDP-пакет. На снимке не видно ответа.

Сканирование порта 5353

Multicast DNS работает на маршрутизаторе, как вы можете видеть в результате Nmap, показывающем открытый порт .

 Запуск Nmap 7.31 (https://nmap.org) в 2017-03-31 12:18 AEDT
Отчет о сканировании Nmap для шлюза (192.168.1.1)
Хост работает (задержка 0,00036 с).
ПОРТОВАЯ ГОСУДАРСТВЕННАЯ СЛУЖБА
5353 / UDP открыть zeroconf
MAC-адрес: 34: xx: F6: xx: A7: C8 (Неизвестно) 
Ответ

В захвате вы можете увидеть ответ от маршрутизатора, который отвечает, он возвращается на локальный хост на исходный порт 5353. Локальный хост не ожидает этого ответа, поэтому генерирует ICMP Port unreachable обратно на маршрутизатор.

Сканирование порта 99

Выбрав случайный порт на маршрутизаторе, который не фильтровался (UDP-порт 99) для целей тестирования, вы увидите, что маршрутизатор отвечает ICMP Port Unreachable , который Nmap интерпретирует как закрытый порт.

 Запуск Nmap 7.31 (https://nmap.org) в 2017-03-31 12:23 AEDT
Отчет о сканировании Nmap для шлюза (192.168.1.1)
Хост работает (задержка 0,00024 с).
ПОРТОВАЯ ГОСУДАРСТВЕННАЯ СЛУЖБА
99 / udp закрытая метаграмма
MAC-адрес: 34: xx: F6: xx: A7: C8 (Неизвестно) 
Ответ

В этом тесте захват Wireshark показывает сканирование и ответ ICMP, указывающий на закрытый порт.

Оцените риск и работайте над его снижением.

Снимите ограничения с полным членством.

Тестирование нового уровня с помощью расширенных сканеров уязвимостей.

Надежные инструменты. Размещено для легкого доступа.

: Глава 4. Сканирование IP-сети :: Оценка сетевой безопасности :: Сеть :: eTutorials.org

Поскольку UDP является протоколом без установления соединения, существует

есть только два способа эффективно перечислить доступные UDP-сети

услуг в IP-сети:

  • Отправить пробные пакеты UDP на все 65535 порты UDP, затем подождать

    «Порт назначения ICMP недоступен»

    сообщения для определения портов UDP, которые не

    доступный.

  • Используйте определенные клиенты службы UDP (например,

    snmpwalk , dig или

    tftp ) для отправки дейтаграмм UDP на целевой UDP

    сетевых служб и ждем положительного ответа.

Многие организации, заботящиеся о безопасности, фильтруют сообщения ICMP и

со своих хостов в Интернете, поэтому часто бывает трудно оценить

какие службы UDP доступны при простом сканировании портов. Если

«Порт назначения ICMP недоступен»

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

может быть предпринята для дедуктивной идентификации открытых портов UDP на цели

хосты.

Рисунки Рисунок 4-12 и Рисунок 4-13

показать пакеты UDP и ответы ICMP, сгенерированные хостами, когда порты

бывают открытыми и закрытыми.

Рисунок 4-12. Результат обратного сканирования UDP при открытом порту

Сканирование портов UDP - это перевернутый тип сканирования, при котором открытые порты

не отвечайте. Что ищут, в частности,

сообщения ICMP о недоступности порта назначения (тип 3, код 3) от

целевой хост, как показано на рисунке 4-13.

Рисунок 4-13. Результат обратного сканирования UDP при закрытии порта
4.3.1 Инструменты, выполняющие сканирование UDP-портов

nmap поддерживает сканирование портов UDP с

-sU вариант. Последний

версия Foundstone

SuperScan также поддерживает UDP

сканирование портов. Однако оба инструмента ждут отрицательного

«Порт назначения ICMP недоступен»

сообщения для идентификации открытых портов (т.е.е., те порты, которые

не отвечаю). Если эти сообщения ICMP фильтруются

брандмауэром, когда они пытаются покинуть целевую сеть,

получены неточные результаты.

В ходе комплексного аудита сетевого пространства в Интернете вы

должен отправлять созданные клиентские пакеты UDP популярным службам и ждать

положительный ответ. В

scanudp Утилита, разработанная

Fryxar (http://www.geocities.com/fryxar/) делает это

очень хорошо.

В примере 4-5 показан сканер scanudp .

утилита загружается, компилируется и запускается из моего запуска Linux

система против сервера Windows 2000 на

192.168.0.50.

Пример 4-5. Скачивание, сборка и запуск scanudp
 #  wget http://www.geocities.com/fryxar/scanudp_v2.tgz 

#  tar xvfz scanudp_v2.tgz 

scanudp /

scanudp / scanudp.c

scanudp / enum.c

scanudp / перечисление.час

scanudp / makefile

scanudp / enum.o

scanudp / scanudp.o

scanudp / scanudp

#  cd scanudp 

#  марка 

gcc enum.o scanudp.o -o scanudp

#  ./scanudp 

./scanudp v2.0 - автор: Fryxar

использование: ./scanudp [параметры] <хост>



параметры:

 -t  Установить тайм-аут сканирования порта

 -b  Установить максимальную пропускную способность

 -v Подробный



Поддерживаемый протокол:

echo daytime chargen dns tftp ntp ns-netbios snmp (ILMI) snmp (общедоступный)



№./ scanudp 192.168.0.50 

192.168.0.50 53

192.168.0.50 137

192.168.0.50 161 

5 лучших сканеров и проверок открытых портов

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

На практике использование порта выглядит примерно так: представьте, что на сервере одновременно запущены FTP-сервер и веб-сервер. Это нормальное и частое сочетание. Когда сервер получает входящий запрос, операционная система должна решить, отправлять ли запрос на FTP или веб-сервер. В этом случае порты будут определять, куда идет запрос, направляя запрос веб-сервера через порт 80 и запрос сервера FTP через порт 21.Номера портов задаются и соответствуют функции, за которую отвечает каждый порт.

Перейти к открытому списку сканеров портов и проверок >>>

Часто используемые порты

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

  • 20: Канал данных протокола передачи файлов (FTP).
  • 21: Канал управления протоколом передачи файлов (FTP).Командный порт.
  • 22: Безопасная оболочка (SSH). Протокол удаленного управления ОС.
  • 23: Telnet, или терминальная сеть, для текстового интерфейса реализации протокола в сети.
  • 25: простой протокол передачи почты (SMTP).
  • 37: Протокол времени.
  • 43: WHOIS. Протокол получения регистрации реквизитов для IP-адресов и доменных имен.
  • 53: Система доменных имен (DNS).
  • 67: Протокол динамической конфигурации хоста (DHCP).Динамический IP.
  • 69: Простой протокол передачи файлов (TFTP).
  • 79: Протокол пальца.
  • 80: Протокол передачи гипертекста (HTTP).
  • 88: Керберос.
  • 109: протокол почтового отделения v2 (POP2). Протокол для получения писем, версия вторая.
  • 110: протокол почтового отделения v3 (POP3). Протокол получения писем, версия третья.
  • 115: безопасный протокол передачи файлов (SFTP). Протокол для безопасной передачи данных.
  • 118: Службы SQL.
  • 123: протокол сетевого времени (NTP)
  • 143: Протокол доступа к сообщениям в Интернете (IMAP). Протокол на уровне приложения для доступа к электронной почте.
  • 161: простой протокол управления сетью (SNMP). Протокол для управления устройством.
  • 162: ловушка простого протокола управления сетью (SNMP).
  • 179: протокол пограничного шлюза (BGP).
  • 194: Интернет-чат с ретрансляцией (IRC).
  • 389: облегченный протокол доступа к каталогам (LDAP). Протокол прикладного уровня.
  • 443: безопасный протокол передачи гипертекста (HTTPS). Протокол HTTP с поддержкой шифрования.
  • 464: пароль сброса Kerberos.
  • 465: простой протокол передачи почты через SSL (SMTPS).
  • 514: Системный журнал.
  • 515: Демон построчного принтера (LPD). Протокол удаленной печати.
  • 530: удаленный вызов процедур (RPC).
  • 543: вход Kerberos.
  • 544: протокол управления потоком в реальном времени (RTSP).
  • 547: DHCPv6-сервер.
  • 993: Протокол доступа к Интернет-сообщениям через SSL (IMAPS).Протокол IMAP с поддержкой SSL-шифрования.
  • 995: протокол почтового отделения 3 через SSL (POP3S). Протокол POP3 с поддержкой шифрования SSL.
  • 1080: SOCKet Secure (SOCKS). Протокол для получения безопасного и анонимного доступа.
  • 3128: Прокси. Порт часто используется для прокси.
  • 3306: MySQL, для базы данных MySQL.
  • 3389: протокол удаленного рабочего стола (RDP) для Windows.
  • 5432: База данных Postgres (PostgreSQL).
  • 5900: виртуальные сетевые вычисления (VNC).Для удаленного доступа к рабочему столу.
  • 5938: TeamViewer, для системы дистанционного управления, для облегчения компьютерных данных и обмена данными.
  • 8080: HTTP / Интернет. Альтернативный порт протокола HTTP.

Что такое закрытые и открытые порты?

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

Зачем закрывать порт?

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

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

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

Чтобы закрыть порт, сначала необходимо определить открытые порты, которые могут подвергать вас риску. Здесь на помощь приходит средство проверки открытых портов или сканер открытых портов. Сканер портов и программы проверки портов имеют основополагающее значение для идентификации и раскрытия статуса порта, поэтому вы можете действовать в случае необходимости. Эти инструменты также могут помочь вам различать порты, которые необходимо открыть, чтобы сервер был доступен, и порты, которые можно безопасно закрыть.

Что такое средство проверки открытых портов по сравнению со сканером открытых портов?

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

Чтобы помочь вам выбрать инструмент проверки открытых портов, соответствующий вашим потребностям, чтобы вы могли надежно протестировать открытые порты, я составил список моих любимых программ для сканирования открытых портов и программ проверки открытых портов. Я обнаружил, что SolarWinds ® Engineer’s Toolset возглавляет рейтинг, поскольку он сочетает в себе объем функциональных возможностей с простотой использования и продуманным дизайном.Чтобы узнать, почему я пришел к такому решению, и как работают некоторые из моих других моих любимых инструментов проверки открытых портов и сканеров открытых портов, ознакомьтесь с моим списком ниже.

Мои любимые сканеры открытых портов и средства проверки открытых портов

Набор инструментов инженера SolarWinds

Если вы, как и я, предпочитаете не иметь множества инструментов, за которыми нужно следить, то SolarWinds Engineer's Toolset, вероятно, покажется находкой. Эта программа не только тестирует открытые порты - она ​​также предлагает набор из более чем 60 инструментов, каждый из которых вносит свой вклад в комплексное решение для мониторинга и управления сетью.Несмотря на такую ​​универсальность и масштабность, этот инструмент не экономит на качестве. Каждый инструмент полезен и ценен сам по себе. В совокупности эти 60 инструментов объединяют все необходимые возможности сетевого администратора, что делает его универсальным решением.

Набор инструментов инженера включает следующее:

  • Измерители использования полосы пропускания
  • Загрузчик конфигурации
  • Устройство загрузки конфигурации
  • Инструменты управления конфигурацией
  • ЦП
  • Монитор загрузки ЦП
  • Монитор ЦП
  • Сканер MAC-адресов
  • Монитор памяти
  • Инструмент реального времени NetFlow
  • Инструменты для мониторинга Ping
  • Инструмент для подметания Ping
  • Устройство сопоставления портов коммутатора
  • Инструмент TraceRoute

И многое другое - вы можете проверить список функций Engineer's Toolset здесь.Поскольку цель этого руководства - помочь вам найти инструмент для проверки открытых портов, я сосредоточусь на сканере открытых портов и инструменте проверки, входящем в состав Engineer's Toolset, а также на других утилитах, относящихся к процессу сканирования и проверки портов.

Этот инструмент может тестировать открытые порты, но он также может провести полную реконструкцию вашей сети, помогая вам идентифицировать любые потенциальные риски безопасности. Вы можете устранить проблемы с сетью. Инструмент сканирования открытых портов или инструмент проверки открытых портов может предоставить вам лишь небольшую ограниченную картину вашей сети, системы и процессов.Вот почему Engineer’s Toolset также включает браузер IP-сети. С помощью сканера портов эта утилита будет сканировать диапазоны IP-адресов, идентифицируя устройства, службы UDP и TCP. Это позволит вам увидеть, какие службы доступны и какие устройства подключены к сети.

Инструмент проверки открытого порта также сочетается с инструментами просмотра карты соседей и маршрутов, что позволяет лучше понять, как маршрутизируется ваша сеть. Существует также браузер SNMP MIB для запроса оборудования, управляемого SNMP, который позволяет просматривать атрибуты MIB, например конфигурации.Утилиты загрузчика конфигурации, средства просмотра, загрузки и сравнения также хорошо работают вместе со средством сканирования открытых портов, помогая вам управлять конфигурациями маршрутизатора и коммутатора.

В целом, причина того, что SolarWinds Engineer Toolset занимает такое высокое место в моем списке, заключается в том, что внутри него инструменты так эффективно координируются со сканером открытых портов и компонентом проверки. Также стоит упомянуть дизайн набора инструментов, поскольку он интеллектуальный и интуитивно понятный, с динамическими панелями мониторинга и удобной компоновкой.Если вы хотите опробовать Engineer’s Toolset, доступна полнофункциональная 14-дневная бесплатная пробная версия.

Сканер портов WhatIsMyIP

WhatIsMyIP наиболее известен как средство проверки общедоступных IP-адресов, но он предлагает ряд других инструментов. Сканер открытых портов WhatIsMyIP - это быстродействующий инструмент, который может обрабатывать несколько портов за считанные секунды. Отчасти это связано с тем, что инструмент является веб-интерфейсом, хотя это означает, что на его скорость может повлиять плохое подключение к Интернету.

Интересная особенность этого сканера портов заключается в том, что его можно использовать для сканирования по темам, также известным как пакеты. Каждый «пакет» содержит набор связанных портов. Например, пакет игр может использоваться для сканирования портов, связанных с текущими играми. Веб-пакет будет сканировать связанные с сетью порты, такие как HTTPS, HTTP и FTP (номера портов 8080, 80, 20 и 21 соответственно). Он также предлагает «вредоносный пакет», который может сканировать порты, обычно используемые в качестве шлюзов, для хакеров и вредоносных программ.Это полезная функция безопасности.

WhatIsMyIP также предлагает тест скорости интернета, поиск IP-адреса, поиск имени хоста IP-адреса, поиск IP WHOIS, проверку заголовков сервера, анализатор заголовков электронной почты, проверку черного списка, информацию пользовательского агента, поиск DNS и инструменты обратного просмотра DNS.

Сканер портов

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

IP-сканер Spiceworks

Spiceworks IP Scanner - это в первую очередь интерактивный веб-инструмент, но для его использования вам необходимо загрузить небольшой агент мониторинга на свое устройство. Этот агент отвечает за доставку собранных данных в облачную консоль, где вы можете просматривать результаты сканирования. Этот инструмент можно использовать с Linux, Mac OS и Windows.

Установить IP-сканер Spiceworks очень просто. Просто установите агент, создайте учетную запись и войдите в панель управления через браузер. Затем программа проведет сканирование, обнаружив каждое устройство, подключенное к вашей сети, и сообщит следующее:

  • MAC-адрес
  • Имя хоста
  • IP-адрес
  • Производитель
  • Операционная система
  • Открытые порты

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

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

Мониторинг портов Paessler PRTG

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

PRTG включает два типа датчиков портов: датчик порта и датчик диапазона портов. Они следят за деятельностью порта от вашего имени и сообщают обо всех изменениях или необычных действиях. Датчик порта назначается конкретному номеру порта устройства и будет пытаться подключиться к этому порту.Это позволяет определить, закрыт ли порт или открыт, и сколько времени потребовалось для обслуживания запроса на соединение. После этого эти данные будут видны вам. Датчик порта может отслеживать только TCP-порты. Чтобы получить более надежный отчет о защищенных соединениях во время попыток доступа к порту, вы можете использовать этот датчик с помощью Transport Layer Security (TLS).

Датчик диапазона портов используется для оценки указанного диапазона номеров портов. Опять же, этот датчик может отслеживать только TCP-соединения и не может проверять операции UDP.После того, как вы отправите список номеров портов, которые хотите проверить, датчик будет проходить через каждый номер порта один за другим, получая к ним доступ и сообщая, открыты они или закрыты, и сколько времени занимает соединение.

Моя единственная проблема с PRTG заключается в том, что он использует модель ценообразования на основе датчиков, что означает, что вы можете в конечном итоге заплатить больше, чем вам нужно. Однако Paessler позволяет бесплатно контролировать до 100 датчиков. Однако имейте в виду, что вам понадобится новый экземпляр датчика для каждой комбинации портов / IP-адреса, а это значит, что вы очень быстро израсходуете свой лимит.

Если вам нужно неограниченное количество датчиков, что я рекомендую, если вы хотите использовать PRTG в коммерческих целях, вы можете получить 30-дневную бесплатную пробную версию. По истечении пробного периода PRTG возвращается к бесплатной версии, поэтому вам не нужно беспокоиться о неожиданном получении счета, если вы случайно не уложитесь в срок.

Zenmap

Zenmap - это удобный интерфейс с открытым исходным кодом для Nmap, бесплатного инструмента аудита безопасности и тестирования сети. Это программное обеспечение доступно в BSD Unix, Linux, Mac OS и Windows и представляет собой больше, чем просто средство отслеживания портов и сканер.Он охватывает многие аспекты мониторинга сети и может многое рассказать о вашем устройстве и других подключенных устройствах.

С помощью Zenmap вы можете выполнять сканирование UDP-портов, TCP-портов или полное сканирование всех устройств, подключенных к сети. Последующие тесты - это производительность на обнаруженных открытых портах. Типичный тест Zenmap использует предварительную проверку системы и пинг перед сканированием открытых портов. Однако вы можете сделать это без пинга, если хотите.

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

Хотя этот инструмент является популярным программным обеспечением для сканирования открытых портов, он не особенно хорошо подходит для использования в бизнесе из-за того, что имеет открытый исходный код. К тому же у него не очень сложный интерфейс.

Как начать сканирование открытых портов

На мой взгляд, SolarWinds Engineer's Toolset ничем не уступает. Процесс сканирования и проверки открытых портов прост, поэтому что действительно выделяет инструмент среди конкурентов, так это его удобный интерфейс и широкий спектр функций.Хотя многие из перечисленных мною инструментов могут предложить больше, чем простые утилиты сканирования открытых портов, ни один из них не сравнится с Engineer’s Toolset, в котором более 60 инструментов.

- это не только богатый набор инструментов Engineer’s Toolset, но и интуитивно понятный дизайн, простота использования и сочетание сложных функций с простотой. Я очень рекомендую Engineer’s Toolset, но не верьте мне на слово. Бесплатная пробная версия полностью функциональна и действует в течение 14 дней.Вы можете скачать это здесь.

Сканер портов

в PowerShell (TCP / UDP)

Представляем еще одно дополнение к нашему портфелю минималистичных инструментов для тестирования на проникновение. На этот раз мы рассмотрим минималистичный сканер портов TCP и UDP.

Написанный на чистом PowerShell, этот небольшой, но мощный сканер портов полезен при моделировании конкретных атак, когда мы не можем использовать какие-либо традиционные или типичные сканеры портов.

Введение

Существует множество сканеров сетевых портов.Некоторые из самых популярных включают Nmap, Masscan, Angry IP Scanner, ZMap и многие другие.

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

В некоторых ситуациях нам просто нужно что-то маленькое и минималистичное, что-то, что мы могли бы быстро написать с нуля, если нам нужно.

Зачем писать сканер портов с нуля?

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

Это будет иметь жизненно важное значение при тестировании изолированной среды VDI / Citrix, в которую мы не можем ничего загрузить, или когда мы выполняем моделирование недовольного сотрудника с рабочей станции со всеми установленными средствами безопасности.

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

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

Сканер портов

просто необходим, и если мы не можем его использовать, мы должны его сделать.

Сканер TCP и UDP портов в PowerShell

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

Чтобы сохранить небольшой размер, я разделил сканер на два отдельных независимых модуля:

Так что это действительно два сканера портов, а не один. Оба сканера можно найти в следующем репозитории GitHub:

Перечень функций

Оба сканера портов обладают следующими характеристиками:

  • Обнаружение открытых, закрытых и фильтруемых портов (TCP и UDP)
  • Возможность сканирования отдельного хоста, диапазона сети или списка хостов в файле
  • Регулируемые значения тайм-аута для эффективного и надежного сканирования портов
  • Не- вредоносный - не обнаруживается никаким антивирусом или решением EDR

С точки зрения дизайна:

  • Маленький и минималистичный - можно набирать вручную (на клавиатуре)
  • Написано на чистом PowerShell - дополнительных модулей не требуется
  • Практичный и продуманный дизайн:
    • Поддержка возобновления, в случае прерывания
    • Пропустить уже отсканированные хосты / ports

Давайте посмотрим, как использовать эти сканеры.

Типовой сценарий использования

Поскольку сканеры портов написаны на PowerShell, мы должны иметь возможность запускать команды PowerShell в системе, которую мы используем. На рабочей станции с ограниченным доступом это может быть проблемой, поэтому ..

(1) Первым шагом обычно является обход ограничений и создание оболочки. Когда мы сможем комфортно запускать команды PowerShell, мы сможем перейти к следующему шагу.

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

  • C: \ Users \ Public
  • C: \ Windows \ Tasks
  • C: \ Windows \ Tracing
  • C: \ Windows \ System32 \ Spool \ Drivers \ Color
  • и т. Д.

И все!

Теперь мы можем начать сканирование портов. Вот краткое введение в их использование.

Сканер TCP-портов:

  Импорт-модуль.\ порт-сканирование-tcp.ps1

# Использование:
port-scan-tcp <хост (ы)> <порт (а)>  

Сканер портов UDP:

 Модуль импорта . \ Port-scan-udp.ps1

# Использование:
port-scan-udp <хост (ы)> <порт (а)>  

Давайте посмотрим на несколько примеров их использования на практике.

Сканирование портов отдельного хоста

Вот простейший пример - проверьте, открыт ли на удаленном хосте порт tcp / 445:

  сканирование портов 192.168.204.183 445  

Вот пример сканирования одного хоста на предмет выбранных TCP-портов:

  сканирование портов TCP 192.168.204.183 (21,22,23,25,80,443,445,3389)  

Сканирование портов сетевого диапазона

Вот пример сканирования портов в диапазоне 192.168.204.0/24 для порта tcp / 445 (сканирование портов):

  0..255 | foreach {port-scan-tcp 192.168.204. $ _ 445}  

Вот пример сканирования сетевого диапазона 192.168.204.0/24 для выбранных TCP-портов:

  0..255 | foreach {port-scan-tcp 192.168.204. $ _ (22,80,445)}  

Список хостов в файле

Мы также можем предоставить список целей в качестве входного файла.

Например, в корпоративных сетях с развертыванием Active Directory (AD) мы могли бы извлечь список компьютеров из AD с помощью командлетов PowerShell следующим образом:

  $ a = [adsisearcher] ”(objectCategory = компьютер)”
$ a.PropertiesToLoad.add («dnshostname») | out-null
$ a.PageSize = 1
$ a.FindAll () | % {echo $ _. properties.dnshostname}> computers.txt  

Теперь мы можем идентифицировать все живые системы Windows по сканированию порта tcp / 445:

  сканирование портов tcp (gc.\ computers.txt) 445  

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

Оба сканера отслеживают все, используя файл состояния (scanresults.txt), который создается в текущем рабочем каталоге. Это позволяет нам проверять результаты в любое время, даже во время текущего сканирования.

Например, вот как мы можем получить список систем с открытым портом tcp / 445:

  Get-Content. \ Scanresults.txt | Select-String "tcp, 445, Open"  

Если бы мы хотели перечислить только первый столбец, мы могли бы легко сделать это с помощью PowerShell следующим образом:

  (Get-Content.\ scanresults.txt | Select-String "tcp, 445, Open") -replace ",. *", ""  

Теперь мы могли бы передать этот список в наш брутфорсер входа в SMB, например, и попытаться взломать некоторые из этих машин Windows. Или мы могли бы использовать какую-нибудь другую автоматизацию, все, что захотим.

Требования и ограничения

Совместимость . Сканер TCP поставляется в двух версиях, но с той разницей, что используется метод TcpClient.ConnectAsync (). Этот метод, доступный в.NET 4.5 дает сканеру возможность различать «закрытые» и «фильтрованные» порты. Совместимая версия сканера (для более старых систем) не может распознать это и просто сообщает обо всех таких случаях как «Закрыто».

Скорость . Оба сканера портов (TCP и UDP) представляют собой только однопоточные циклы без какого-либо распараллеливания. Таким образом, скорость сканирования ограничена. Но в худшем случае скорость должна быть около 1 сканирования порта в секунду, в зависимости от значений тайм-аута, которые вы также можете просто изменить.

Снижение скорости . Также следует иметь в виду, что сканеры могут немного замедлиться через некоторое время, если уже есть слишком много результатов. Чтобы смягчить эту проблему, мы можем повернуть файл результатов или использовать другой, изменив модули и перезагрузив:

  Модуль импорта. \ Port-scan-tcp.ps1 -force
Модуль импорта. \ Порт-сканирование-udp.ps1 -force  

Заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *