Что такое сканирование портов и как оно работает? | 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 позволяют злоумышленникам скрыть свое сетевое местоположение и использовать «ложный трафик» для выполнения сканирования портов, не раскрывая целевому устройству какой-либо сетевой адрес.
Злоумышленники проверяют сети и системы, чтобы увидеть реакцию каждого порта и понять их состояние (открыт, закрыт или фильтруется).
Например, ответы открытых и закрытых портов предупредят хакеров о наличии вашей сети и ее готовности принимать данные. Злоумышленники смогут определить уровень защиты и тип операционной системы, используемой вами.
Сканирование портов — это довольно старый метод, требующий изменений в системе безопасности и актуальных сведений об угрозах, поскольку протоколы и средства обеспечения безопасности постоянно развиваются. Рекомендуется использовать предупреждения о сканировании портов и брандмауэры, чтобы отслеживать трафик своих портов и не позволить хакерам обнаружить возможность неавторизованного проникновения в вашу сеть.
7 онлайн сканеров для поиска открытых портов на сервере / Блог компании HOSTING.cafe / Хабр
От переводчика. Привет, сегодня я хочу опубликовать перевод статьи со списком сервисов, которые помогут найти открытые порты на серверах. Надеюсь, что статья окажется полезной.Если вы размещаете свои веб-приложения на администрируемом сервере или шаред хостинге, тогда Вам не о чем беспокоиться. Однако для виртуального или выделенного сервера вы должны предусматривать все возможности для безопасности своего сервера.
Иметь ненужные порты открытыми — плохая идея, из которой злоумышленник может извлечь выгоду множеством способов.
Ниже представлены бесплатные онлайн сервисы, которые помогут выяснить открыты ли порты, чтобы вы могли проверить и заблокировать их, если они не используются.
Примечание: если вы запускаете сканер портов для DNS Вашего сайта, а он находится за такими прокси, как CloudFlare или SUCURI, то он может не выдать точную информацию. Используйте настоящий IP адрес сервера.
MX Toolbox
пытается проверить 15 наиболее часто используемых портов с таймаутом в 3 секунды и выдает результаты, какие из них открыты, а какие нет.
Pentest Tools
проверяет открытые порты, используя NMAP на целевой хост. вы можете выбрать определение операционной системы и версию сервиса.
Он выдаст вам результаты для открытых портов и предложит сохранить подробности сканирования в PDF формате.
Этот инструмент — персональный проект Javier Yanez, позволяющий бесплатно просканировать порты для IPv4 и IPv6 адресов.
Сканирует один или диапазон портов
, прослушиваемых сервером с указанным IP. Это удобно, если вы только хотите просканировать выбранные порты.
Выполняет быстрое сканирование
шести наиболее распространенных портов (FTP, SSH, SMTP, HTTP, HTTPS, RDP) сканером портов NMAP.
Просканируйте
около тысячи часто используемых портов с помощью NMAP или укажите свои порты для вашего домена или IP.
Быстро сканирует
некоторые распространенные порты, такие как FTP, SMTP, DNS, Finger, POP3, SFTP, RPC, IRC, IMAP, VNC и т. д.
Надеюсь, вышеперечисленные инструменты помогут найти открытые порты на вашем домене или IP. Используйте файервол, чтобы разрешить использование нужных портов и игнорировать остальные.
Вы также можете подумать над тем, чтобы сменить порт по умолчанию для SSH, как это показано здесь.
P. S. Все проекты Хостинг Кафе перешли на работу через https протокол:
Спасибо
egorcompanyза картинку.
Различные приемы сканирования портовКак новичок в автомобильном деле, я могу часами биться в попытках использовать свои элементарные инструменты (молоток, клейкая лента, гаечный ключ и т.д.) для решения какой-либо проблемы. Когда все мои попытки с крахом проваливаются, и я буксирую свою развалюху к настоящему механику, он неизменно достает из большой коробки с интрументами какую-нибудь штуковину, и сразу складывается впечатление, что решение проблемы не требует много усилий. Искусство сканирования портов очень на это похоже. Эксперты понимают дюжины различных приемов сканирования портов и выбирают для конкретной задачи подходящий (или комбинацию из нескольких). Неопытные пользователи и 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 сканирование (
|
Что такое сканирование портов? Методы сканирования портов
Что такое сканирование портов? Какие существую методы сканирования. Какие угрозы несет?
В сегодняшней статье я постараюсь рассказать о том что такое сканирование открытых портов, расскажу о методах используемых в сканировании портов и том как от этого всего защитится.
Еще по теме: Nmap: скрытое сканирование хостов
Что такое сканирование портов?
Сканирование — это набор процедур, позволяющих идентифицировать узлы, порты и сервисы целевой системы. Сканирование сети позволяет злоумышленнику собрать профиль атакуемой машины.
Согласно руководству по этичному хаккингу (Ethical Hacking and Countermeasures EC-Council) различаются следующие типы сканирования:
- сетевое сканирование — определение находящихся в сети узлов;
- сканирование портов — выявление открытых портов и функционирующих сервисов;
- сканирование безопасности системы — выявление известных уязвимостей системы.
На первый взгляд в сканировании никакого вреда нет, тем не менее с таким подходом трудно согласиться, ведь сканирование предваряет атаку, позволяя злоумышленнику выяснить, какие сервисы работают в целевой системе, а значит, подготовить и провести целенаправленную атаку против выявленных сервисов и их уязвимостей. Следовательно, бороться с разведкой злоумышленников необходимо.
Цели сканирования портовПри этом будет нелишним отметить, что само по себе сканирование не всегда злонамеренное действие, все зависит от его целей. Службы информационной безопасности или сотрудники ИТ вполне могут прибегнуть к сканированию для выяснения уязвимостей инфраструктуры или видимости сервисов из внешней сети.
В сущности, нередко все как раз и начинается с сетевого сканирования, именно оно позволяет выявить слабые узлы их IP-адреса, открытые порты, определить операционную систему, а значит, становятся понятны теоретически возможные уязвимости, что уже не так мало для организатора атаки.
Методы сканирования портов
Выявляем структуру сети. Самый простой способ сканирования — ICMP scanning. Принцип работы основан на протоколе ICMP, и такой тип сканирования позволяет выяснить «живые» узлы в сети и построить схему сети с перечнем ее узлов. Суть метода заключается в отправке ICMP-запросов узлам сети, если компьютер или иное устройство, работающее со стеком протоколов TCP/IP, активно, то будет отправлен ответ. Это так называемый ping sweep или ICMP sweep. Существует огромное количество средств, позволяющих выполнить подобное сканирование.
Сканирование ICMP sweepСканирование портов. Следующий этап разведки — выявление открытых портов. По сути своей, это дает возможность определить, какие сервисы работают на удаленном узле, список которых мы уже получили в результате предыдущего сканирования. Кроме того, из анализа полученных пакетов можно также выявить операционную систему и ряд других важных параметров (наличие фильтра пакетов, например).
Здесь мы говорим о TCP-сканировании. Его принцип основан на особенностях работы TCP. В сущности, очень похожий механизм взаимодействия принят в авиации при переговорах пилотов с диспетчером, включающий запрос, ответ с указанием, подтверждение полученной инструкции. Такой способ взаимодействия если и не исключает полностью вероятность непонимания, то по крайней мере существенно снижает такую вероятность.
Это могло бы выглядеть так:
- Пилот: Шереметьево-Руление, Аэрофлот 502, разрешите предварительный.
- Диспетчер: Аэрофлот 502, 25 правая1 по РД2 10, магистральной, РД5 предварительный разрешаю.
- Пилот: Аэрофлот 502, 25 правая, по РД 10, магистральной, РД5 предварительный разрешили.
Что тут происходит? Пилот обратился к диспетчеру с запросом о разрешении руления и его маршруте. Диспетчер разрешил руление и определил маршрут следования.
Пилот подтвердил маршрут следования и разрешение диспетчера. Все, можно двигаться — маршрут получен.
Очень похожее происходит и в TCP-взаимодействии. Здесь используется схема three-way-handshake или «трехэтапного» согласования, встречается также термин «трехэтапное квитирование», которое позволяет синхронизировать передающий и получающий узлы и установить сессию, что, в сущности, идентично примеру с радиопереговорами.
Установка TCP-сессииИспользуя этот легальный алгоритм, злоумышленник может выяснить, какие порты открыты на сервере, то есть понять, какие сервисы используются в системе, какая операционная система. Для этого существует несколько эффективных методик.
Full Connect Scan
Некоторые методики сканирования портов. Самый эффективный и несложный способ сканирования — Full Connect Scan (Full Open Scan). Его принципы как раз показаны на рисунке 3. Происходит попытка выполнить трехэтапное согласование (three-way-handshake) с интересующими исследователя узлами. Если искомый порт открыт, то мы получаем от него сообщение SYN+ACK, после этого посылаем узлу RST (сброс сессии), если закрыт, то нам приходит RST от проверяемого узла. Надо отметить, что такой способ сканирования легко идентифицируется, стало быть, противостоять ему несложно.
Stealth Scan
Другой способ сканирования сети называется Stealth Scan (Half-open Scan). В этом случае атакующий старается обойти защиту брандмауэра и замаскироваться под обычный сетевой трафик с тем, чтобы избежать фиксации события сканирования в логах системы. Здесь речь не идет о согласовании, исследователь просто отправляет SYN-пакет на интересующий порт требуемого сервера. Если в ответ приходит SYN+ACK, то порт открыт, если RST, то порт закрыт.
Такой способ сканирования более изощренный, однако современные системы предотвращения вторжений должны уметь ему противостоять.
Xmas Scan
Не менее известные методы сканирования — Xmas Scan и Null Scan, однако мы не будем их рассматривать ввиду того, что защита от них реализована в рамках современных операционных систем Microsoft, поэтому они не будут представлять для нас большого интереса. Особенность этих типов сканирования — стелс режим работы, то есть без установки сессии. Впрочем, посмотреть детали можно в курсе Ethical Hacking или в книге «Network Security Test Lab». Эти типы сканирования эффективны только для операционных систем, где TCP-стек работает на основе RFC 793. Все современные операционные системы от Windows Vista и старше не подвержены этому риску.
Idle Scan
Пожалуй, наиболее интересным способом сканирования является Idle Scan. Основная идея заключается в том, что злоумышленник может просканировать жертву, не показывая ей своего IP-адреса, то есть с точки зрения сканируемого узла злоумышленник с ней как бы и не общается. Используется «подставной» узел, который и может быть определен системами противодействия вторжениям в качестве источника атаки. Это весьма разумная методика, так называемый спуфинг, когда адрес отправителя подменяется на адрес другого устройства. Надо сказать, что «подставным» узлом или «зомби» может стать компьютер, который обладает определенными уязвимостями. Операционные системы, как правило, должны быть обновлены, однако это не всегда так, и атакующий всегда может найти «помощников», кроме того, в качестве «зомби» может быть использован сетевой принтер или другое сетевое устройство, которое работает с базовой функциональностью стека TCP/IP.
Это сканирование использует поле Identification в IP-заголовке (IPID). Значение IPID увеличивается на единицу в каждом следующем пакете, который отправляет узел. В сущности, это и есть уязвимость, поскольку появляется возможность предсказать, какое количество пакетов было передано между двумя пакетами, которые были получены. Современные операционные системы используют случайное значение для поля IPID, однако, как уже было упомянуто выше, всегда можно найти решение. Для современных Unix и Windows систем от Windows Vista и старше эта проблема уже потеряла свою актуальность.
Рассмотрим рисунок 4 и 5. На первом шаге (1) атакующий обращается к подставному устройству со стандартным SYN-пакетом. Устройство отвечает пакетом SYN ACK (2) или SYN RST, что более вероятно, однако из заголовка пакета атакующему становится виден IPID. Его-то и надо запомнить (3). Далее атакующий обращается к интересующему его серверу (4), при этом подменяет свой IP-адрес на адрес подставного узла, то есть маскируется, используя спуфинг (подмену адресов). В ответ на этот запрос сервер, если порт открыт, посылает SYN/ACK на подставной адрес (5). Мы ведь выполнили подмену. Не зная, что делать с этим пакетом, подставной компьютер в ответ пошлет RST (сброс сессии), при этом увеличит значение своего IPID. В нашем случае он станет равным 30132 (6). Если порт закрыт, то сервер пошлет сброс сессии (RST) — смотрите рисунок 5 (5).
Idle-сканирование (порт на сервере открыт)Idle-сканирование (порт на сервере закрыт)
IPID подставного узла остался неизменным, в нашем случае 30131, поскольку «зомби» никому больше ничего не отправлял. Теперь останется еще раз обратиться к «зомби», как мы это уже делали выше, выявить его IPID, сравнить его с имеющимся у нас значением. Если IPID увеличился на 2, то порт открыт.
Еще один важный момент, который хотелось бы отметить, — операционные системы имеют свою специфику при работе со стеком TCP/IP. Используя эти особенности при анализе пакетов, полученных при сканировании, вполне возможно выяснить, с какой ОС мы имеем дело, на этих принципах построены методики сканирования Banner Grabbing. Задача — выявить информацию о вычислительной системе и ее уязвимостях, что позволит атакующему использовать эти знания для своих последующих деструктивных действий. Любой современный сканер предоставит атакующему эту информацию.
Операционные системы, как правило, должны быть обновлены, однако это не всегда так, и атакующий может найти «помощников», кроме того, в качестве «зомби» может быть использован сетевой принтер или другое сетевое устройство, которое работает с базовой функциональностью стека TCP/IP
Нетрудно заметить, что все рассмотренные способы сканирования базируются на штатном поведении узлов, а значит, любой компьютер или иное сетевое устройство является потенциально уязвимым.
Злоумышленник обладает возможностью сбора и анализа полученной информации о структуре сети, сервисах, уязвимостях систем. Тем самым предоставляется потенциальная возможность подготовить целевую атаку против определенных узлов и сервисов.
Еще по теме: Обзор лучших сканеров уязвимостей
Сканирование портов компьютера
Регулярно в форумах, и не только в них, поднимается вопрос — «Меня сканируют! Что мне делать?» Причиной возникновения данного вопроса являются модули детектирования атак, которые разработчики персональных файрволов встраивают в свои продукты. Насколько вообще опасно данное явление, чего пытается достичь атакующий, и была ли собственно атака? Для того, чтобы понять это, попробуем сначала разобраться — что такое порты, что такое сканирование этих портов и каким образом выполняется проникновение в систему через сеть.
Предупреждение читателям: авторы осознают, что данный материал охватывает далеко не все возможные типы сетевых угроз. Данный материал ориентирован на домашних пользователей, озабоченных страшными предупреждениями, которыми их радостно снабжает добрый дядя Касперский (или Нортон, или еще кто-либо, в зависимости от используемого продукта). Следует помнить, что сетевые угрозы не ограничиваются описанными здесь.
Для начала — что такое порт. Порт — это поле в tcp- или udp-пакете, идентифицирующее приложение-получателя (и отправителя, в пакете этих полей два) пакета.
Формат пакета данных TCP-протокола:
Формат пакета данных UDP протокола:
Каким образом приложение работает с сетью? Приложение обращается к операционной системе с запросом на создание сокета. Операционная система регистрирует, какое приложение обращается к нему с этим запросом, и формирует привязку приложения к сокету — выделяет порт. Этот порт служит для обмена информацией по сетевым протоколам, и вся информация, полученная из сети для порта с этим номером, в дальнейшем передается нужному приложению.
Сокет — это название программного интерфейса для обеспечения информационного обмена между процессами. Процессы при таком обмене могут исполняться как на одной ЭВМ, так и на различных ЭВМ, связанных между собой сетью. Сокет — абстрактный объект, представляющий конечную точку соединения.
Что из этого вытекает? Из этого вытекает, что если прибыл пакет на порт, которому не сопоставлено никакое приложение, то пакет будет просто выброшен операционной системой, и обрабатываться не будет.
С какой целью выполняется сканирование портов? А вот с этой целью и выполняется — определить, какие порты целевого хоста (хост — узел сети, любая система, участвующая в сетевом обмене) закреплены за приложениями. Сканирование есть подготовительная операция, разведка периметра. После того, как будет составлен список активных («открытых») портов, начнётся выяснение — какие именно приложения используют эти порты.
После определения приложений, а иногда даже их версий, фаза разведки заканчивается, и начинается фаза активных «боевых действий» против вас — атака. Не обязательно, что после первой фазы (разведки) сразу начнётся вторая. Зачастую через некоторое время разведка повторяется, причём с других узлов сети. Это своего рода проверка бдительности «стражи» — администраторов. Либо не начнется, если не обнаружено ни одной потенциально уязвимой точки воздействия. Следует понимать, что сканирование само по себе ничем не может Вам повредить — повредить могут последующие действия, если они последуют.
Каким образом выполняется атака? Как правило — для этого используются уязвимости сетевых сервисов (сетевой сервис — приложение, обслуживающее запросы из сети). Эксплуатация уязвимости сервиса основана на посылке ему пакета данных, сформированного таким образом, что наше приложение обработает его некорректно и его штатная работа будет нарушена. Последствия — прекращение обслуживания сервисом правильных запросов (DoS — denial of service, отказ в обслуживании), или выполнение сервисом действий, которые он выполнять не должен (например, Remote Code Execution — возможность злоумышленнику запустить вредоносный код на цели).
Какие сервисы могут быть атакованы таким образом? Означает ли это, что если Вы запустили браузер, то его могут атаковать из сети? Нет. Атаковать подобным образом можно «серверные» приложения — то есть те, которые слушают сеть и ожидают подключения клиентов извне. Браузер сам является клиентским приложением, в общем случае он не принимает подключений, поэтому таким образом атакован быть не может. Опасаться следует, если на Вашем компьютере запущен FTP-сервер, HTTP-сервер и так далее.
Правда, здесь нужно упомянуть, что существует еще один вид сетевой угрозы, с которой пользователь не может сделать практически ничего. Это — флуд (flood) — одна из разновидностей DoS-атаки. Цель её — «затопить» Вас мусорным трафиком, чаще всего с несуществующих адресов, и лишить Вас или Ваши сервисы возможности отправлять или принимать полезную информацию. Она не угрожает Вашему компьютеру ничем, кроме временной невозможности работать в сети. Если Вы обнаружили, что Вас пытаются «зафлудить» — нужно обязательно сообщить об этом провайдеру. Других вариантов решения этой проблемы нет.
Что мне делать, если мой файрвол рапортует о сканировании? Давайте подумаем. Сканированием определяется наличие приложений, принимающих запросы из сети. Соответственно, если мы не выставляли никаких приложений наружу — беспокоиться вообще не о чем. Просто еще раз проверяем, что файрвол действительно настроен на блокирование всех входящих запросов, и забываем про рапорт.
Если такие приложения есть (например, вы содержите у себя FTP-сервер), то здесь тоже практически нет смысла напрягаться — мы ведь добровольно выставили сервер в общий доступ. Беспокоиться следовало на этапе планирования сервера. Просто соблюдаем общие рекомендации — использовать наиболее новую версию сервера, не предоставлять пользователям больше прав, чем им нужно, отключить ненужные функции сервера, по возможности — запускать сервер от имени ограниченного пользователя. Также возможно использование систем обнаружения вторжений (IDS, Intrusion Detection System), однако их использование выходит за рамки данного материала. Заметим только, что таковые системы основаны на отслеживании обращений к сетевым сервисам извне, и определении потенциально опасных запросов по некоторым критериям. Пример такой системы — SNORT (www.snort.org).
А была ли атака? Еще один часто задаваемый вопрос звучит примерно так: «Почему, когда я подключаюсь к FTP-серверу, файрвол начинает жаловаться на сканирование со стороны FTP-сервера?» Типичный пример ложного срабатывания. Рассмотрим, как работает FTP-протокол. В FTP-протоколе используется не одно соединение, а два — одно из них управляющее, второе непосредственно передает данные. Первое (управляющее) открывает клиент — он подключается на порт 21 сервера. Второе подключение зависит от режима работы клиента. Если клиент в активном режиме, то он передает серверу номер порта, на который сервер должен подключиться, чтобы открыть соединение для передачи данных. В пассивном сервер говорит клиенту, на какой порт клиент должен подключаться, чтобы открыть соединение для передачи данных.
Как следует из этого описания, в активном режиме FTP-сервер открывает подключение к клиенту. Файрвол, а многие из них известные параноики, вполне может реагировать на это, как на попытку атаки.
Подведём итоги: сетевая атака в большинстве случаев представляет собой атаку на какой-либо доступный из сети сервис на вашем компьютере. Если такого сервиса у Вас нет — можно не беспокоиться, что кто-то Вас «взломает». В этом случае опасаться следует других угроз — вирусы, malware (нежелательные программы), и другие внутренние воздействия. Рекомендации по предотвращению — стандартны и описаны много раз. Установите антивирус, регулярно его обновляйте, регулярно устанавливайте обновления операционной системы, не запускайте неизвестные Вам программы и так далее. Но даже и в этом случае наличие персонального файрвола на компьютере может помочь Вам в случае, когда антивирус или обновления операционной системы ещё не в состоянии блокировать новые угрозы. Просто всегда внимательно читайте, что именно предлагает Вам сделать та или иная программа, и старайтесь понять, а нужно ли, чтобы это действие действительно было выполнено.
Хотим отметить, что по умолчанию в настройках Windows систем для работы с приложениями в локальной сети, есть открытые для внешнего доступа «серверные» сервисы, то есть те к которым можно обратится с другого компьютера. Поэтому не стоит отключать встроенный брандмауэр (файрвол), либо не пренебрегайте установкой сторонних продуктов подобной функциональности.
Обсуждение данного вопроса в форуме.
Анализ атак с использованием сканирования портов
Сканирование портов — это предварительная процедура, наиболее часто используемая киберпреступниками для определения уязвимых узлов, которые можно успешно атаковать. Этот полностью автоматизированный процесс также позволяет обнаружить машины, серверы и периферийные устройства, существующие в конкретной сети.
- Введение
- Способы сканирования
- Методы обнаружения сканирования портов
- Выводы
Введение
Успешное сканирование портов позволяет получить сведения о машинах, обнаруженных в прощупываемой сети, включая имена устройств, IP-адреса, операционные системы, запущенные программы и службы, имена пользователей, группы и открытые порты. Сканирование обычно выполняется до начала атаки (как пример, Direct-to-Origin). Существует четыре различных подхода к сканированию сетевого порта, поговорим подробнее о каждом из них.
Способы сканирования
Горизонтальное сканирование
При горизонтальном сканировании злоумышленник просматривает один и тот же порт на нескольких компьютерах, то есть несколько IP-адресов. Атакующий стремится найти хосты, раскрывающие определенные сервисы. Таким образом хакер сканирует определенные порты на всех машинах, разные IP-адреса в пределах определенного диапазона.
Горизонтальное сканирование представляет собой наиболее часто используемый в настоящий момент тип сканирования портов.
Вертикальное сканирование
Вертикальным сканированием называют процесс, при котором злоумышленник сканирует несколько портов на одном компьютере, то есть один IP-адрес.
Распределенное вертикальное сканирование
При распределенном вертикальном сканировании несколько источников последовательно сканируют несколько портов на одном IP-адресе.
Распределенное горизонтальное сканирование
В этом случае несколько источников сканируют один и тот же порт на нескольких IP-адресах последовательным образом. Во время распределенного сканирования часто меняются IP-адреса злоумышленников, что делает их обнаружение довольно сложной задачей.
Рисунок 1. Схема сканирования портов
Распределенное вертикальное сканирование и распределенное горизонтальное сканирование часто ассоциируются с атаками, выполняемыми несколькими злоумышленниками (или группами), что представляет собой одну из самых современных форм атак. Совместные атаки иногда описываются как «кибератаки следующего поколения».
Недавно опубликованное исследование представило новый подход, который помогает обнаружить сканирование портов, он основан на графическом моделировании. Создатели нового подхода применили свой метод к данным, полученным из darknet.
Методы обнаружения сканирования портов
Как показало исследование, атаки с использованием горизонтального сканирования являются наиболее распространенными, на них приходится 80% трафика сканирований. Новый метод обнаружения основан на отслеживании поведения, характерного для таких атак.
Этот подход позволяет контролировать все возможные порты UDP и TCP, предупреждения появляются, если обнаруживается состояние, отличающееся от обычного состояния портов. Весь алгоритм основывается на индексе, известном как BH-tree, который был введен в 2013 году для ускорения процессов обучения и обнаружения и оказался чрезвычайно эффективным.
Эксперименты, проведенные разработчиками нового подхода, в ходе которых использовались данные, полученные из реального darknet-трафика, показали, что предлагаемый метод не только эффективен, но и быстро работает.
Несмотря на то, что исследование было сосредоточено именно на атаках с распределенным сканированием, в ходе которых несколько источников атакуют один и тот же порт на нескольких целевых компьютерах или IP-адресах, этот подход можно легко настроить для мониторинга атак, при которых несколько источников атакуют несколько портов на нескольких целевых машинах или IP-адресах.
Выводы
Изучив атаки, использующие сканирование портов, мы можем прийти к выводу, что необходимо провести дополнительные исследования, чтобы проанализировать методы, позволяющие обнаруживать такие атаки. Чем больше будет использовано машинное обучение, тем лучше, так как настроить мониторинг на обнаружение аномального поведения на портах несложно.
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Интернет-сканер портов
с Nmap — обнаружение открытых TCP-портов
Как работает сканер Nmap?
Nmap — очень эффективный сканер портов, де-факто известный как инструмент для поиска открытых портов и сервисов.Nmap выполняет несколько этапов для достижения своей цели: 1. Обнаружение хоста Nmap Первая фаза сканирования портов — , обнаружение хоста . Здесь сканер пытается проверить, активен ли целевой хост, прежде чем фактически исследовать открытые порты.Этот этап необходим в основном при сканировании большого диапазона IP-адресов, чтобы оптимизировать время для всего сканирования. Нет смысла тратить время на поиск открытых портов на «мертвом» хосте (например, на данном IP-адресе нет сервера).
Однако этот этап может иногда приводить к тому, что некоторые открытые порты не обнаруживаются, потому что «живучесть» хоста не всегда может быть правильно определена (например, из-за брандмауэров, которые разрешают доступ только к определенному порту и отбрасывают все остальное). В этом случае у вас есть опция «Не пинговать хост» (или Nmap -Pn), которая пропускает фазу обнаружения хоста и просто выполняет сканирование портов.
2. Обнаружение открытых портов Чтобы определить, открыт ли порт TCP, Nmap использует механизм трехстороннего подтверждения, используемый TCP для установления соединения между клиентом и сервером.Существует два основных метода обнаружения открытых TCP-портов:
Подключение-сканирование (Nmap -sT)
В этом случае Nmap выполняет полное трехстороннее рукопожатие с целевым сервером, устанавливая полное TCP-соединение.Последовательность пакетов для этого типа сканирования — SYN
, SYN-ACK
, ACK
, RST
. Преимущество этого метода заключается в том, что он не требует доступа root / администратора на клиентском компьютере, а недостатком является то, что он довольно шумный, и сервер может регистрировать попытки подключения с других хостов.
SYN-сканирование (Nmap -sS)
Это метод сканирования по умолчанию, который также включен в нашем сканере. В этом методе Nmap устанавливает полуоткрытое TCP-соединение, зная, что порт открыт сразу после того, как сервер отвечает SYN-ACK
.Последовательность пакетов в данном случае — SYN
, SYN-ACK
, RST
. Преимущество этого метода в том, что он более скрытный, чем Connect-Scan, но он требует, чтобы Nmap запускался с правами root / администратора (потому что ему нужно создавать низкоуровневые необработанные сокеты для отправки отдельных пакетов, а не выходить из стека ядра. сделать подключение). 2. Обнаружение службы Nmap После того, как Nmap найдет список портов, он может провести более глубокую проверку, чтобы определить точный тип службы, работающей на этом порте, включая ее версию.Это необходимо, поскольку общие службы могут работать на нестандартных портах (например, веб-сервер, работающий на порту 32566). Обнаружение службы включается командой
Nmap -sV
.Nmap выполняет обнаружение служб, отправляя несколько предопределенных зондов для различных протоколов на целевой порт, чтобы увидеть, отвечает ли он соответствующим образом. Например, он отправляет:
- SSL CLIENT HELLO — для проверки наличия услуг SSL
- HTTP-запрос GET — для проверки службы HTTP
- SIP OPTIONS — для проверки наличия протокола SIP / RTSP
- и многие другие
Краткая история Nmap Port Scanner
Впервые Nmap был представлен в сентябре 1997 года в статье The Art of Scanning в известном журнале Phrack Magazine ее автором — Федором (Гордоном Лайоном).Поскольку Nmap получил широкую известность, он упоминался в нескольких книгах, а также использовался в нескольких художественных фильмах в качестве хакерского инструмента (например, «Матрица»).
Со временем он значительно эволюционировал (текущая версия — 7.70) от простого сканера портов до надежного инструмента, содержащего расширенные возможности снятия отпечатков пальцев и сложный механизм написания сценариев.В настоящее время Nmap имеет более 500 скриптов, которые могут запускаться после отключения обнаружения служб, охватывающих такие аспекты, как расширенное обнаружение служб, брут-форс и обнаружение некоторых уязвимостей.
Сканер портов — сканирование сетевых портов
Сканирование сетевых портов
Инструмент сканера портов предоставит вам информацию о допустимых методах подключения к сети. Просканируйте свою сеть на предмет открытых портов и определите, нужно ли закрывать эти открытые порты, чтобы обеспечить большую безопасность сети и меньше уязвимостей.
Что такое порт?
Сетевые порты используются для маршрутизации входящей информации из сети в определенные приложения на указанную машину. Например, если вы хотите включить удаленный рабочий стол на ПК с Windows в вашей сети, вам нужно убедиться, что порт 3389 открыт и перенаправляет на соответствующий компьютер.
Что такое сканер портов?
Инструмент Port Scanner показывает, какие порты в сети открыты для связи. Независимо от того, открыт порт или нет, это может помочь с настройкой IP-камер безопасности, определением безопасности сети, а также другими операциями, связанными с сетью.
Типы сканирования
Для начала введите действительный IP-адрес или URL-адрес вверху страницы. После этого вы можете сканировать порты на IP / URL по отдельности или в готовых пакетах. Если вы являетесь Золотым участником, вы также можете сканировать порты в числовом диапазоне или в пользовательском пакете (не более 100 портов одновременно для любого типа сканирования).
- Для индивидуального сканирования выберите «индивидуальный», введите действительный номер порта и выберите «Сканировать». Инструмент отобразит статус выбранного порта под кнопкой сканирования.
- Чтобы сканировать по типу пакета, выберите «пакет» и выберите пакет в раскрывающемся меню. Порты, содержащиеся в пакете, будут отображаться под раскрывающимся списком. Когда вы сделали свой выбор, выберите «Сканировать». Инструмент отобразит состояние каждого порта в пакете под кнопкой сканирования.
- Чтобы сканировать по числовому диапазону, выберите «диапазон», введите допустимый номер порта для запуска, введите другой допустимый номер порта для остановки и выберите «Сканировать». Затем инструмент отобразит состояние каждого порта между начальным и конечным портами, включая начальный и конечный, под кнопкой сканирования.
- Чтобы сканировать с помощью специального пакета, выберите «Custom», введите каждый желаемый порт для сканирования в отдельной строке в показанном текстовом поле и выберите «Сканировать». Затем инструмент отобразит состояние каждого введенного порта под кнопкой сканирования.
Если порт отображается как открытый, это означает, что он открыт для удаленной связи. В противном случае порт должен быть закрыт для удаленной связи. Просто потому, что порт отображается как закрытый с помощью нашего инструмента, вы всегда должны дважды проверять конфигурацию вашего маршрутизатора, чтобы быть уверенным.Низкая скорость сети или медленные машины могут привести к тому, что порты будут неправильно классифицированы как закрытые.
Пакеты сканирования портов
Базовый
- 21 — Протокол передачи файлов (FTP)
- 22 — Безопасный протокол передачи файлов (SFTP)
- 25 — Простой протокол передачи почты (SMTP)
- 26 — [угроза] W32.Netsky
- 80 — Протокол передачи гипертекста (HTTP)
- 110 — протокол почтового отделения v3 (POP3)
- 143 — Протокол доступа к сообщениям Интернета (IMAP)
- 443 — Протокол передачи гипертекста через TLS / SSL (HTTPS)
- 587 — Простой протокол передачи почты (часто более безопасный, чем порт 25
- 993 — Протокол доступа к Интернет-сообщениям через TLS / SSL (IMAPS)
- 995 — протокол почтового отделения 3 через TLS / SSL (POP3S)
- 2525 — Трояны удаленного доступа
- 3306 — СУБД MySQL
Web — сканирование портов в базовом пакете плюс порты ниже
- 23 — Протокол Telnet — обмен текстовыми сообщениями без шифрования
- 43 — Протокол WHOIS
- 53 — Система доменных имен (DNS)
- 67 — Сервер протокола динамической конфигурации хоста (DHCP) и протокола начальной загрузки (BOOTP)
- 68 — Клиент протокола динамической конфигурации хоста (DHCP) и протокола начальной загрузки (BOOTP)
- 69 — Простой протокол передачи файлов (TFTP)
- 123 — Network Time Protocol (NTP) — синхронизация времени
- 137 — Служба имен NetBIOS
- 138 — Служба дейтаграмм NetBIOS
- 139 — Служба сеансов NetBIOS
- 161 — Простой протокол управления сетью (SNMP)
- 162 — Простая ловушка протокола сетевого управления (SNMPTRAP)
- 389 — облегченный протокол доступа к каталогам (LDAP)
- 636 — облегченный протокол доступа к каталогам через TLS / SSL (LDAPS)
- 989 — протокол FTPS (данные), FTP через TLS / SSL
- 990 — протокол FTPS (контроль), FTP через TLS / SSL
- 2077 — Агент TrelliSoft
- 2078 — Сервер TrelliSoft
- 2082 — cPanel по умолчанию
- 2083 — Безопасная служба RADIUS (радсек)
- 2086 — WebHost Manager по умолчанию
- 2087 — SSL по умолчанию в WebHost Manager
- 2095 — веб-почта cPanel по умолчанию
- 2096 — cPanel SSL веб-почта по умолчанию
Игры
- 1725 — Клиент Steam Valve
- 2302 — ArmA и Halo: Combat Evolved
- 3074 — Xbox Live и / или игры для Windows Live
- 3724 — Мир Warcraft
- 6112 — Битва Blizzard.Net Gaming Service
- 6500 — Gamespy Arcade, Unreal, Tony Hawk, Warhammer, Starwars, Civilization III и IV, BoKS Master, Command & Conquer
- 12035 — Программа просмотра Linden Lab для симуляции на SecondLife
- 12036 — Вторая жизнь
- 14567 — Поле боя 1942 года
- 25565 — Выделенный сервер Minecraft
- 27015 — порт выделенного сервера GoldSrc и Source Engine
- 28960 — Call of Duty
Вредоносный
- 1080 — W32.Beagle, WinHole, W32.HLLW.Deadhat и некоторые другие, такие как клавиатурные шпионы, удаленные устройства контроля и т. Д.
- 2745 — Бэкдор Bagle Virus
- 3127 — W32.Mockbot, W32.Solame и другие
- 4444 — порт прослушивателя по умолчанию для Metasploit
- 5554 — W32.Dabber и W32.Sasser
- 8866 — W32 Бигл
- 9898 — CrashCool и W32.Dabber
- 9988 — Используется многими троянами и червями
- 12345 — Используется многими троянами и червями
- 27374 — Используется многими троянами, взломами удаленного доступа, червями и т. Д.
- 31337 — Используется многими троянами и червями
Что такое сканирование портов?
Сканирование портов — это метод определения открытых портов в сети. Поскольку порты на компьютере — это место, откуда отправляется и принимается информация, сканирование портов аналогично стуку в двери, чтобы узнать, дома ли кто-то. Сканирование портов в сети или на сервере показывает, какие порты открыты и слушают (получают информацию), а также обнаруживает наличие устройств безопасности, таких как межсетевые экраны, которые находятся между отправителем и целью.Этот метод известен как снятие отпечатков пальцев. Это также полезно для тестирования сетевой безопасности и прочности системного брандмауэра. Благодаря этой функциональности, это также популярный инструмент разведки для злоумышленников, которые ищут слабое место для проникновения в компьютер.
Порты различаются по предлагаемым услугам. Они пронумерованы от 0 до 65535, но чаще используются определенные диапазоны. Порты от 0 до 1023 идентифицированы как «хорошо известные порты» или стандартные порты и были назначены службами Службой присвоения номеров Интернета (IANA).Некоторые из наиболее известных портов и назначенные им услуги включают в себя:
- Порт 20 (udp) — протокол передачи файлов (FTP) для передачи данных
- Порт 22 (tcp) — протокол Secure Shell (SSH) для безопасного входа в систему, ftp и переадресации портов
- Порт 23 (tcp) — протокол Telnet для обмена незашифрованным текстом
- Порт 53 (udp) — система доменных имен (DNS) преобразует имена всех компьютеров в Интернете в IP-адреса
- Порт 80 (tcp) — World Wide Web HTTP
Существуют стандартные службы, предлагаемые на портах после 1023, и порты, которые, если они открыты, указывают на зараженную систему из-за ее популярности среди некоторых далеко идущих троянов и вирусов.
Сканирование портов отправляет тщательно подготовленный пакет на каждый номер порта назначения. Основные методы, которые может использовать программное обеспечение для сканирования портов:
- Vanilla — самый простой скан; попытка подключиться ко всем 65 536 портам по очереди. Ванильное сканирование — это полное сканирование соединения, то есть оно отправляет флаг SYN (запрос на подключение), а после получения ответа SYN-ACK (подтверждение соединения) отправляет обратно флаг ACK. Этот обмен SYN, SYN-ACK, ACK представляет собой установление связи TCP.Сканирование полного соединения является точным, но его очень легко обнаружить, поскольку полные соединения всегда регистрируются брандмауэрами.
- SYN-сканирование — также называется полуоткрытым сканированием, оно отправляет только SYN и ожидает ответа SYN-ACK от цели. Если ответ получен, сканер никогда не отвечает. Поскольку TCP-соединение не было завершено, система не регистрирует взаимодействие, но отправитель узнал, открыт порт или нет.
- Сканирование XMAS и FIN — пример набора сканирований, используемых для сбора информации без регистрации целевой системой.При сканировании FIN на порт будет отправлен незапрашиваемый флаг FIN (обычно используемый для завершения установленного сеанса). Реакция системы на этот случайный флаг может показать состояние порта или информацию о брандмауэре. Например, закрытый порт, который получает незапрошенный пакет FIN, ответит пакетом RST (мгновенное прерывание), но открытый порт его проигнорирует. Сканирование XMAS просто отправляет набор всех флагов, создавая бессмысленное взаимодействие. Ответ системы можно интерпретировать, чтобы лучше понять системные порты и брандмауэр.
- Сканирование отказов FTP — позволяет скрыть местоположение отправителя путем пересылки пакета через FTP-сервер. Это также сделано для того, чтобы отправитель оставался незамеченным.
- Sweep scan — проверяет один и тот же порт на нескольких компьютерах, чтобы определить, какие компьютеры в сети активны. Это не раскрывает информацию о состоянии порта, а сообщает отправителю, какие системы в сети активны. Таким образом, его можно использовать как предварительное сканирование.
Сканирование, предназначенное для того, чтобы отправитель оставался незамеченным журналом принимающей системы, известен как скрытое сканирование и представляет особый интерес для злоумышленников. Несмотря на свою популярность в этой области, сканирование портов является ценным инструментом для снятия отпечатков пальцев в сети и для тестера на проникновение для оценки прочности сетевой безопасности.
Интернет-сканер портовна базе Nmap
Запуск онлайн-сканирования портов Nmap за 3 простых шага
Шаг 1.Заполните форму; ввод адреса или имени хоста цели (ей)
Введите общедоступный IP-адрес или имя хоста, доступный с точки зрения внешнего выхода в Интернет. У вас должно быть разрешение на сканирование цели. Онлайн-сканирование портов Nmap также может выполняться по списку действительных целевых адресов; просто включите цели , разделенные запятыми, или , как список с разрывами строк.
Сканировать один IP-адрес или имя хоста
Пример:
192.168.1.1
example.com
Сканировать диапазон IP-адресов
Пример:
192.168.1.0/24
192.168.1.1-50
При выборе опции «Объединить отчет» участники могут выбрать получение одного отчета, который включает сводную таблицу нескольких запрошенных целей NMAP, а также полные результаты, представленные в одном файле.
Шаг 2. Решите, какие порты вы хотите сканировать.
Выберите опцию порта на основе стандартных опций Nmap; По умолчанию , Быстрое сканирование (-F) или Сканировать все 65535 портов на IP-адресе.Сканирование всех портов — самый точный способ обнаружить каждую прослушивающую службу. Для всестороннего тестирования конфигурации брандмауэра требуется полное сканирование всех портов. Обратите внимание, что полное сканирование может занять от 20 минут до пары часов в зависимости от сети.
Также доступно сканирование общих портов UDP , а также опция конфигурации настраиваемого порта , где вы можете выбрать подмножество определенных портов (udp или tcp).
Можно указать дополнительную конфигурацию
- Протокол по умолчанию — IPv4, выберите опцию протокола, чтобы включить IPv6 (опция nmap -6)
- Ping выполняется по умолчанию, чтобы убедиться, что система отвечает, выберите опцию , чтобы отключить ping (параметр nmap -Pn)
- Включить обнаружение ОС для проверки версии операционной системы (опция nmap -O)
- Выполнить необязательно. Traceroute использует результаты сканирования портов для поиска наиболее точного метода (опция nmap —traceroute)
Шаг 3. Последний шаг — просто запустить сканирование портов.
Фактическое время сканирования сильно зависит от целевой сети и количества сканируемых портов.
Результаты Nmap будут доставлены на ваш зарегистрированный адрес электронной почты после завершения сканирования порта. Результаты также доступны для загрузки на панели инструментов участников. Улучшите свой рабочий процесс создания отчетов о безопасности с помощью простой в использовании опции экспорта в XLSX для всех открытых портов. Создание сводных отчетов для нескольких профилей сканирования и / или сетей.
Примеры результатов из Nmap Online
При настройках по умолчанию сканирование портов выполняется с использованием теста TCP SYN .Это стандартное сканирование портов Nmap ( -sS ) с включенным определением версии ( nmap -sV ). Любые другие выбранные необязательные параметры будут включены.
Результаты отправляются на зарегистрированный адрес электронной почты пользователя. Результаты сканирования доступны в виде обычного текста и форматов HTML .
О программном обеспечении сканера портов Nmap
Nmap — это сканер сетевых портов, который проверяет сетевое соединение между различными хостами и службами. Межсетевые экраны, списки контроля доступа маршрутизатора и другие факторы могут влиять на сетевое соединение.
Первоначально Nmap был простым, но мощным инструментом, который позволял сканировать сети или отдельные хосты, чтобы определить, были ли запущены службы и присутствует ли межсетевой экран. Современные версии Nmap имеют расширенные возможности, включая встроенный язык сценариев (NSE), который может выполнять множество дополнительных проверок любых открытых служб. Этот постоянно растущий список скриптов подтолкнул Nmap к уровню быстрого легкого сканера уязвимостей .
Загрузите Nmap сегодня с insecure.org, он доступен в версиях для Windows (XP, 2003, 2008) и Linux / FreeBSD. Zenmap — это графический интерфейс для тех, кто не знаком с командной строкой. При установке Nmap я рекомендую вам скачать его из исходного кода, поскольку он постоянно совершенствуется и расширяется. Дистрибутивы Linux не всегда будут иметь последнюю версию в репозитории пакетов.
Что такое сканер портов и как он работает?
Сканер портов — это компьютерная программа, которая проверяет сетевые порты на один из трех возможных состояний — открытый, закрытый или отфильтрованный.
Сканеры портов— ценные инструменты для диагностики проблем с сетью и подключением. Однако злоумышленники используют сканеры портов для обнаружения возможных точек доступа для проникновения и определения того, какие типы устройств вы используете в сети, например брандмауэры, прокси-серверы или 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 и спрашивает порт об их текущем состоянии. Ниже приведены три типа ответов:
- Открыть, принять : компьютер отвечает и спрашивает, можно ли что-нибудь сделать для вас.
- Закрыт, не прослушивает : компьютер отвечает, что «Этот порт в настоящее время используется и в данный момент недоступен».
- Отфильтровано, удалено, заблокировано : компьютер даже не пытается ответить.
Сканирование портов обычно выполняется на ранних этапах цепочки кибер-убийств, во время разведки и вторжения. Злоумышленники используют сканирование портов для обнаружения целей с открытыми и неиспользуемыми портами, которые они могут использовать для проникновения, управления и контроля и кражи данных, или обнаруживают, какие приложения работают на этом компьютере, чтобы использовать уязвимость в этом приложении.
Методы сканирования портов
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-соединения состоит в том, что пользователю не нужен тот же уровень привилегий для запуска, что и для запуска полуоткрытого сканирования.Сканирование 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 : может отличать открытые порты от закрытых портов, но работает только в меньшинстве систем
- –scanflags : для опытных пользователей, которые хотят отправлять свои собственные флаги TCP при сканировании, вы можете сделать это в Nmap .
- Nmap
- Сканер портов Solarwinds
- Netcat
- Расширенный сканер портов
- Инструменты NetScan
Как обнаружить сканирование портов?
Существует несколько различных методов обнаружения сканирования портов, которые могут быть попытками сканирования вашей сети на наличие уязвимостей.
One — это специальное программное приложение для обнаружения сканирования портов, такое как PortSentry или Scanlogd.
Netcat включает функцию сканирования портов, а также возможность создавать простой чат-сервер или программировать различные пакеты для целей тестирования.
Системы обнаружения вторжений (IDS) — еще один способ обнаружения сканирования портов. Ищите систему IDS, которая использует широкий спектр правил для обнаружения различных видов сканирования портов, не основанных только на пороговых значениях.
Почему следует запускать сканирование портов?
Вам следует заранее запустить сканирование портов, чтобы обнаружить и закрыть все возможные уязвимости, которыми могут воспользоваться злоумышленники.
Упреждающее сканирование портов — хорошая привычка, которую следует повторять регулярно. Кроме того, проверьте и проверьте все открытые порты, чтобы убедиться, что они используются правильно, и что любые приложения, которые действительно используют открытые порты, безопасны и защищены от известных уязвимостей.
Последствия запуска сканирования портов
Вот некоторые предостережения при сканировании портов. Некоторые службы или компьютеры могут выйти из строя при сканировании портов. Это больше касается внутренних систем, чем систем с выходом в Интернет, но это может случиться.
Запуск сканирования портов без авторизации может рассматриваться как агрессивное действие, и если вы находитесь в общей сети, вы можете сканировать систему, которая не находится под вашим контролем, что нехорошо.
Сканирование портов — важная часть построения надежной защиты от кибератак. Злоумышленники также используют сканирование портов. Вам нужно превзойти их, перекрыть возможные векторы атаки и максимально усложнить их жизнь.
Однако защита периметра — это только часть битвы.Вам необходимо защищать и контролировать свои данные с той же бдительностью, которую вы защищаете и контролируете свои порты. Платформа безопасности данных Varonis помогает вам защитить ваши данные, создавая внутренние барьеры для ваших наиболее конфиденциальных данных, а затем отслеживая все действия, которые могут повлиять на эти данные.
Посетите нашу лабораторию Live Cyber Attack, чтобы узнать, как Varonis защищает данные от различных атак.
Что такое атаки со сканированием портов и как их предотвратить?
Сканирование портов, которое используется для определения того, открыты ли порты в сети для приема пакетов от других устройств, может…
будет полезен для служб безопасности, чтобы помочь укрепить оборону. Но этот процесс также может быть использован злоумышленниками, пытающимися найти уязвимые порты для атаки.
Прежде чем углубляться в то, что такое атаки со сканированием портов, а также как предотвратить и защититься от них, давайте посмотрим, что такое порты и сканирование портов.
Что такое порт?Порт — это конечная точка связи, через которую проходят блоки данных, известные как пакеты , . Протоколы транспортного уровня используют номера портов для связи и обмена пакетами.Наиболее известными протоколами транспортного уровня являются протокол управления передачей (TCP), ориентированный на соединение протокол, который требует установленного соединения перед отправкой данных, и протокол пользовательских дейтаграмм (UDP), протокол без установления соединения, который не требует двустороннего соединения. быть установленным для начала связи.
Каждый порт, используемый TCP и UDP, связан с определенным процессом или службой. Номера портов в диапазоне от 0 до 65535 стандартизированы для устройств, подключенных к сети.Порт 0 зарезервирован в сети TCP / IP и не должен использоваться в сообщениях TCP или UDP. Порты с 1 по 1023 являются хорошо известными портами, используемыми по умолчанию для интернет-протоколов, как это определено Internet Assigned Numbers Authority (IANA).
Номера портов в диапазоне от 1024 до 29151 зарезервированы для портов, зарегистрированных в IANA, для связи с конкретными протоколами. Порты в диапазоне от 49152 до 65535 являются временными портами, которые используются по мере необходимости для адресации динамических соединений.
К наиболее часто используемым портам относятся следующие:
- TCP-порт 80 и UDP-порт 80 используются для HTTP.
- TCP-порт 443 и UDP-порт 443 используются для HTTPS.
- TCP-порт 465 используется для почтовых серверов, таких как Simple Mail Transfer Protocol.
Сканирование портов — это серия сообщений, отправленных кем-то, чтобы узнать, какие компьютерные сетевые службы предоставляет данный компьютер. Сканеры портов — это приложения, которые определяют, какие порты и службы открыты или закрыты на устройстве, подключенном к Интернету. Сканер портов может отправить запрос на подключение к целевому компьютеру по всем 65 536 портам и записать, какие порты отвечают и как.Типы ответов, полученных от портов, показывают, используются они или нет.
Корпоративные межсетевые экраны могут отвечать на сканирование портов тремя способами:
- Открыть. Если порт открыт, или слушает , он ответит на запрос.
- Закрыто. Закрытый порт ответит сообщением о том, что он получил открытый запрос, но отклонил его. Таким образом, когда настоящая система отправляет открытый запрос, она знает, что запрос был получен, но нет необходимости повторять попытки.Однако этот ответ также показывает наличие компьютера за отсканированным IP-адресом.
- Нет ответа. Также известен как отфильтровано или отброшено , это не требует ни подтверждения запроса, ни отправки ответа. Отсутствие ответа указывает сканеру портов, что брандмауэр, вероятно, отфильтровал пакет запроса, что порт заблокирован или что порта там нет. Например, если порт заблокирован или находится в скрытом режиме, брандмауэр не ответит сканеру портов.Интересно, что заблокированные порты нарушают правила поведения TCP / IP, и поэтому брандмауэр должен подавлять ответы закрытого порта компьютера. Группы безопасности могут даже обнаружить, что корпоративный брандмауэр не заблокировал все сетевые порты. Например, если порт 113, используемый протоколом идентификации, полностью заблокирован, подключения к некоторым удаленным интернет-серверам, таким как Internet Relay Chat, могут быть отложены или вообще запрещены. По этой причине многие правила брандмауэра устанавливают порт 113 как закрытый вместо того, чтобы полностью его блокировать.
Общая цель сканирования портов — составить карту ОС системы, а также приложений и служб, которые она запускает, чтобы понять, как она защищена и какие уязвимости могут присутствовать и которыми можно воспользоваться.
Типы сканирования портовПоскольку TCP и UDP являются наиболее часто используемыми протоколами транспортного уровня, они часто используются при сканировании портов.
По умолчанию TCP отправляет пакет подтверждения (ACK), чтобы сообщить отправителю, был ли пакет получен.Если информация не получена, отклонена или получена по ошибке, отправляется отрицательный ACK или NACK. UDP, с другой стороны, не отправляет ACK при получении пакета; он только отвечает сообщением «ICMP [протокол управляющих сообщений Интернета] порт недоступен», если информация не получена.
Таким образом, существует несколько типов методов сканирования портов, включая следующие:
- Пинг-сканирование или развернутое сканирование сканирует один и тот же порт на нескольких компьютерах, чтобы определить, активны ли они.Это включает отправку эхо-запроса ICMP, чтобы узнать, какие компьютеры отвечают.
- TCP SYN сканирование или TCP полуоткрытое сканирование , является одним из наиболее распространенных типов сканирования портов. Он включает отправку пакетов синхронизации TCP (SYN) для инициирования связи, но не завершает соединение.
- A TCP-соединение , также известное как обычное сканирование , похоже на сканирование TCP SYN в том, что оно отправляет пакеты TCP SYN для инициирования связи, но это сканирование завершает соединение, отправляя ACK.
- Сканирование строба — это попытка подключиться только к выбранным портам, обычно меньше 20.
- Сканирование UDP ищет открытые порты UDP.
- При сканировании отказов FTP сервер FTP используется для сканирования других хостов. Попытки сканирования, направленные через FTP-сервер, маскируют исходный адрес сканера портов.
- При фрагментированном сканировании заголовок TCP разбивается на несколько пакетов, чтобы предотвратить обнаружение брандмауэром.
- Скрытое сканирование включает несколько методов сканирования, пытающихся предотвратить регистрацию запроса на соединение.
Сканирование портов не обязательно указывает на атаку. Важно знать, почему собирается информация о сканировании портов и для чего она используется.
Сканирование портов — один из самых популярных методов сбора информации, используемых злоумышленниками.В рамках процесса разведки злоумышленник может использовать данные, собранные при сканировании портов, чтобы выяснить, какие службы работают на устройстве, и получить представление об используемой ОС. Затем эти данные можно использовать для пометки уязвимых систем с целью использования их для получения доступа к сети.
С другой стороны, группы безопасности и тестеры на проникновение могут использовать данные сканирования портов для выявления уязвимостей, новых устройств в сети, которые могут потребовать внимания, потенциальных неправильных конфигураций и других дыр в покрытии безопасности для усиления защиты.
Когда маршрутизатор сообщает о нескольких периодических случаях зондирования с помощью грубой силы, он записывает запросы порта от сканера портов. Это может быть или не быть злонамеренным, потому что большинство подключенных к Интернету систем сканируются каждый день.
Практика сканирования портов стара как Интернет. Хотя протоколы менялись с течением времени, а инструменты и системы безопасности развивались с годами, предупреждения о сканировании портов все еще необходимо обнаруживать и принимать меры, особенно когда группа безопасности не сканирует свои собственные системы.
Как обнаружить атаку сканирования портовАтака сканирования порта должна быть обнаружена, прежде чем ее можно будет остановить. При правильной установке и настройке современные устройства безопасности довольно эффективно обнаруживают сканирование портов, отслеживая попытки доступа к системам в локальной сети.
Большинство устройств безопасности могут связывать текущие повторяющиеся попытки сканирования из одного и того же источника независимо от того, нацелены ли они на один или несколько хостов. Чтобы быть эффективными, атакам со сканированием портов может потребоваться зондирование множества различных портов во многих различных системах в течение относительно короткого периода времени, что упрощает обнаружение попыток.Чтобы противостоять этому, некоторые злоумышленники могут посчитать предпочтительным исследовать открытые порты в течение гораздо более длительного периода времени, и в этом случае становится труднее обнаружить атаку сканирования портов. Однако недостатком для злоумышленника является то, что поиск уязвимой системы может занять часы, дни или больше.
Как предотвратить и заблокировать сканирование портов в сетиНевозможно предотвратить акт сканирования портов; любой может выбрать IP-адрес и просканировать его на предмет открытых портов. Чтобы должным образом защитить корпоративную сеть, группы безопасности должны выяснить, что злоумышленники обнаружат во время сканирования портов своей сети, запустив собственное сканирование.Однако имейте в виду, что оценки безопасности и тесты на проникновение для многих сервисов облачного хостинга, таких как AWS, требуют утверждения перед сканированием.
Как только администраторы безопасности узнают, какие порты отвечают как открытые, они могут проверить, должны ли эти порты быть доступны извне корпоративной сети. В противном случае администраторы безопасности должны закрыть их или заблокировать. Если открытые порты считаются необходимыми, администраторы должны начать исследовать, для каких уязвимостей и эксплойтов открыта сеть, и применить соответствующие исправления для защиты сети.
Некоторые типы межсетевых экранов используют адаптивное поведение, что означает, что они будут автоматически блокировать ранее открытые и закрытые порты, если их проверяет подозрительный IP-адрес. Брандмауэры также могут быть настроены так, чтобы предупреждать администраторов, если они обнаруживают запросы на соединение через широкий диапазон портов от одного хоста. Однако хакеры могут обойти эту защиту, проведя сканирование портов в стробирующем или скрытом режиме.
Брандмауэры и системы обнаружения вторжений всегда должны быть настроены так, чтобы обнаруживать и блокировать необычные попытки подключения и запросы.Например, после завершения сканирования портов злоумышленники могут запустить несколько зондирующих атак, чтобы подтвердить предыдущие исследования или получить дополнительную информацию, необходимую для отработки их основной атаки. Подача аномальной активности в SIEM-систему может обеспечить обратную связь в реальном времени и улучшить автоматические реакции на события.
Инструменты для сканирования портовДля выполнения сканирования портов можно использовать различные инструменты, в том числе следующие:
- Nmap
- Расширенный сканер портов
- Сканер Angry IP
- Metasploit
- Netcat
- NetScanTools
- Сканер портов SolarWinds
- Unicornscan
Сканер открытых портов — сканирование и проверка открытых портов
Что такое порт?Порт — это конечная точка связи, через которую отправляется и принимается информация.Порты — это часть того, как компьютеры могут подключаться к сетям. Веб-страницы зависят от портов, чтобы быть доступными для клиентов. Порты различаются по протоколам и типам услуг, которые они предлагают. Наиболее распространенными протоколами для портов являются протокол управления передачей (TCP) и протокол пользовательских дейтаграмм (UDP).
Что такое открытый порт?Открытые порты «открыты» для удаленной связи. Они обозначают номера портов TCP и UDP, настроенные для приема пакетов.Порт, отклоняющий соединения и пакеты, «закрыт».
Открытые порты необходимы для работы приложений и для доступа клиентов к вашему серверу.
Как я могу узнать, какие порты открыты в моей сети?Вы можете провести сканирование портов, чтобы увидеть, какие порты открыты в вашей сети. Сканирование портов работает путем отправки клиентских запросов на ряд хостов, чтобы определить, какие порты являются активными. Это просто сообщает вам, активны ли порты, и определяет, доступны ли его службы для удаленного устройства.
Что такое инструмент сканирования открытых портов?Инструмент сканера открытых портов предназначен для сканирования сервера или хоста на предмет открытых портов. Эти инструменты используются для сканирования уязвимостей, поскольку открытые порты могут действовать как бреши в безопасности, которые могут использовать злоумышленники.
Сканеры портов проверяют открытые порты и отображают те, которые открыты для связи. Они определяют это, отправляя клиентские запросы на порты на хосте (IP или URL).
Как работает сканер открытых портов?Все сканеры портов делают определенные базовые предположения, но они могут работать по-разному и различаться по сложности. Некоторые сканеры открытых портов сканируют только наиболее распространенные номера портов или порты, которые могут иметь уязвимости. Это зависит от используемого вами сканера и ваших индивидуальных предпочтений.
Общие типы сканирования портов включают:
- Сканирование TCP-портов — это метод проверки открытых портов на наличие общих номеров портов.Он не проверяет диапазоны IP-адресов или все 63535 портов. Сканирование TCP-портов покажет, присутствует ли брандмауэр и блокирует ли трафик к определенным портам. Сканирование
- Ping может сканировать сетевые блоки, чтобы проверить, реагируют ли цели. Сканирование ping отправляет клиентские запросы к цели для генерации ответа. Сканирование
- UDP — это протокол без установления соединения, обычно используемый для обнаружения служб DNS, SNMP и DHCP. Если пакет UDP достигает закрытого порта, система отвечает сообщением «недоступен» ICMP.
Использование сканера открытого IP-порта может помочь выявить уязвимости, которые потенциально могут использовать злоумышленники, и позволит вам лучше понять, как маршрутизируется ваша сеть. Сканирование портов также является важной частью проведения тестов на проникновение, таких как моделирование атак грубой силы SNMP. Как правило, брандмауэры и протоколы безопасности можно настроить для защиты портов и блокировки трафика от атак.