проводим сканирование сети самостоятельно / Блог компании Positive Technologies / Хабр
В свете последних событий в мире много компаний перешли на удаленный режим работы. При этом для сохранения эффективности бизнес-процессов на сетевые периметры были вынесены приложения, которые не предназначены для прямого размещения на периметре, например внутрикорпоративные веб-приложения, на эту тему недавно было наше исследование. Если между службами ИТ и ИБ нет тесной связи, возникают ситуации, когда на сетевом периметре появилось бизнес-приложение, о котором у службы ИБ нет информации.Решением подобных проблем может быть периодическое исследование периметра организации. Для решения задачи подходят сетевые сканеры, поисковики по интернету вещей, сканеры уязвимостей и услуги по анализу защищенности. Далее в статье рассмотрим виды и параметры сканирования, их преимущества и недостатки, инструменты, которые часто используются, и методы обработки результатов.
Ping-сканирование
Первый рассматриваемый вид сканирования — ping-сканирование. Основная задача — обнаружить «живые» узлы в сети. Под ping-сканированием понимают широковещательную рассылку пакетов ICMP. Сканер рассылает пакеты типа Echo REQUEST по указанным IP-адресам и ожидает в ответ пакеты типа Echo REPLY. Если ответ получен, считается, что узел присутствует в сети по указанному IP-адресу.
Протокол ICMP широко используется администраторами сетей для диагностики, поэтому, чтобы избежать разглашения информации об узлах, важна корректная настройка средств защиты периметра. Для корпоративных сетей такой вид сканирования не релевантен при внешнем сканировании, потому что большинство средств защиты по умолчанию блокируют протокол ICMP либо ответы по этому протоколу. При отсутствии нестандартных задач в корпоративной сети на выход, как правило, разрешены следующие виды ICMP-сообщений: Destination Unreachable, Echo REQUEST, Bad IP header, а на вход разрешены Echo REPLY, Destination Unreachable, Source Quench, Time Exceeded, Bad IP header. В локальных сетях не такая строгая политика безопасности, и злоумышленники могут применять этот способ, когда уже проникли в сеть, однако это легко детектируется.
Сканирование портов
Объединим TCP-сканирование и UDP-сканирование под общим названием — сканирование портов. Сканирование этими методами определяет доступные порты на узлах, а затем на основе полученных данных делается предположение о типе используемой операционной системы или конкретного приложения, запущенного на конечном узле. Под сканированием портов понимают пробные попытки подключения к внешним узлам. Рассмотрим основные методы, реализованные в автоматизированных сетевых сканерах:
- TCP SYN,
- TCP CONNECT,
- UDP scan.
Метод TCP SYN — наиболее популярен, используется в 95% случаев. Его называют сканированием с установкой полуоткрытого соединения, так как соединение не устанавливается до конца. На исследуемый порт посылается сообщение SYN, затем идет ожидание ответа, на основании которого определяется статус порта. Ответы SYN/ACK говорят о том, что порт прослушивается (открыт), а ответ RST говорит о том, что не прослушивается. Если после нескольких запросов не приходит никакого ответа, то сетевой трафик до порта узла назначения фильтруется средствами межсетевого экранирования (далее будем использовать термин «порт фильтруется»). Также порт помечается как фильтруемый, если в ответ приходит сообщение ICMP с ошибкой достижимости (Destination Unreachable) и определенными кодами и флагами.
Метод TCP CONNECT менее популярен, чем TCP SYN, но все-таки часто встречается на практике. При реализации метода TCP CONNECT производится попытка установить соединение по протоколу TCP к нужному порту с процедурой handshake. Процедура заключается в обмене сообщениями для согласования параметров соединения, то есть служебными сообщениями SYN, SYN/ACK, ACK, между узлами. Соединение устанавливается на уровне операционной системы, поэтому существует шанс, что оно будет заблокировано средством защиты и попадет в журнал событий.
UDP-сканирование медленнее и сложнее, чем TCP-сканирование. Из-за специфики сканирования UDP-портов о них часто забывают, ведь полное время сканирование 65 535 UDP-портов со стандартными параметрами на один узел занимает у большинства автоматизированных сканеров до 18 часов. Это время можно уменьшить за счет распараллеливания процесса сканирования и рядом других способов. Следует уделять внимание поиску UDP-служб, потому что UDP-службы реализуют обмен данными с большим числом инфраструктурных сервисов, которые, как правило, вызывают интерес злоумышленников.
На сетевых периметрах часто встречаются UDP-сервисы DNS (53), NTP (123), SNMP (161), VPN (500, 1194, 4500), RDG (3391). Реже встречаются сервисные службы типа echo (7), discard (9), chargen (19), а также DAYTIME (13), TFTP (69), SIP (5060), сервисы NFS (2049), RPC (111, 137-139, 761 и др.), СУБД (1434).
Для определения статуса порта посылается пустой UDP-заголовок, и если в ответ приходит ошибка достижимости ICMP Destination Unreachable с кодом Destination port unreachable, это значит, что порт закрыт; другие ошибки достижимости ICMP (Destination host unreachable, Destination protocol unreachable, Network administratively prohibited, Host administratively prohibited, Communication administratively prohibited) означают, что порт фильтруется. Если порт отвечает UDP-пакетом, значит, он открыт. Из-за специфики UDP и потери пакетов запросы повторяются несколько раз, обычно три и более. Как правило, если ответ не получен, статус порта определяется в состоянии «открыт» или «фильтруется», поскольку непонятно, что стало причиной — блокировка трафика средством защиты или потеря пакетов.
Для точности определения статуса порта и самой службы, запущенной на UDP-порте, используется специальная полезная нагрузка, наличие которой должно вызвать определенную реакцию у исследуемого приложения.
Редкие методы сканирования
Методы, которые практически не используются:
- TCP ACK,
- TCP NULL, FIN, Xmas,
- «Ленивое сканирование».
Прямое назначение метода ACK-сканирования — выявить правила средств защиты, а также определить фильтруемые порты. В пакете запроса при таком типе сканирования установлен только ACK-флаг. Открытые и закрытые порты вернут RST-пакет, так как порты достижимы для ACK-пакетов, но состояние неизвестно. Порты, которые не отвечают или посылают в ответ ICMP-сообщение Destination Unreachable с определенными кодами считаются фильтруемыми.
Методы TCP NULL, FIN, Xmas заключаются в отправке пакетов с отключенными флагами в заголовке TCP. При NULL-сканировании не устанавливаются никакие биты, при FIN-сканировании устанавливается бит TCP FIN, а в Xmas-сканировании устанавливаются флаги FIN, PSH и URG. Методы основаны на особенности спецификации RFC 793, согласно которой при закрытом порте входящий сегмент, не содержащий RST, повлечет за собой отправку RST в ответ. Когда порт открыт, ответа не будет. Ошибка достижимости ICMP означает, что порт фильтруется. Эти методы считаются более скрытными, чем SYN-сканирование, однако и менее точны, потому что не все системы придерживаются RFC 793.
«Ленивое сканирование» является самым скрытным из методов, поскольку для сканирования используется другой узел сети, который называется зомби-узлом. Метод применяется злоумышленниками для разведки. Преимущество такого сканирования в том, что статус портов определяется для зомби-узла, поэтому, используя разные узлы, можно установить доверительные связи между узлами сети. Полное описание метода доступно по ссылке.
Процесс выявления уязвимостей
Под уязвимостью будем понимать слабое место узла в целом или его отдельных программных компонентов, которое может быть использовано для реализации атаки. В стандартной ситуации наличие уязвимостей объясняется ошибками в программном коде или используемой библиотеке, а также ошибками конфигурации.
Ошибка конфигурации — тоже уязвимость, но подобные уязвимости нечасто попадают в базу MITRE; впрочем, они все равно попадают в базы знаний сканеров с внутренними идентификаторами. В базы знаний сканеров попадают и другие типы уязвимостей, которых нет в MITRE CVE, поэтому при выборе инструмента для сканирования важно обращать внимание на экспертизу его разработчика. Сканер уязвимостей будет опрашивать узлы и сравнивать собранную информацию с базой данных уязвимостей или списком известных уязвимостей. Чем больше информации у сканера, тем точнее результат.
Рассмотрим параметры сканирования, виды сканирования и принципы обнаружения уязвимостей при помощи сканеров уязвимостей.
Параметры сканирования
За месяц периметр организации может неоднократно поменяться. Проводя сканирование периметра в лоб можно затратить время, за которое результаты станут нерелевантными. При сильном увеличении скорости сканирования сервисы могут «упасть». Надо найти баланс и правильно выбрать параметры сканирования. От выбора зависят потраченное время, точность и релевантность результатов. Всего можно сканировать 65 535 TCP-портов и столько же UDP-портов. По нашему опыту, среднестатистический периметр компании, который попадает в пул сканирования, составляет две полных сети класса «С» с маской 24.
Основные параметры:
- количество портов,
- глубина сканирования,
- скорость сканирования,
- параметры определения уязвимостей.
По количеству портов сканирование можно разделить на три вида — сканирование по всему списку TCP- и UDP-портов, сканирование по всему списку TCP-портов и популярных UDP-портов, сканирование популярных TCP- и UDP-портов. Как определить популярности порта? В утилите nmap на основе статистики, которую собирает разработчик утилиты, тысяча наиболее популярных портов определена в конфигурационном файле. Коммерческие сканеры также имеют преднастроенные профили, включающие до 3500 портов.
Важная ремарка: не получится увидеть реальную картину периметра, сканируя из локальной сети, потому что на сканер будут действовать правила межсетевых экранов для трафика из внутренней сети. Сканирование периметра необходимо проводить с одной или нескольких внешних площадок; в использовании разных площадок есть смысл, только если они расположены в разных странах.
Под глубиной сканирования подразумевается количество данных, которые собираются о цели сканирования. Сюда входит операционная система, версии программного обеспечения, информация об используемой криптографии по различным протоколам, информация о веб-приложениях. При этом имеется прямая зависимость: чем больше хотим узнать, тем дольше сканер будет работать и собирать информацию об узлах.
При выборе скорости необходимо руководствоваться пропускной способностью канала, с которого происходит сканирование, пропускной способностью канала, который сканируется, и возможностями сканера. Существуют пороговые значения, превышение которых не позволяет гарантировать точность результатов, сохранение работоспособности сканируемых узлов и отдельных служб. Не забывайте учитывать время, за которое необходимо успеть провести сканирование.
Параметры определения уязвимостей — наиболее обширный раздел параметров сканирования, от которого зависит скорость сканирования и объем уязвимостей, которые могут быть обнаружены. Например, баннерные проверки не займут много времени. Имитации атак будут проведены только для отдельных сервисов и тоже не займут много времени. Самый долгий вид — веб-сканирование.
Полное сканирование сотни веб-приложений может длиться неделями, так как зависит от используемых словарей и количества входных точек приложения, которые необходимо проверить. Важно понимать, что из-за особенностей реализации веб-модулей и веб-сканеров инструментальная проверка веб-уязвимостей не даст стопроцентной точности, но может очень сильно замедлить весь процесс.
Веб-сканирование лучше проводить отдельно от регулярного, тщательно выбирая приложения для проверки. Для глубокого анализа использовать инструменты статического и динамического анализа приложений или услуги тестирования на проникновение. Мы не рекомендуем использовать опасные проверки при проведении регулярного сканирования, поскольку существует риск нарушения работоспособности сервисов. Подробно о проверках см. далее, в разделе про работу сканеров.
Инструментарий
Если вы когда-нибудь изучали журналы безопасности своих узлов, наверняка замечали, что интернет сканирует большое количество исследователей, онлайн-сервисы, ботнеты. Подробно описывать все инструменты нет смысла, перечислим некоторые сканеры и сервисы, которые используются для сканирования сетевых периметров и интернета. Каждый из инструментов сканирования служит своей цели, поэтому при выборе инструмента должно быть понимание, зачем он используется. Иногда правильно применять несколько сканеров для получения полных и точных результатов.
Сетевые сканеры: Masscan, Zmap, nmap. На самом деле утилит для сканирования сети намного больше, однако для сканирования периметра вряд ли вам понадобятся другие. Эти утилиты позволяют решить большинство задач, связанных со сканированием портов и служб.
Поисковики по интернету вещей, или онлайн-сканеры — важные инструменты для сбора информации об интернете в целом. Они предоставляют сводку о принадлежности узлов к организации, сведения о сертификатах, активных службах и иную информацию. С разработчиками этого типа сканеров можно договориться об исключении ваших ресурсов из списка сканирования или о сохранении информации о ресурсах только для корпоративного пользования. Наиболее известные поисковики: Shodan, Censys, Fofa.
Для решения задачи не обязательно применять сложный коммерческий инструмент с большим числом проверок: это излишне для сканирования пары «легких» приложений и сервисов. В таких случаях будет достаточно бесплатных сканеров. Бесплатных веб-сканеров много, и тяжело выделить наиболее эффективные, здесь выбор, скорее, дело вкуса; наиболее известные: Skipfish, Nikto, ZAP, Acunetix, SQLmap.
Для выполнения минимальных задач сканирования и обеспечения «бумажной» безопасности могут подойти бюджетные коммерческие сканеры с постоянно пополняемой базой знаний уязвимостей, а также поддержкой и экспертизой от вендора, сертификатами ФСТЭК. Наиболее известные: XSpider, RedCheck, Сканер-ВС.
При тщательном ручном анализе будут полезны инструменты Burp Suite, Metasploit и OpenVAS. Недавно вышел сканер Tsunami компании Google.
Отдельной строкой стоит упомянуть об онлайн-поисковике уязвимостей Vulners. Это большая база данных контента информационной безопасности, где собирается информация об уязвимостях с большого количества источников, куда, кроме типовых баз, входят вендорские бюллетени безопасности, программы bug bounty и другие тематические ресурсы. Ресурс предоставляет API, через который можно забирать результаты, поэтому можно реализовать баннерные проверки своих систем без фактического сканирования здесь и сейчас. Либо использовать Vulners vulnerability scanner, который будет собирать информацию об операционной системе, установленных пакетах и проверять уязвимости через API Vulners. Часть функций ресурса платные.
Средства анализа защищенности
Все коммерческие системы защиты поддерживают основные режимы сканирования, которые описаны ниже, интеграцию с различными внешними системами, такими как SIEM-системы, patch management systems, CMBD, системы тикетов. Коммерческие системы анализа уязвимостей могут присылать оповещения по разным критериям, а поддерживают различные форматы и типы отчетов. Все разработчики систем используют общие базы уязвимостей, а также собственные базы знаний, которые постоянно обновляются на основе исследований.
Основные различия между коммерческими средствами анализа защищенности — поддерживаемые стандарты, лицензии государственных структур, количество и качество реализованных проверок, а также направленность на тот или иной рынок сбыта, например поддержка сканирования отечественного ПО. Статья не призвана представить качественное сравнение систем анализа уязвимостей. На наш взгляд, у каждой системы есть свои преимущества и недостатки. Для анализа защищенности подходят перечисленные средства, можно использовать их комбинации: Qualys, MaxPatrol 8, Rapid 7 InsightVM, Tenable SecurityCenter.
Как работают системы анализа защищенности
Режимы сканирования реализованы по трем схожим принципам:
- Аудит, или режим белого ящика.
- Комплаенс, или проверка на соответствие техническим стандартам.
- Пентест, или режим черного ящика.
Основной интерес при сканировании периметра представляет режим черного ящика, потому что он моделирует действия внешнего злоумышленника, которому ничего не известно об исследуемых узлах. Ниже представлена краткая справка обо всех режимах.
Аудит — режим белого ящика, который позволяет провести полную инвентаризацию сети, обнаружить все ПО, определить его версии и параметры и на основе этого сделать выводы об уязвимости систем на детальном уровне, а также проверить системы на использование слабых паролей. Процесс сканирования требует определенной степени интеграции с корпоративной сетью, в частности необходимы учетные записи для авторизации на узлах.
Авторизованному пользователю, в роли которого выступает сканер, значительно проще получать детальную информацию об узле, его программном обеспечении и конфигурационных параметрах. При сканировании используются различные механизмы и транспорты операционных систем для сбора данных, зависящие от специфики системы, с которой собираются данные. Список транспортов включает, но не ограничивается WMI, NetBios, LDAP, SSH, Telnet, Oracle, MS SQL, SAP DIAG, SAP RFC, Remote Engine с использованием соответствующих протоколов и портов.
Комплаенс — режим проверки на соответствие каким-либо стандартам, требованиям или политикам безопасности. Режим использует схожие с аудитом механизмы и транспорты. Особенность режима — возможность проверки корпоративных систем на соответствие стандартам, которые заложены в сканеры безопасности. Примерами стандартов являются PCI DSS для платежных систем и процессинга, СТО БР ИББС для российских банков, GDPR для соответствия требованиям Евросоюза. Другой пример — внутренние политики безопасности, которые могут иметь более высокие требования, чем указанные в стандартах. Кроме того, существуют проверки установки обновлений и другие пользовательские проверки.
Пентест — режим черного ящика, в котором у сканера нет никаких данных, кроме адреса цели или доменного имени. Рассмотрим типы проверок, которые используются в режиме:
- баннерные проверки,
- имитация атак,
- веб-проверки,
- проверки конфигураций,
- опасные проверки.
Баннерные проверки основываются на том, что сканер определяет версии используемого программного обеспечения и операционной системы, а затем сверяет эти версии со внутренней базой уязвимостей. Для поиска баннеров и версий используются различные источники, достоверность которых также различается и учитывается внутренней логикой работы сканера. Источниками могут быть баннеры сервиса, журналы, ответы приложений и их параметры и формат. При анализе веб-серверов и приложений проверяется информация со страниц ошибок и запрета доступа, анализируются ответы этих серверов и приложений и другие возможные источники информации. Сканеры помечают уязвимости, обнаруженные баннерной проверкой, как подозрения на уязвимость или как неподтвержденную уязвимость.
Имитация атаки — это безопасная попытка эксплуатации уязвимости на узле. Имитации атаки имеют низкий шанс на ложное срабатывание и тщательно тестируются. Когда сканер обнаруживает на цели сканирования характерный для уязвимости признак, проводится эксплуатация уязвимости. При проверках используют методы, необходимые для обнаружения уязвимости; к примеру, приложению посылается нетипичный запрос, который не вызывает отказа в обслуживании, а наличие уязвимости определяется по ответу, характерному для уязвимого приложения.
Другой метод: при успешной эксплуатации уязвимости, которая позволяет выполнить код, сканер может направить исходящий запрос типа PING либо DNS-запрос от уязвимого узла к себе. Важно понимать, что не всегда уязвимости удается проверить безопасно, поэтому зачастую в режиме пентеста проверки появляются позже, чем других режимах сканирования.
Веб-проверки — наиболее обширный и долгий вид проверок, которым могут быть подвергнуты обнаруженные веб-приложения. На первом этапе происходит сканирование каталогов веб-приложения, обнаруживаются параметры и поля, где потенциально могут быть уязвимости. Скорость такого сканирования зависит от используемого словаря для перебора каталогов и от размера веб-приложения.
На этом же этапе собираются баннеры CMS и плагинов приложения, по которым проводится баннерная проверка на известные уязвимости. Следующий этап — основные веб-проверки: поиск SQL Injection разных видов, поиск недочетов системы аутентификации и хранения сессий, поиск чувствительных данных и незащищенных конфигураций, проверки на XXE Injection, межсайтовый скриптинг, небезопасную десериализацию, загрузку произвольных файлов, удаленное исполнение кода и обход пути. Список может быть шире в зависимости от параметров сканирования и возможностей сканера, обычно при максимальных параметрах проверки проходят по списку OWASP Top Ten.
Проверки конфигураций направлены на выявление ошибок конфигураций ПО. Они выявляют пароли по умолчанию либо перебирают пароли по короткому заданному списку с разными учетными записями. Выявляют административные панели аутентификации и управляющие интерфейсы, доступные принтеры, слабые алгоритмы шифрования, ошибки прав доступа и раскрытие конфиденциальной информации по стандартным путям, доступные для скачивания резервные копии и другие подобные ошибки, допущенные администраторами IT-систем и систем ИБ.
В число опасных проверок попадают те, использование которых потенциально приводит к нарушению целостности или доступности данных. Сюда относят проверки на отказ в обслуживании, варианты SQL Injection с параметрами на удаление данных или внесение изменений. Атаки перебора паролей без ограничений попыток подбора, которые приводят к блокировке учетной записи. Опасные проверки крайне редко используются из-за возможных последствий, однако поддерживаются сканерами безопасности как средство эмуляции действий злоумышленника, который не будет переживать за сохранность данных.
Сканирование и результаты
Мы рассмотрели основные методы сканирования и инструменты, перейдем к вопросу о том, как использовать эти знания на практике. Для начала требуется ответить на вопрос, что и как необходимо сканировать. Для ответа на этот вопрос необходимо собрать информацию о внешних IP-адресах и доменных именах, которые принадлежат организации. По нашему опыту, лучше разделять цели сканирования на инвентаризацию и определение уязвимостей.
Инвентаризационное сканирование можно проводить гораздо чаще, чем сканирование на уязвимости. При инвентаризации хорошей практикой является обогащение результатов информацией об администраторе сервиса, внутреннем IP-адресе сервиса, если используется NAT, а также о важности сервиса и его назначении. Информация в будущем поможет оперативно устранять инциденты, связанные с обнаружением нежелательных или уязвимых сервисов. В идеальном случае в компании есть процесс и политика размещения сервисов на сетевом периметре, в процессе участвуют службы ИТ и ИБ.
Даже при таком подходе присутствует вероятность ошибок по причинам, связанным с человеческим фактором и различными техническими сбоями, которые приводят к появлению нежелательных сервисов на периметре. Простой пример: на сетевом устройстве Check Point написано правило, которое транслирует порт 443 из внутренней сети на периметр. Сервис, который там был, устарел и выведен из эксплуатации. Службе ИТ об этом не сообщили, соответственно правило осталось. В таком случае на периметре может оказаться аутентификация в административную панель устройства Check Point либо другой внутренний сервис, который не планировали там размещать. При этом формально картина периметра не менялась и порт доступен.
Чтобы обнаружить подобные изменения, необходимо сканировать периодически и применять дифференциальное сравнение результатов, тогда будет заметно изменение баннера сервиса, которое привлечет внимание и приведет к разбору инцидента.
Устранение уязвимостей
Первым шагом к правильной технической реализации процесса устранения уязвимостей является грамотное представление результатов сканирования, с которыми придется работать. Если используется несколько разнородных сканеров, правильнее всего будет анализировать и объединять информацию по узлам в одном месте. Для этого рекомендуется использовать аналитические системы, где также будет храниться вся информация об инвентаризации.
Базовым способом для устранения уязвимости является установка обновлений. Можно использовать и другой способ — вывести сервис из состава периметра (при этом все равно необходимо установить обновления безопасности).
Можно применять компенсирующие меры по настройке, то есть исключать использование уязвимого компонента или приложения. Еще вариант — использовать специализированные средства защиты, такие как IPS или application firewall. Конечно, правильнее не допускать появления нежелательных сервисов на сетевом периметре, но такой подход не всегда возможен в силу различных обстоятельств, в особенности требований бизнеса.
Приоритет устранения уязвимостей
Приоритет устранения уязвимостей зависит от внутренних процессов в организации. При работе по устранению уязвимостей для сетевого периметра важно четкое понимание, для чего сервис находится на периметре, кто его администрирует и кто является его владельцем. В первую очередь можно устранять уязвимости на узлах, которые отвечают за критически важные бизнес-функции компании. Естественно, такие сервисы нельзя вывести из состава периметра, однако можно применить компенсирующие меры или дополнительные средства защиты. С менее значимыми сервисами проще: их можно временно вывести из состава периметра, не спеша обновить и вернуть в строй.
Другой способ — приоритет устранения по опасности или количеству уязвимостей на узле. Когда на узле обнаруживается 10–40 подозрений на уязвимость от баннерной проверки — нет смысла проверять, существуют ли они там все, в первую очередь это сигнал о том, что пора обновить программное обеспечение на этом узле. Когда возможности для обновления нет, необходимо прорабатывать компенсирующие меры. Если в организации большое количество узлов, где обнаруживаются уязвимые компоненты ПО, для которых отсутствуют обновления, то пора задуматься о переходе на программного обеспечение, еще находящееся в цикле обновления (поддержки). Возможна ситуация, когда для обновления программного обеспечения сначала требуется обновить операционную систему.
Итоги
Всю информацию о сервисах и службах на вашем сетевом периметре можете получить не только вы, но и любой желающий из интернета. С определенной точностью возможно определить уязвимости систем даже без сканирования. Для снижения рисков возникновения инцидентов информационной безопасности необходимо следить за своим сетевым периметром, вовремя прятать или защищать нежелательные сервисы, а также устанавливать обновления.
Неважно, организован процесс собственными силами или с привлечением сторонних экспертов, оказывающих услуги по контролю периметра или анализу защищенности. Самое главное — обеспечить контроль периметра и устранение уязвимостей на регулярной основе.
Автор: Максим Федотов, старший специалист отдела онлайн-сервисов, PT Expert Security Center, Positive Technologies
🔎 Лучшие 10 сканеров открытых портов и инструментов проверки портов – Information Security Squad
Сканеры портов и инструменты проверки портов являются одной из наиболее важных частей для определения открытых портов и состояния порта.
Открытые порты означают номер порта TCP или UDP, который предназначен для подтверждения пакетов.
Веб-страницы или службы FTP требуют, чтобы их определенные порты были «открыты» на сервере, чтобы они были свободно доступны.
Что такое сканер открытых портов?
Сканер открытых портов – это инструмент, который используется для проверки внешнего IP-адреса и определения открытых портов в соединении.
Он используется для определения, правильно ли настроена переадресация портов или серверные приложения блокируются брандмауэром.
Инструменты проверки портов, используемые для проверки сети на наличие портов, которые обычно пересылаются.
Немногие порты, такие как порт 25, обычно блокируются на уровне ISP, пытаясь перехватить подозрительную задачу.
Каждые данные содержат номер порта, который позволяет протоколам определять их желаемое местоположение и соответственно перенаправлять их.
Является ли сканирование портов незаконным?
Сканирование портов само по себе не является незаконным, но сканирование целевого хоста без авторизации является незаконным, и вы столкнетесь с проблемами.
Сканеры TCP портов помогают администраторам серверов и пентестера проверять, через какие порты поступают данные в сеть, и защищать ее от вторжений.
Самые популярные используемые сетевые порты
- 20 FTP – Data
- 21 FTP – Control
- 22 SSH Remote Login Protocol
- 23 Telnet
- 25 Simple Mail Transfer Protocol (SMTP)
- 110 POP3
- 115 Simple File Transfer Protocol (SFTP)
- 118 SQL Services
- 53 Domain Name System (DNS)
- 443 HTTPS
- 143 IMAP
- 389 LDAP
- 37 Time Protocol
- 123 Network Time Protocol
- 530 Remote procedure call
- 547 DHCPv6 server
Как сканировать открытые порты в Windows?
Сканирование можно выполнить с помощью командной строки.
- Нажмите одновременно клавишу Windows и клавишу r, чтобы открыть “выполнить”.
- Введите cmd и нажмите Enter.
- В командной строке введите «netstat -a» и нажмите ввод.
- Через несколько секунд отобразится полный список портов, которые устанавливают соединение.
Риск безопасности из-за открытых портов:
Большинство подозрительного программного обеспечения ведет себя как служба, ожидающая соединения от удаленного злоумышленника, чтобы предоставить ему данные или полномочия над машиной.
Наиболее распространенная практика обеспечения безопасности – закрывать неиспользуемые порты на частных машинах, чтобы заблокировать известный доступ к любой службе, которая может продолжать работать на ПК без информации клиента, независимо от того, была ли неправильно настроена авторизованная служба или из-за подозрительного программного обеспечения.
Лучшие инструменты для проверки открытых портов и сканеров портов
- Advanced Port Scanner
- TCP Port Scan with Nmap
- IPVOID
- Network Port Scanner Tool
- DNS Tools
- Web Proxy and Privacy Tool
- Solar winds Port Scanner
- IP Tool
- UltraTools
- Yougetsignal
Продолжение статьи:
👨Лучшие 10 сканеров открытых портов на 2019 год
👨🦲 Лучшие 10 сканеров открытых портов на 2019 год – Information Security Squad
Сканер портов и инструменты проверки открытых портов являются одной из наиболее важных вещей для определения открытых портов и состояния порта.
Открытые порты означают номер порта TCP или UDP, который предназначен для подтверждения пакетов.
Веб-страницы или службы FTP требуют, чтобы их определенные порты были «открыты» на сервере, чтобы они были свободно доступны.
Сканер открытых портов – это инструмент, который используется для проверки внешнего IP-адреса и определения открытых портов в соединении.
Он используется для определения, правильно ли настроена переадресация портов или серверные приложения блокируются брандмауэром.
Инструменты сканера портов, используемые для проверки сети на наличие портов, которые обычно пересылаются.
Немногие порты, такие как порт 25, обычно блокируются на уровне интернет-провайдера, пытаясь перехватить подозрительную задачу.
Риски безопасности из-за открытых портов:
Большинство подозрительного программного обеспечения ведет себя как служба, ожидающая соединения от удаленного злоумышленника, чтобы предоставить ему данные или полномочия над машиной.
Наиболее распространенная практика обеспечения безопасности – закрывать неиспользуемые порты на частных машинах, чтобы заблокировать известный доступ к любой службе, которая может продолжать работать на ПК без информации для клиента, независимо от того, была ли неправильно настроена авторизованная служба или из-за подозрительного программного обеспечения.
Лучшие инструменты для сканирования открытых портов
Advanced Port Scanner:
Этот сканер открытых портов является самым быстрым, простым в доступе и свободно доступным.
Он помогает обнаружить открытые порты на сетевых компьютерах и извлечь некие программы, которые работают на обнаруженных портах.
Эти программы имеют адаптируемый интерфейс и полезную функциональность.
Сканирование TCP-портов с Nmap:
Этот инструмент помогает определить, какой TCP-порт открыт на вашей целевой машине, а также предоставляет информацию об ОС, служебную информацию, а также трассировку.
Этот сканер представляет собой веб-интерфейс для широко известного сканера портов Nmap, который реализован с правильным параметром для обеспечения скорости и точности.
Процесс сканирования отправляет пакеты на каждый порт и прослушивает подтверждение.
Это называется «SYN-сканирование», при котором пакеты TCP SYN отправляются на каждый порт.
Если порт отвечает SYN-ACK, он помечается как открытый и RST отправляется обратно сканером портов Nmap.
IPVOID:
IPVOID помогает идентифицировать сервисы, работающие на сервере, просматривать открытые порты TCP.
Jy также проверяет и проверяет, работает ли межсетевой экран.
Существуют службы безопасности, которые блокируют IP-адреса.
Сетевые сканеры портов:
Этот сканер открытых портов помогает проверять сервисы, которые доступны и работают на сервере.
Если мы хотим проверить, какая версия ОС запущена, какие на сервере открыты порты, включен ли брандмауэр или нет, то в этом случае для проверки всей вышеуказанной информации используются необработанные IP-пакеты.
Инструменты DNS:
Они помогут вам определить, какая служба доступна за пределами интрасети.
Машины, использующие маршрутизатор с NAT, для связи с Интернетом не могут быть получены вне внутренней сети.
Хотя с помощью переадресации портов порты могут отклоняться от маршрутизатора к конкретной машине.
Этот сканер открытых портов позволяет проверить, работает ли перенаправление правильно.
Веб-прокси и инструмент конфиденциальности:
Этот сканер открытых портов также известен как «HideMy.name».
Если кто-то хочет скрыть свою личность и получить доступ ко всему и вся, перейдите на веб-прокси.
Этот инструмент скрывает и изменяет ваш IP-адрес, местоположение, и вы останетесь инкогнито при использовании браузера.
Это медиана для машины и необходимого сайта.
Вы также можете смотреть заблокированный контент и играть в онлайн-игры.
Вы можете путешествовать по Интернету с максимальной скоростью и подключением.
Это дает защиту, конфиденциальность и свободу на любом устройстве во время просмотра.
Solar winds:
Он проверяет все IP-адреса и порты TCP и UDP, чтобы проверить уязвимости сети.
Вы также можете запустить сканирование из командной строки, сохранить настройки сканирования, минимизировать время выполнения сканирования с многопоточностью.
Отслеживание активности подключения конечного пользователя и конечного компьютера.
Он распознает неизвестные уязвимости и сетевые протоколы.
IP инструмент:
IP-инструмент известен как «whatismyip.com»
Этот инструмент сканирует сеть на наличие открытых портов и решает, нужно ли закрывать эти открытые порты для обеспечения безопасности сети и уменьшения уязвимости.
Этот сканер открытых портов показывает, какие порты открыты для связи в сети.
UltraTools
С помощью инструментов Ultra вы можете проверить производительность DNS и записи DNS, указанные для домена или имени хоста.
DNS Traversal Tool дает вам больше информации о том, распространялись ли DNS-серверы на все серверы имен.
Yougetsignal
Yougetsignal – это инструмент проверки открытых портов, который позволяет вам проверять любой внешний IP-адрес на наличие открытых портов.
Это полезный инструмент для проверки ограничений, установленных в брандмауэре.
С помощью этого инструмента вы можете проверить все порты TCP и UDP.
Заключение
Ниже перечислены некоторые бесплатные инструменты, доступные в Интернете для проверки открытых портов на сервере и других DNS-запросов.
Мы классифицировали некоторые из лучших сканеров портов и инструментов проверки портов, чтобы помочь найти открытые порты и другие связанные с портами операции при выполнении теста на проникновение в сеть.
Сканер портов — Википедия
Проверка онлайнаПравить
В ряде случаев, прежде чем начать собственно сканирование, является полезной проверка наличия работающей системы на целевом IP-адресе.
Эта задача может быть решена путём посылки Echo-сообщений протокола ICMP с помощью утилиты ping c последовательным перебором всех адресов сети или отправкой Echo-сообщения по широковещательному адресу.
Анализируя трафик и отслеживая Echo-сообщения, посылаемые за короткий промежуток времени всем узлам, можно выявить попытки сканирования. Вместо Echo-сообщений могут применяться TCP-сегменты с code bit RST, ответы на несуществующие DNS-запросы. Если сканер получит в ответ ICMP Destination Unreachable пакет с кодом 1 (host unreachable), то значит, тестируемый узел выключен или не подключен к сети.
Следует иметь в виду, что (на практике) неполучение ответа на запросы не гарантирует несуществование хоста, поскольку многие системные администраторы ради «безопасности» идут на нарушение сетевых стандартов.
SYN-сканированиеПравить
Данный тип сканирования является наиболее популярным. Вместо использования сетевых функций операционной системы, сканер портов сам генерирует IP пакеты, и отслеживает ответы на них. Эту технику часто называют сканированием с использованием полуоткрытых соединений, поскольку полное соединение TCP/IP никогда не открывается. Сканер портов генерирует пакет SYN. Если порт на целевом хосте открыт, с него придёт пакет SYN-ACK. Хост сканера отвечает пакетом RST, закрывая тем самым соединение до того, как процесс установления соединения завершился.
Использование самостоятельно сформированных сетевых пакетов имеет ряд преимуществ, давая сканирующей программе полный контроль над посылаемыми пакетами и ответами на них, задержками ответов, и позволяя получить детальные результаты сканирования.
Мнения по поводу потенциального вреда, наносимого сканируемому хосту, неоднозначны. С одной стороны, SYN-сканирование имеет то преимущество, что отдельные приложения никогда не получают входящее соединение (оно обрывается на этапе установки), с другой, отправка пакета RST во время установления соединения может вызывать проблемы у некоторых сетевых устройств, особенно простых, таких как сетевые принтеры.
TCP-сканированиеПравить
Данный более простой метод использует сетевые функции операционной системы, и применяется, когда SYN-сканирование по тем или иным причинам неосуществимо. Операционная система, в случае, если порт открыт, завершает трёхэтапную процедуру установления соединения, и затем сразу закрывает соединение. В противном случае, возвращается код ошибки. Преимуществом данного метода является то, что он не требует от пользователя специальных прав доступа. Тем не менее, использование сетевых функций операционной системы не позволяет производить низкоуровневый контроль, поэтому данный тип используется не столь широко.
Главным недостатком данного метода является большое количество открытых и сразу прерванных соединений, создающее нагрузку на сканируемую систему и позволяющее просто обнаружить активность сканера портов.
UDP-сканированиеПравить
Сканирование с помощью пакетов UDP также возможно, хотя имеет ряд особенностей. Для UDP отсутствует понятие соединения, и нет эквивалента TCP-пакету SYN. Тем не менее, если послать UDP-пакет на закрытый порт, система ответит сообщением ICMP «порт недоступен». Отсутствие такого сообщения истолковывается как сигнал того, что порт открыт. Однако, если порт блокируется брандмауэром, метод неверно покажет, что порт открыт. Если заблокированы ICMP-сообщения о недоступности порта, все порты будут казаться открытыми. Также, может быть установлено ограничение на частоту использования ICMP-пакетов, что также влияет на результаты, даваемые методом.
Альтернативным подходом является отправка UDP-пакетов, специфичных для приложения, в расчёте на получения ответа с уровня приложения. Например, отправка запроса DNS на порт 53 приведёт к ответу, если по запрашиваемому адресу имеется DNS-сервер. Проблема в данном случае состоит в наличии соответствующего «пробного» пакета для каждого из портов. В некоторых случаях, сервис может присутствовать, но быть сконфигурирован таким образом, чтобы не отвечать на известные «пробные» пакеты.
Также возможен комбинированный подход, сочетающий в себе оба вышеуказанных метода. Так, сканирование может начинаться отправкой UDP-пакета для проверки на ICMP-ответ «порт недоступен», а затем порты с неопределённым результатом «открыт или заблокирован» могут повторно проверяться на ответы, специфичные для приложения.
ACK-сканированиеПравить
Данное сканирование применяется для определения, фильтруется данный порт или нет, и особенно эффективен для определения наличия брандмауэров и выяснения их правил. Простая фильтрация пакетов разрешит прохождение пакетов с установленным битом ACK (используемые для уже установленных соединений), тогда как более сложные брандмауэры — нет.
FIN-сканированиеПравить
Некоторые серверы способны отследить попытку SYN-сканирования их портов. Например, попытка SYN-сканирования может быть распознана по поступлению «поддельных» SYN-пакетов на закрытые порты защищаемого сервера, и в случае опроса нескольких портов сервер разрывает соединение для защиты от сканирования.
Сканирование с использованием FIN-пакетов позволяет обойти подобные средства защиты. Согласно RFC 793, на прибывший FIN-пакет на закрытый порт сервер должен ответить пакетом RST. FIN-пакеты на открытые порты должны игнорироваться сервером. По этому различию становится возможным отличить закрытый порт от открытого.
Указанной рекомендации RFC 793 придерживаются не все операционные системы. Например, реакция Windows семейства 95/98/NT на приходящий FIN-пакет не различается для открытого и закрытого порта.
Другие типы сканированияПравить
И ещё один способ заключается в том, чтобы отправлять сегменты с флагами FIN(no more data from sender), PSH(push function), URG(urgent pointer field significant) либо вообще с пустым полем code bit. Если порт закрыт, то в ответ придёт сегмент с флагом RST, если ответа не будет, то порт открыт (так как такой сегмент просто игнорируется).
что это за программа и для чего она предназначена
Для диагностики корректности работы и безопасности сетевых устройств необходимо применять сканер портов в локальной Сети как на этапе разработки, так и в процессе эксплуатации. Следует заметить, что зачастую такое программное обеспечение используется не только не по назначению, а именно для попыток совершить неправомерные действия, но и весьма дилетантским образом. В этой статье рассматривается как теоретическая, так и практическая база, которую можно использовать в своей профессиональной деятельности. Также приводятся юридические и моральные аспекты, касающиеся нарушения законодательства РФ.
Что такое сканер портов?
Сканер портов – это специализированное программное обеспечение, которое позволяет производить анализ хостов в локально-вычислительной Сети на предмет наличия открытых портов. На сегодня наиболее распространенным набором сетевых протоколов являются TCP/IP, при которых каждая служба на сетевом устройстве характеризуется двумя параметрами: айпи адресом и номером порта, всего их количество составляет 65536 штук.
Следует заметить, что для стандартных наборов (сервер печати, FTP, HTTP и т. д.) номер порта утверждается администрацией адресного пространства Интернет (т. е. по умолчанию службе HTTP выделяется порт 80, 8080 и т. д.). Результатом работы сканера является вывод о состоянии одного или диапазона портов, которое может принимать три значения:
- Открыт. Это означает, что сетевое устройство по этому порту в активном состоянии и может принимать на него соединения без установки каких-либо ограничений.
- Закрыт. Состояние, обратное тому, что описано в первом пункте: хост будет отклонять соединения, приходящие на этот порт.
- Заблокирован. Это значит, что порт, по которому производится попытка установки связи защищен межсетевым экраном, в таком случае ответ от него просто-напросто не будет получен.
Важно знать! Если состояние под номером 1 угрожает безопасности и стабильности как работе служб, так и системы, вариант номер 2 – только системы. При этом защита файерволом гарантирует безопасность нужного сервиса, поскольку на сегодня не известны методы, позволяющие «взламывать» заблокированный порт.
Все известные программы-сканеры основаны на принципе стандартизации, по которым работают сетевые устройства (хосты) и который называется ICPM, или протокол управления пересылкой. Однако иногда бывает и так, что этот метод не работает, поскольку можно, например, настроить так называемый порт-ловушку, который будет выдавать заведомо ложные значения состояния (об этом будет сказано ниже).
Для чего необходимо сканировать порты и айпи адреса в локальной Сети
Вариантов, для чего необходимо производить сканирование портов и IP-адресов, может быть всего два:
- Анализ ЛВС системным администратором на предмет уязвимости, чтобы предупредить попытку взлома или атаки. При этом рассматривается возможность определения служб, работающих на удаленном узле, их доступность, используемой ОС. При сканировании IP-сканером можно определить MAC-адрес устройства, наличие элементов общего доступа и т. д.
- То же самое, что и в первом случае, только с целью проведения атаки или взлома.
Обратите внимание! В последнее время к вопросу о защите конфиденциальной и персональной информации, а также авторских прав контролирующие органы подходят серьезно, поскольку нынешний век именуется веком цифровой эпохи, в которой виртуальное пространство фактически приравнивается к реальному. Поэтому настоятельно не рекомендуется использовать полученные навыки для осуществления неправомерных действий, поскольку, во-первых, это неэтично, а во-вторых, с вероятностью 99% будет выявлено и пресечено.
Методы сканирования портов
Предлагаем ознакомиться с методами сканирования портов:
Проверка активности хоста
Этот метод настоятельно рекомендуется использовать перед полноценным сканированием, поскольку он позволяет значительно сэкономить время, указывая программному обеспечению адреса только активных устройств. Сделать это можно, последовательно отправляя Echo-пакеты при помощи команды ping на диапазон адресов, либо же на широковещательный адрес. При этом попытки сканирования могут быть отслежены путем анализа данных сообщений. Существует и альтернативный метод с использованием ответов на нереальные запросы от DNS. В таком случае ответ, говорящий о недоступности хоста, индицирует о том, что устройство неактивно. Однако, как упоминалось выше, это не всегда так, поскольку ради обеспечения безопасности зачастую стандарты сетевых протоколов нарушаются.
Сканирование SYN-пакетами
Основан этот метод на использовании так называемого правила «трехкратного рукопожатия» протокола TCP. Сетевое устройство, на котором используется программа-сканер, отправляет запрос в виде пакета с установленным флагом синхронизации («SYN» — synchronize), после чего опрашиваемый хост должен ответить пакетом уже с двумя флагами – «SYN» и «ACK» (второй означает acknowledges – подтверждение, признание). На последнем шаге от машины с программой-сканером также должен поступить одобряющий ответ, однако вместо этого устанавливается флаг «RST» — reset, что означает сброс, т. е. завершение процесса соединения. Плюс такого подхода заключается в том, что осуществляется полный контроль над размером пакетов, их временной задержкой, а также ответными сообщениями, содержащими исчерпывающую информацию об удаленном устройстве. Вред от SYN-флуда сомнителен, потому что он может оказать значительное влияние только на простые устройства, такие как, к примеру, сетевые принтеры.
Сканирование стандартными средствами ОС
Метод схож с предыдущим, также использует три этапа «рукопожатия», только с завершением установки соединения (отправка флага «ACK» в конце). Применяется тогда, когда SYN-сканирование неосуществимо по какой-либо причине. Соответственно, такой подход не обеспечивает хост с программой-сканером должным уровнем информации, поскольку не подразумевает работу с пакетами на низком уровне. Однако самым главным минусом является то, что из-за большого количества установки и разрыва соединений легко заметить и вычислить работу такого сканера в сети.
Использование UDP
Для сканирования диапазона адресов и портов также можно формировать UDP-пакеты, хотя это и не самое лучшее решение в силу ряда особенностей. Принцип работы заключается в том, что при помощи ICMP-сообщений можно получать прямой ответ от порта «Закрыт», если он недоступен, и «Открыт», если ответа не последовало вовсе. При этом блокировка порта брандмауэром также выдаст состояние как «Открыт», что будет ошибкой. Такая же картина будет наблюдаться, если на опрашиваемом хосте запрещены ICMP-сообщения. Выход из положения может быть достигнут при помощи отправки некоторых стандартных пакетов, так называемых пробников, на которые приложения, работающие на указанном порте, дают заведомо известный ответ. При этом следует помнить, что защитой будет являться настройка этих служб с нетиповой конфигурацией. Также можно вначале отправлять UDP-запрос, и если порт находится в неопределенном состоянии, направлять на него ряд «пробников».
Использование флага ACK
Наиболее эффективный метод для выявления уязвимостей (или вообще наличия) брандмауэра. Пакеты с таким флагом будут запросто проходить через файерволы, имеющие стандартный набор правил, тогда как более сложные настройки приведут к их блокировке.
Использование флага FIN
Этот флаг является аббревиатурой от «final» и указывает на закрытие соединения. Его использование обусловлено тем, что многие серверы настроены на определение и распознание последовательных попыток отправки однотипных SYN-пакетов как на открытый, так и закрытый порт, после чего разрывают соединение с хостом. Дело в том, что по стандарту, FIN-пакеты должны игнорироваться и поэтому могут с успехом использоваться на том этапе, когда производится поиск активного порта, т. е. перед проведением SYN-сканирования. Тут следует сказать, что системы семейства Windows 95/98/NT этого стандарта не придерживаются, поэтому для них этот метод будет недейственным.
Другие типы сканирования
Следует сказать, что существует еще два флага: PSH и URG, а также способ, когда поле code bit остается пустым, при применении которых ответом будет флаг RST, если порт закрыт и отсутствие ответа, если открыт. Эти методы также хорошо подходят, чтобы искать активные хосты.
Сканеры открытых портов и айпи адресов
Использование бесплатных программ
Для сканирования Сети на сегодня существует множество бесплатных программ, которые довольно дружелюбны по интерфейсу и предоставляют при этом множество полезных инструментов. Следует заметить, что в основном они все рассчитаны на работу под ОС семейства Windows. Вот некоторые из них:
- Advanced IP Scanner v.1.4. Из всех бесплатных программ этот сетевой сканер самый быстрый, при этом он умеет не только находить ПК в режиме «онлайн», но и определять NetBIOS имя, версию ОС и MA- адрес. Также есть набор утилит, позволяющих управлять удаленным хостом.
- Advanced LAN Scanner v1.0 BETA. Подобна предыдущей программе, позволяет сканировать Сеть, но включает в себя работу с портами.
- Advanced Port Scanner v1.2. Также бесплатная программа, при помощи которой можно просканировать открытые порты удаленного хоста.
- IP-Tools v2.50. Это уже не просто обособленная программа, а набор инструментов, включающий в себя 19 утилит, позволяющих осуществлять детальный просмотр и анализ параметров локально-вычислительной Сети.
- Angry IP Scanner 2.21. Простая утилита для сканирования IP-адресов и портов.
- SuperScan 4. Довольно гибкий сканер, позволяющий в дополнение к стандартным функциям задавать тип сканирования (устанавливать флаги), о которых было написано ранее.
- NMAP (https://nmap.org). Это также целый набор инструментов, который стоит в конце списка только по той причине, что не имеет дружественного интерфейса. При этом он совмещает в себе все известные профессиональные утилиты для работы с Сетью, распространяется для всех платформ, причем как в виде сборок, так и в виде исходного кода (что позволяет писать собственные приложения с его использованием).
Программа для определения IP-адресов в локальной Сети
Выше уже рассматривался целый список программ, который позволяет найти и вывести IP-адреса хостов в Сети, при этом оптимальным является Advanced IP Scanner. Следует заметить, что как Windows, так и Linux в своем распоряжении имеют набор встроенных сетевых утилит, одна из которых называется «ARP — Address Resolution Protocol», или протокол определения адреса. Для того чтобы при помощи ее вывести список IP-адресов в локальной Сети, необходимо открыть командную строку (cmd или bash) и ввести команду arp -a, после чего нажать «Enter». Результатом будет таблица, содержащая NetBIOS имя, IP-адрес, MAC-адрес и способ его получения (динамический или статический).
Защита от сканирования портов
Фактически, защититься от сканирования портов невозможно, единственный способ – это отключить компьютер от Сети. Обезопасить соединение реально, используя так называемый белый список для брандмауэра, когда открыты только те порты, которые необходимы для использования. При этом службы, настроенные на них, должны применять нестандартные конфигурации.
Ранее уже было сказано о сетевых «ловушках». Здесь следует упомянуть о принципе действия одной из них, которая является весьма эффективной:
- на сервере настраивается брандмауэр и форвардинг так, чтобы стандартным службам соответствовали нестандартные порты;
- на стандартные порты устанавливается утилита, которая, со своей стороны, на любой запрос активирует сканер портов для хоста, который пытается их опросить;
- полученная информация сохраняется в файл, также возможна отправка в ответных пакетах троянских программ, шпионов и т. д.
Моральные и юридические ограничения
С моральной точки зрения, использование специализированного ПО с целью получения доступа к конфиденциальной или персональной информации на чужом компьютере – это неэтично. При этом зачастую такие действия не направлены на извлечение материальной выгоды (что также вряд ли оправдано, поскольку можно применить свои навыки в мирных целях и заработать на этом законно), а ставят перед собой целью реализовать так называемый прессинг (травлю) пользователя Сети при помощи шантажа. Юридический аспект также присутствует, использование и создание приложений для взлома компьютера с персональной информацией расцениваются главой 28 УК РФ (статьи 272, 273, 274) как незаконные действия, за которые можно получить судимость (клеймо на всю жизнь, которое поставит крест на карьерном росте и закроет путь в престижные IT-компании), штраф и реальный срок.
Как видно, для анализа отказоустойчивости и безопасности сетевого оборудования может использоваться как уже разработанная программа для сканирования IP-адресов в локальной Сети, так и собственное разработанное ПО. Следует помнить, что основой безопасности является создание «белых» списков портов с настройкой сложных правил брандмауэра.
Подгорнов Илья ВладимировичВсё статьи нашего сайта проходят аудит технического консультанта. Если у Вас остались вопросы, Вы всегда их можете задать на его странице.Похожие статьи
-
Wifi сканер: программа для нахождения сетей вай фай…
Wifi сканер — специальная программа, которая определят сети, доступные в данный момент для подключения. Но кроме такого сканирования сетей, анализатор позволяет определить максимально удачное местоположение для роутера. Wi-Fi-анализатор — надежный помощник, способный устранить имеющиеся… -
Wi-Fi Analyzer iOS: программа сканирования…
автоматическое и ручное сканирование сегментов локальной сети. … Особенности этого сканера каналов WiFi для iOS: видит все доступные сети в радиусе … Утилита поддерживает все стандартные порты, при сканировании можно указать те, что требуются пользователю. -
Как узнать IP-адрес компьютера в локальной сети через…
При настройке сети администраторам часто нужно посмотреть все 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 систем для работы с приложениями в локальной сети, есть открытые для внешнего доступа «серверные» сервисы, то есть те к которым можно обратится с другого компьютера. Поэтому не стоит отключать встроенный брандмауэр (файрвол), либо не пренебрегайте установкой сторонних продуктов подобной функциональности.
Обсуждение данного вопроса в форуме.
Сопутствующие утилитыСм. Также
ОписаниеCurrPorts — это программное обеспечение для мониторинга сети, которое отображает список всех открытых в данный момент портов TCP / IP и UDP на вашем локальном компьютере.Для каждого порта в списке также отображается информация о процессе, открывшем порт, включая имя процесса, полный путь к процессу, информацию о версии процесса (название продукта, описание файла и т. д.), время создания процесса и пользователь, создал это.Кроме того, CurrPorts позволяет закрывать нежелательные TCP-соединения, прекращать процесс, открывший порты, и сохранить информацию о портах TCP / UDP в HTML-файл, XML-файл или текстовый файл с разделителями-табуляциями. CurrPorts также автоматически помечает розовым цветом подозрительные порты TCP / UDP, принадлежащие неопознанным приложениям (Applications без информации о версии и значков) Уведомление!
Ссылки для скачивания находятся внизу этой страницы Искать другие утилиты в NirSoftИстория версий
|
|
1 | 20 | Данные FTP | Протокол передачи файлов — Протокол передачи файлов.Порт для данных. | N |
2 | 21 | FTP Control | File Transfer Protocol — протокол передачи файлов. Порт для команд. | Y |
3 | 22 | SSH | Secure SHell — «безопасная оболочка». Операционная система протокола удаленного управления. | Да |
4 | 23 | telnet | TErminaL NETwork. Реализация протокола текстового интерфейса по сети. | Да |
5 | 25 | SMTP | Простой протокол передачи почты — Простой протокол передачи почты. | Да |
6 | 42 | WINS | Служба имен в Интернете Windows. Сопоставление NetBIOS-имен компьютеров с IP-адресами узлов | N |
7 | 43 | WHOIS | «Кто есть». Протокол получения регистрации права собственности на доменные имена и IP-адреса | N |
8 | 53 | DNS | Система доменных имен — Система доменных имен. | N |
9 | 67 | DHCP | Протокол динамической конфигурации хоста — Протокол динамической конфигурации хоста. Динамический IP | N |
10 | 69 | TFTP | Trivial File Transfer Protocol — простой протокол передачи файлов. | N |
11 | 80 | HTTP / Web | HyperText Transfer Protocol — протокол передачи гипертекста. | Y |
12 | 110 | POP3 | Post Office Protocol Version 3 — получение протокола электронной почты, версия 3 | Y |
13 | 115 | SFTP | Протокол передачи файлов.Протокол безопасной передачи данных. | Да |
14 | 123 | NTP | Протокол сетевого времени. Протокол синхронизации внутренних часов компьютера. | N |
15 | 137 | NetBIOS | Сетевая базовая система ввода / вывода. Протокол для сетевых операций ввода-вывода. Служба именования. | N |
16 | 138 | NetBIOS | Сетевая базовая система ввода / вывода.Протокол для сетевых операций ввода-вывода. Сервисное подключение. | N |
17 | 139 | NetBIOS | Сетевая базовая система ввода / вывода. Протокол для сетевых операций ввода-вывода. Сеансы обслуживания. | N |
18 | 143 | IMAP | Протокол доступа к сообщениям в Интернете. Протокол прикладного уровня для доступа к электронной почте. | N |
19 | 161 | SNMP | Простой протокол сетевого управления — Простой протокол сетевого управления.Управление устройством. | N |
20 | 179 | BGP | Протокол пограничного шлюза, Протокол пограничного шлюза. Протокол динамической маршрутизации. | N |
21 | 443 | HTTPS | HyperText Transfer Protocol Secure) — протокол HTTP, поддерживающий шифрование. | Да |
22 | 445 | SMB | Блок сообщений сервера. Удаленный доступ к файлам, принтерам и сетевым ресурсам. | N |
23 | 514 | Syslog | Системный журнал. Происходит протокол и отправка сообщений журнала о системных событиях. | N |
24 | 515 | LPD | Line Printer Daemon. Протокол удаленной печати на принтере. | N |
25 | 993 | IMAP SSL | Протокол IMAP, поддерживает шифрование SSL. | N |
26 | 995 | POP3 SSL | Протокол POP3 поддерживает шифрование SSL. | N |
27 | 1080 | НОСКИ | SOCKet Secure. Протокол приема безопасного анонимного доступа. | N |
28 | 1433 | MSSQL | Microsoft SQL Server — система управления базами данных. Порт для доступа к базе данных. | Да |
29 | 3128 | Прокси | В настоящее время в порту часто используются прокси. | N |
30 | 3268 | LDAP | Облегченный протокол доступа к каталогам — легкий |
SecTools.Организация: 125 самых популярных инструментов сетевой безопасностиБолее десяти лет Nmap Проект каталогизирует сообщества сетевой безопасности любимые инструменты. В 2011 году этот сайт стал намного более динамичным, предлагая рейтинги, обзоры, поиск, сортировка и форма предложения нового инструмента. На этом сайте доступны инструменты с открытым исходным кодом и коммерческие инструменты на любой платформе, кроме тех инструментов, которые мы поддерживаем (таких как сканер безопасности Nmap, сетевой коннектор Ncat и манипулятор пакетов Nping). Мы очень впечатлены коллективным умом сообщества специалистов по безопасности, и мы настоятельно рекомендуем прочитать весь список и изучить любые инструменты, с которыми вы не знакомы.Щелкните название любого инструмента, чтобы получить более подробную информацию об этом конкретном приложении, включая возможность читать (и писать) обзоры. Многие элементы сайта объясняются всплывающими подсказками, если навести на них указатель мыши. Наслаждайтесь! 4 инструмента Angry IP Scanner — это небольшое приложение Java с открытым исходным кодом, которое выполняет обнаружение хоста («сканирование ping») и сканирование портов. Старая версия 2.x была только для Windows, но новая серия 3.X работает в Linux, Mac или Windows, если установлена Java.Версия 3.X опускает логотип зебры вампира. Как и в случае со всеми сканерами на основе connect (), производительность в Windows XP SP2 и новее будет низкой из-за ограничений, добавленных к tcpip.sys. В FAQ приведены подробные сведения и обходные пути. Небольшой обзор был опубликован на nmap-dev в 2008 году. Прочитать 5 отзывов. Последний выпуск: версия 3.0-beta4 от 23 марта 2009 г. (11 лет 9 месяцев назад). Superscan — это бесплатный сканер TCP / UDP-портов с закрытым исходным кодом, предназначенный только для Windows, от Foundstone (теперь входит в состав McAfee).Он включает в себя множество дополнительных сетевых инструментов, таких как ping, traceroute, HTTP HEAD и whois. Некоторые функции были ограничены ограничениями, наложенными Microsoft в Windows XP SP2 и более новых версиях. Этот инструмент на самом деле не поддерживается (последний выпуск был в 2004 году). Прочитать 6 отзывов. Последний выпуск: версия 4.0 от 11 марта 2004 г. (16 лет 10 месяцев назад). NetScanTools — это набор из более чем 40 сетевых утилит для Windows, разработанный с учетом простого пользовательского интерфейса.Он включает в себя инструменты DNS, сканер ping и портов, traceroute и другие утилиты. Он поставляется в комплекте с большим или меньшим количеством инструментов в зависимости от цены. Прочитать 4 отзыва. Последний выпуск: версия 11.30 от 8 мая 2012 г. (8 лет 8 месяцев назад). Unicornscan — это попытка создать распределенный стек TCP / IP на уровне пользователя для сбора и сопоставления информации. Он предназначен для предоставления исследователю превосходного интерфейса для введения стимула и измерения отклика от устройства или сети с поддержкой TCP / IP.Некоторые из его функций включают асинхронное сканирование TCP без сохранения состояния со всеми вариантами флагов TCP, асинхронный захват баннеров TCP без сохранения состояния и идентификацию активных / пассивных удаленных ОС, приложений и компонентов путем анализа ответов. Как и Сканранд, он не для слабонервных. Прочтите 2 отзыва. Последний выпуск: версия 0.4.7-2 от 20 декабря 2007 г. (13 лет назад). 4 инструмента Категории |
Как использовать сканер портов в Mac OS X Network Utility
Mac OS X поставляется со встроенным сканером портов, который является лишь одной из множества функций, встроенных в неизменно полезное приложение Network Utility.Это означает, что вам не нужно возиться с командной строкой или устанавливать более продвинутые инструменты, такие как nmap, для быстрого поиска открытых портов на заданном IP-адресе или домене, вместо этого вы можете сделать все это через удобный графический интерфейс. Несмотря на то, что это довольно продвинутая утилита, на самом деле ею очень легко пользоваться.
Краткое примечание: помните, что в более новых выпусках Mac OS X Network Utility перемещено в системную папку, это не означает, что ее нельзя использовать, это просто означает, что вам нужно либо создать псевдоним, либо запустить ее из Spotlight или перейдите к нему из информации о системе.В рамках этого пошагового руководства мы будем использовать Spotlight для запуска Network Utility и запуска сканирования, поскольку это самый простой и быстрый путь, хотя, если вы планируете часто использовать инструмент, вы, вероятно, захотите создать псевдоним самостоятельно. Хорошо, перейдем к сканированию портов.
Как сканировать порты на IP или домене из Mac OS X
Вы можете выбрать любой локальный или удаленный IP-адрес для сканирования, если вы один в сети (или даже в сети) и все еще хотите попробовать это самостоятельно, используйте петлевой IP-адрес «127.0.0.1 ”в качестве цели:
- Нажмите Command + пробел, чтобы вызвать Spotlight, и введите «Network Utility», а затем нажмите клавишу возврата, чтобы запустить приложение Network Utility.
- Выберите вкладку «Сканирование портов».
- Введите IP-адрес или доменное имя, которое вы хотите сканировать на предмет открытых портов, и выберите «сканировать».
- Необязательно, но не обязательно рекомендуется, вы можете установить диапазон портов для сканирования между ними, если вы просто хотите найти определенный набор активных служб.
127.0.0.1 или localhost просто проверит локальный Mac на наличие открытых портов, если вы новичок в сканировании портов, это может быть предпочтительным способом, поскольку наиболее хорошо защищенные удаленные домены отклоняют входящие запросы или не отвечают на них. .
Запустите инструмент сканирования портов, и вы быстро начнете видеть все открытые порты TCP и их традиционно идентифицированное использование. Например, вы можете увидеть что-то подобное, если просканируете localhost (127.0.0.1):
Сканирование портов началось…
Хост сканирования портов: 127.0.0.1
Открытый порт TCP: 22 ssh
Открытый порт TCP: 80 http
Открытый порт TCP: 88 kerberos
Открытый порт TCP: 445 microsoft-ds
Открытый порт TCP: 548 afpovertcp
Открытый порт TCP: 631 ipp
Открыть TCP Порт: 3689 daap
Видимые порты будут отличаться для каждой машины в зависимости от того, какие службы и серверы доступны, но если вы сканируете Mac и ПК, вы обычно найдете веб-серверы, SMB-порт 445 для совместного использования Windows, AFP Apple File Sharing на порту 548, возможно активный видимый SSH-сервер на 22, UDP-серверах и, возможно, на многих других.Сканирование портов будет проходить довольно высоко во время сканирования, поэтому просто дайте ему поработать, если хотите все увидеть.
Если вы ничего не видите, но вы знаете, что IP-адрес активен с открытыми службами, либо машина не осуществляет широковещательную передачу, машина-получатель отклоняет все запросы, либо, возможно, настроен сильный брандмауэр. Это делает сканер портов Network Utility отличным способом быстрой проверки безопасности и тестирования потенциальных уязвимостей или активных служб на соседних компьютерах Mac, устройствах iOS, Windows, Linux и любых других компьютерах, которые сканируются.
УтилитаNetwork Utility явно ограничена Mac, и, хотя на стороне iOS нет встроенных инструментов, можно выполнить сканирование портов с iPhone и iPad с помощью приложения fing, бесплатного инструмента, который является очень удобным дополнением в набор инструментов для продвинутых пользователей iOS.