- Не работает сканер портов
- Задача
- Что такое сканер портов?
- Методы сканирования портов
- Сканеры открытых портов
- Использование утилиты Angry IP Scanner
- Использование утилиты Advanced Port Scanner
- Программа для сканирования портов и IP-адресов в локальной Сети
- Что такое сканер портов?
- Для чего необходимо сканировать порты и айпи адреса в локальной Сети
- Методы сканирования портов
- Проверка активности хоста
- Сканирование SYN-пакетами
- Сканирование стандартными средствами ОС
- Использование UDP
- Использование флага ACK
- Использование флага FIN
- Другие типы сканирования
- Сканеры открытых портов и айпи адресов
- Использование бесплатных программ
- Программа для определения IP-адресов в локальной Сети
- Защита от сканирования портов
- Моральные и юридические ограничения
Не работает сканер портов
Задача
Предположим у вас в компании проходит аудит программного обеспечения и вы выводите из эксплуатации старый софт. Вы посмотрели список программ установленных на сервере, но вам еще необходимо проверить, какие порты случает он. Для увеличения производительности по решению задачи, мы будем использовать специальную утилиту, ее еще называют сканер портов в локальной сети. Ниже я приведу примеры таких программ и описание по их использованию.
Что такое сканер портов?
Сканер портов относится к программному приложению, которое сканирует сервер на наличие открытых портов. Он позволяет аудиторам и сетевым администраторам проверять сетевую безопасность, в то время как злоумышленники и хакеры используют ее для определения открытых портов для использования или запуска вредоносных служб на компьютере или сервере.
Сканирование портов представляет собой способ определения, какие порты в сети открыты. Поскольку порты на компьютере — это место, где информация отправляется и принимается, сканирование портов аналогично стуку в дверь, чтобы увидеть, находится ли кто-то дома. Выполнение сканирования портов в локальной сети или на сервере позволяет определить, какие порты открыты и находятся в режиме прослушивания (listening) (получения информации), а также выявить наличие таких устройств безопасности, как межсетевые экраны, которые находятся между отправителем и целью. Этот метод известен как дактилоскопия (fingerprinting). Это также полезно для тестирования сетевой безопасности и надежности брандмауэра системы. Благодаря этой функциональности, это также популярный инструмент разведки для злоумышленников, ищущих слабую точку доступа для проникновения в компьютер или сервер.
Порты различаются по своим назначениям. Они пронумерованы от 0 до 65535, но определенные диапазоны используются чаще. Порты с 0 по 1023 идентифицируются (https://ru.wikipedia.org/wiki/Список_портов_TCP_и_UDP), как «общеизвестные порты» или стандартные порты и были назначены для определенных служб, агентством по присвоению номеров в Интернете (IANA). Некоторые из наиболее известных портов и назначенных им служб включают в себя:
- Порт 20 (UDP) — протокол передачи файлов (FTP) для передачи данных
- Порт 22 (tcp) — протокол Secure Shell (SSH) для безопасного входа, FTP и переадресации портов
- Порт 23 (tcp) — протокол Telnet для не зашифрованных текстовых коммутаций
- Порт 53 (UDP) — Система доменных имен (DNS) переводит имена всех компьютеров в Интернете в IP-адреса
- Порт 80 (tcp) — Всемирная паутина HTTP
Методы сканирования портов
Сканирование портов отправляет тщательно подготовленный пакет на каждый номер порта назначения. Основные методы, которые может использовать программное обеспечение для сканирования портов:
- Ваниль (Vanilla) — самый простой скан; попытка подключиться ко всем 65 536 портам по по очереди. Ванильное сканирование — это полное сканирование соединения, то есть оно отправляет флаг SYN (запрос на подключение) и после получения ответа SYN-ACK (подтверждение подключения) отправляет обратно флаг ACK. Этот обмен SYN, SYN-ACK, ACK включает квитирование TCP. Полное сканирование подключений является точным, но очень легко обнаруживается, поскольку все подключения всегда регистрируются брандмауэрами.
- Сканирование SYN (SYN Scan) — также называется полуоткрытым сканированием, оно только отправляет SYN и ожидает ответа SYN-ACK от цели. Если ответ получен, сканер никогда не отвечает. Так как соединение TCP не было установлено, система не регистрирует взаимодействие, но отправитель узнал, открыт порт или нет.
- Сканирование XMAS и FIN (XMAS and FIN Scans) — набор сканирований, используемых для сбора информации без регистрации в целевой системе. При сканировании FIN незапрошенный флаг FIN (обычно используемый для завершения установленного сеанса) будет отправлен на порт. Ответ системы на этот случайный флаг может показать состояние порта или брандмауэр. Например, закрытый порт, который получает незапрошенный пакет FIN, ответит пакетом RST (мгновенный прерывание), но открытый порт проигнорирует его. Сканирование XMAS просто отправляет набор всех флагов, создавая бессмысленное взаимодействие. Ответ системы может быть интерпретирован для лучшего понимания портов системы и брандмауэра.
- Сканирование отказов FTP (FTP Bounce Scan) — позволяет замаскировать местоположение отправителя путем пересылки пакета через FTP-сервер. Это также предназначено для отправителя, чтобы остаться незамеченным.
- Сканирование развертки (Sweep scan) — пингует один и тот же порт на нескольких компьютерах, чтобы определить, какие компьютеры в сети активны. Это не раскрывает информацию о состоянии порта, а сообщает отправителю, какие системы в сети активны. Таким образом, его можно использовать как предварительное сканирование.
Сканеры открытых портов
Я могу выделить вот такие бесплатные программы, которые выполняют роль сканеров портов в локальной сети:
- Advanced Port Scanner
- Angry IP Scanner
- Nmap
Перед описанием каждой утилиты, я напоминаю, что порты есть TCP и UDP, и мы ранее уже проверяли доступность порта и слушает ли его, какая-либо служба. Так же очень наглядную таблицу в режиме реального времени по портам вы можете увидеть через утилиту netstat, но она к сожалению не такая дружелюбная и не умеет сканировать удаленные компьютеры в вашей локальной сети, ее кстати графическим аналогом выступает утилита TCPView.
Использование утилиты Angry IP Scanner
Angry IP Scanner — это бесплатное решение по сканированию портов компьютера или сервера.
Установка Angry IP Scanner очень тривиальная ,на этом я останавливаться не буду, от вас потребуется везде нажать далее. Открываем ваш сканер портов. Я это буду делать на своем тестовом контроллере домена. Когда вы откроете свой сканер портов, у вас будет форма выбора диапазона IP адресов в вашей локальной сети. Так же вы можете указать список адресов из текстового файла.
Структура такого файла представлена на картинке, тут ip-адреса идут с новой строки.
Если вы сканируете порты у целой подсети, то вам нужно указать ее префикс (Маску). После чего нажимаем «Старт».
Наш сканер открытых портов начнет планомерно проверять каждого участника. Цветовое обозначение узлов:
- Синий цвет означает, что данный хост доступен, но для него не заданы порты сканирования, об этом так же говорит статус «Ports n/s (Not/Scan)»
- Зеленый цвет, что хост доступен и для него определены порты для сканирования
- Красный цвет — не доступен
Настроим диапазон портов, которые я бы хотел проверить на предмет их прослушивания. Для этого нажмите значок шестеренки. В открывшемся окне перейдите на вкладку порты. В поле выбора порта укажите диапазон, в моем примере, это будет диапазон от 1 до 1024. Именно его мы и будем проверять.
У вас в столбце Ports изменится значение, нажимаем кнопку «Старт».
Начинается процесс обращения к портам, хочу отметить, что сама процедура не быстрая и идет в 100 потоков, но так же у каждой операционной системы свои лимиты и тайминги. В итоге вы увидите в столбце Ports список портов, которые прослушивает ip адрес сервера, к которому было обращение. Мы таким образом определяли порты Active Directory. Angry IP Scanner имеет и дополнительные встроенные утилиты, кликните правым кликом по нужному хосту и из пункта «Открыть» вы можете увидеть их:
- Windows Shares — будет открыт проводник с сетевыми шарами сервера
- Web Browser — откроет в браузере 80 порт для данного хоста
- FTP — попробует подключиться к FTP
- Telnet
- Ping — будет открыта командная строка в которой будет запущен пинг
- Trace route — запуск в командной строке утилиты tracert
- Geo Locate
- Email sample
Еще интересным моментом у Angry IP Scanner может выступать добавление дополнительных полей. Для этого нажмите кнопку в виде параллельных палочек. В открывшемся окне с помощью стрелок переместите нужные поля. Я для примера добавил TTL и MAC Address.
При необходимости программа сканера портов легко может экспортировать полученные данные в текстовый файл для дальнейшего изучения. Сделать это можно из меню «Сканирование» или нажатие клавиш Ctrl+S.
Отчет будет выглядеть вот в такой форме.
Использование утилиты Advanced Port Scanner
Advanced Port Scanner — это бесплатный сканер открытых портов, умеющий строить хорошие отчеты по найденным результатам.
Видим симпатичную девушку хакера, которая намекает нажать зеленую кнопку.
Установка утилита Advanced Port Scanner так же проста и незамысловата, мы ее пропусти. Открываем ваш сканер портов компьютера. Задаем диапазон ip-адресов для поиска, указываем необходимый диапазон портов и нажимаем кнопку «Сканировать».
Advanced Port Scanner работает быстрее Angry IP Scanner, в результате данный сканер нашел 4 компьютера со списком прослушиваемых портов, и самое классное, что есть сводная таблица по конкретному порту и отвечаемой на нем службе.
Вы легко можете экспортировать данный отчет, либо в txt формат или же в html.
Advanced Port Scanner имеет встроенные сетевые утилиты:
Лично мне данный сканер открытых портов нравится больше, чем Angry IP Scanner.
Источник
Программа для сканирования портов и IP-адресов в локальной Сети
Для диагностики корректности работы и безопасности сетевых устройств необходимо применять сканер портов в локальной Сети как на этапе разработки, так и в процессе эксплуатации. Следует заметить, что зачастую такое программное обеспечение используется не только не по назначению, а именно для попыток совершить неправомерные действия, но и весьма дилетантским образом. В этой статье рассматривается как теоретическая, так и практическая база, которую можно использовать в своей профессиональной деятельности. Также приводятся юридические и моральные аспекты, касающиеся нарушения законодательства РФ.
Что такое сканер портов?
Сканер портов – это специализированное программное обеспечение, которое позволяет производить анализ хостов в локально-вычислительной Сети на предмет наличия открытых портов. На сегодня наиболее распространенным набором сетевых протоколов являются 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-адресов в локальной Сети, так и собственное разработанное ПО. Следует помнить, что основой безопасности является создание «белых» списков портов с настройкой сложных правил брандмауэра.
Источник