Сканирование сетей
Защита от сканирования IP-адресов
Утилиты для сканирования сетей
Advanced LAN Scanner v1.0 BETA
OstroSoft Internet Tools v.5.1
дним из популярных инструментов системных администраторов являются утилиты для сканирования сети. Вряд ли можно встретить системного администратора, который никогда не использовал в своей практике команду ping, входящую (в том или ином виде) в состав любой операционной системы. Действительно, сканирование сети это мощный инструмент, который регулярно используется при настройке сети и сетевого оборудования, а также при поиске неисправных узлов. Впрочем, кроме осуществления сканирования в сети «в мирных целях», эти утилиты являются любимым инструментом любого хакера. Более того, все наиболее известные утилиты для сетевого сканирования были разработаны именно хакерами. Ведь именно при помощи данных утилит можно собрать сведения о сетевых компьютерах, подключенных к Интернету, информацию об архитектуре сети, об используемом типе сетевого оборудования, об открытых портах на сетевых компьютерах, то есть всю ту первичную информацию, которая необходима для успешного взлома сети злоумышленниками. Ну а поскольку утилиты сканирования сетей используются хакерами, то эти утилиты применяются и для выяснения уязвимых мест локальной сети при ее настройке (на предмет наличия открытых портов и т.д.).
В целом утилиты для автоматизированного сканирования сетей можно условно разделить на два типа: утилиты для сканирования IP-адресов и утилиты для сканирования портов. Конечно, такое деление весьма условно, поскольку в подавляющем большинстве случаев сетевые сканеры сочетают в себе обе возможности.
Сканирование IP-адресов
сли говорить о механизмах, которые используются в утилитах сканирования IP-адресов, то, как правило, речь идет о рассылке широковещательных пакетов ICMP. Утилиты отправляют пакеты типа ICMP ECHO по указанному IP-адресу и ожидают ответного пакета ICMP ECHO_REPLY. Получение такого пакета означает, что в данный момент компьютер подключен к сети по указанному IP-адресу.
Рассматривая возможности протокола ICMP для сбора информации о сети, следует отметить, что прослушивание при помощи утилиты ping и ей подобных это всего лишь верхушка айсберга. Обмениваясь ICMP-пакетами с каким-либо узлом сети, можно получить куда более ценную информацию о сети, нежели констатация факта подключения узла к сети по заданному IP-адресу.
Здесь возникает закономерный вопрос: можно ли защититься от такого рода сканирования? Собственно, все, что для этого нужно, это заблокировать ответы на ICMP-запросы. Именно такой подход зачастую используется системными администраторами, которые заботятся о безопасности своих сетей. Однако, несмотря на блокировку пакетов ICMP, существуют и другие методы, позволяющие определить, подключен ли данный узел к сети.
В тех случаях, когда обмен данными по протоколу ICMP заблокирован, используется метод сканирования портов (port scanning). Просканировав стандартные порты каждого потенциального IP-адреса сети, можно определить, какие узлы подключены к сети. Если порт открыт (opened port) или находится в режиме ожидания (listening mode), это значит, что по данному IP-адресу имеется компьютер, подключенный к сети.
Прослушивание сети методом сканирования портов относится к разряду так называемого TCP-прослушивания.
Защита от сканирования IP-адресов
Поскольку несанкционированное прослушивание сети в лучшем случае вызывает раздражение у системных администраторов, существуют соответствующие контрмеры, которые способны как выявить факт самого прослушивания, так и заблокировать прохождение пакетов, передаваемых при ping-прослушивании.
Как уже отмечалось, ICMP- и TCP-прослушивание это общепринятые методы исследования сети перед непосредственной попыткой проникновения. Поэтому выявление факта прослушивания очень важно с точки зрения возможности получения информации о потенциальном месте проникновения и источнике угрозы.
Впрочем, получить возможность своевременного обнаружения факта прослушивания сети еще не значит решить проблему. Не менее важно в этом случае уметь предотвратить возможность прослушивания сети. Первый шаг в этом направлении оценить, насколько важен обмен данными по протоколу ICMP между узлами конкретной локальной сети. Имеется множество разнообразных типов пакетов ICMP, и упоминавшиеся выше пакеты ICMP ECHO и ICMP ECHO_REPLY всего два из них. В большинстве случаев нет никакой необходимости разрешать обмен данными между узлами сети и Интернетом с использованием всех имеющихся типов пакетов. Практически все современные брандмауэры (как аппаратные, так и программные) обладают возможностью отфильтровывать пакеты ICMP. Поэтому, если в силу ряда причин невозможно полностью блокировать все типы сообщений ICMP, следует обязательно заблокировать те типы сообщений, которые не требуются для нормального функционирования сети. К примеру, если в корпоративной сети имеется сервер, размещенный в демилитаризованной зоне (DMZ-зона), то для нормального функционирования сервера вполне достаточно разрешить ICMP-сообщения типа ECHO_REPLY, HOST UNREACABLE и TIME EXCEEDED. Кроме того, во многих случаях брандмауэры позволяют создавать список IP-адресов, по которым разрешен обмен сообщениями по протоколу ICMP. В этом случае можно разрешить обмен сообщениями ICMP только в провайдером Интернета. Это, с одной стороны, позволит провайдеру производить диагностику соединения, а с другой затруднит несанкционированное прослушивание сети.
Следует всегда помнить, что, несмотря на все удобство протокола ICMP для диагностирования сетевых проблем, он может с успехом использоваться и для создания этих самых проблем. Разрешив неограниченный доступ в сеть по протоколу ICMP, вы тем самым позволите хакерам реализовать нападение типа DoS.
Сканирование портов
ледующий тип сетевого сканирования сканирование портов. Механизм сканирования портов основан на попытке пробного подключения к портам TCP и UDP исследуемого компьютера с целью определения запущенных служб и соответствующих им портов. Обслуживаемые порты могут находиться в открытом состоянии или в режиме ожидания запроса. Определение портов, находящихся в режиме ожидания, позволяет выяснить тип используемой операционной системы, а также запущенные на компьютере приложения.
Существует сравнительно много способов сканирования портов, но для систем Windows наиболее часто встречаются следующие:
- TCP-сканирование подключением (TCP connect scan);
- TCP-сканирование с помощью сообщений SYN (TCP SYN scan);
- TCP нуль-сканирование (TCP Null sсan);
- TCP-сканирование с помощью сообщений ACK (TCP ACK scan);
- UDP-сканирование (UDP scan).
Метод TCP-сканирования подключением (TCP connect scan) заключается в попытке подключения по протоколу TCP к нужному порту с прохождением полной процедуры согласования параметров соединения (процедура handshake), заключающейся в обмене служебными сообщениями (SYN, SYN/ACK, ACK) между узлами сети.
В методе TCP-сканирования с помощью сообщений SYN (TCP SYN scan) полного подключения к порту не происходит. Исследуемому порту посылается сообщение SYN, и если в ответ приходит сообщение SYN/ACK, то это означает, что порт находится в режиме прослушивания. Данный метод сканирования портов является более скрытым в сравнении с методом сканирования с полным подключением.
В методе TCP-нуль-сканирования (TCP Null sсan) осуществляется отправка пакетов с отключенными флагами. Исследуемый узел в ответ должен отправить сообщение RST для всех закрытых портов.
Метод TCP-сканирования с помощью сообщений ACK (TCP ACK scan) позволяет установить набор правил, используемых брандмауэром, и выяснить, выполняет ли брандмауэр расширенную фильтрацию пакетов.
Метод UDP-сканирования заключается в отправке пакетов по протоколу UDP. Если в ответ поступает сообщение, что порт недоступен, то это значит, что порт закрыт. При отсутствии такого ответа можно предположить, что порт открыт. Стоит отметить, что протокол UDP не гарантирует доставки сообщений, поэтому данный метод сканирования не очень надежен. Кроме того, UDP-сканирование процесс очень медленный, в связи с чем к такого рода сканированию прибегают крайне редко.
Защита от сканирования портов
Вряд ли удастся помешать кому-либо предпринять попытку сканирования портов на вашем компьютере. Однако вполне возможно зафиксировать сам факт сканирования и свести к минимуму возможные последствия. Для этого целесообразно соответствующим образом настроить брандмауэр и отключить все неиспользуемые службы. Настройка брандмауэра заключается в том, чтобы закрыть все неиспользуемые порты. Кроме того, все аппаратные и программные брандмауэры поддерживают режим обнаружения попыток сканирования портов, поэтому не стоит пренебрегать этой возможностью.
Утилиты для сканирования сетей
WS PingPro 2.30
Платформа: Windows 98/Me/NT/2000/XP
Цена: 80 долл.
Демо-версия: 30 дней
Одной из самых известных утилит для сканирования IP-адресов сети является WS PingPro 2.30 (рис. 1).
Сканер WS PingPro 2.30 позволяет определить список всех IP-адресов, по которым имеются подключенные к сети узлы, а также выяснить их сетевые имена. Кроме того, сканер WS PingPro 2.30 определяет запущенные на компьютере службы и дает возможность просканировать порты сетевого компьютера в заданном диапазоне (в демо-версии программы данная возможность заблокирована).
Для настройки на различные по производительности сети сканер WS PingPro 2.30 позволяет задавать время, в течение которого ожидается ответ от хоста сети (по умолчанию 300 мс).
Рис. 1. Утилита WS PingPro 2.30
Отметим, что сетевой сканер это всего одна из возможностей пакета WS PingPro 2.30. В дополнение к сетевому сканеру пакет WS PingPro 2.30 предоставляет в распоряжение пользователя такие утилиты, как SNMP tool, WinNet, Time tool, Throughput, Info tool, и др.
Так, утилита SNMP tool позволяет получить информацию о сетевом узле (как правило, речь идет о коммутаторах и маршрутизаторах), поддерживающем протокол SNMP.
Утилита WinNet позволяет просканировать локальную сеть и отобразить NetBEUI-имена всех узлов сети, доменов и разделяемых ресурсов.
Утилита Time tool синхронизирует время локального компьютера с временем ближайшего сервера времени.
Throughput эта небольшая диагностическая утилита, позволяющая протестировать скорость соединения пользователя с удаленным узлом сети.
Advanced IP Scanner v.1.4
Платформа: Windows
Цена: бесплатно
Утилита Advanced IP Scanner 1.4 является одним из самых скоростных на данный момент IP-сканеров (рис. 2). К примеру, сканирование сети класса C занимает всего несколько секунд. В дополнение к IP-сканированию утилита Advanced IP Scanner 1.4 позволяет получить информацию о сетевых именах узлов, а кроме того, обеспечивает удаленное выключение или перезагрузку компьютеров. В случае поддержки компьютерами функции Wake-On-Lan имеется возможность их удаленного включения. Отметим, что такие функции, как удаленное выключение, перезагрузка или включение компьютеров, могут быть реализованы одновременно для всех или для группы сетевых компьютеров.
Рис. 2. Утилита Advanced IP Scanner 1.4
Advanced LAN Scanner v1.0 BETA
Платформа: Windows
Цена: бесплатно
Еще одна утилита, позволяющая сканировать IP-адреса, Advanced LAN Scanner v1.0 BETA (рис. 3). В сравнении с Advanced IP Scanner 1.4 данная утилита представляет собой сочетание IP-сканера и сканера портов и позволяет не только определять IP-адреса, но и собирать подробную информацию о сетевых именах компьютеров, об установленной на них операционной системе, об открытых портах, о принадлежности пользователя к той или иной группе, о пользователях, которые имеют санкционированный доступ к компьютеру, и массу другой информации, которая может оказаться весьма полезной как системному администратору, так и злоумышленнику. Кроме того, данный сканер имеет широкие возможности настройки и позволяет задавать количество одновременно выполняемых потоков, диапазон сканируемых портов, а также управлять временем ожидания ответа на запрос. В заключение отметим, что данный сканер позволяет подключаться к выбранному узлу либо используя текущую учетную запись пользователя, либо задавая имя пользователя и пароль.
Рис. 3. Утилита Advanced LAN Scanner v1.0 BETA
Но самое главное достоинство сканера Advanced LAN Scanner v1.0 BETA заключается в том, что на данный момент это один из самых скоростных сканеров. Добавим сюда то, что сканер этот бесплатный, и станет понятно, почему его просто необходимо иметь под рукой любому системному администратору (и не только ему).
Advanced Port Scanner v1.2
Платформа: Windows
Цена: бесплатно
Утилита Advanced Port Scanner v1.2 (рис. 4) по своим функциональным возможностям во многом схожа с Advanced LAN Scanner v1.0 BETA. Так, сканер Advanced Port Scanner v1.2 позволяет собирать информацию об IP-адресах узлов, об их сетевых именах и открытых портах. Возможности по настройке этого сканера заключаются в задании диапазона сканируемых IP-адресов и портов. Кроме того, имеется возможность задавать количество одновременно выполняемых потоков и управлять временем ожидания ответа на запрос.
Рис. 4. Утилита Advanced Port Scanner v1.2
Отметим, что данный сканер, так же как сканер Advanced LAN Scanner v1.0 BETA, является очень скоростным и позволяет собрать детальную информацию о сети в кратчайшие сроки.
IP-Tools v2.50
Платформа: Windows
Цена: бесплатно
Пакет IP-Tools v2.50 представляет собой набор из 19 сетевых утилит, объединенных общим интерфейсом (рис. 5). В этом смысле IP-сканер и сканер портов всего одна из возможностей утилиты IP-Tools v2.50.
Рис. 5. Утилита IP-Tools v2.50
В состав пакета IP-Tools v2.50 входят:
- Local Info утилита, отображающая информацию о локальном компьютере (тип процессора, память и т.д.);
- Connection Monitor утилита, отображающая информацию о текущих TCP- и UDP-соединениях;
- NetBIOS Info утилита, отображающая информацию о NetBIOS-интерфейсах локального и удаленного компьютера;
- NB Scanner сканер разделяемых сетевых ресурсов;
- SNMP Scanner сканер SNMP-устройств в сети;
- Name Scanner сканер сетевых имен компьютеров;
- Port Scanner TCP-сканер портов;
- UDP Scanner UDP-сканер портов;
- Ping Scanner IP-сканер с использованием процедуры пингования;
- Trace утилита для отслеживания маршрута прохождения пакетов;
- WhoIs утилита, позволяющая собирать информацию об узлах в Интернете;
- Finger утилита, собирающая и предоставляющая информацию о пользователях удаленного ПК по протоколу Finger;
- NS LookUp утилита, позволяющая поставить в соответствие IP-адрес и имя домена;
- GetTime утилита, позволяющая синхронизировать время локального ПК и заданного сервера времени;
- Telnet утилита для поиска клиентов сети, у которых установлена служба Telnet;
- HTTP утилита для поиска клиентов сети, у которых установлена служба HTTP;
- IP-Monitor утилита для отображения IP-трафика в реальном времени;
- Host Monitor утилита для отслеживания состояния узлов сети (подключен/отключен).
Следует отметить, что, в отличие от рассмотренных выше утилит Advanced Port Scanner v1.2, Advanced LAN Scanner v1.0 BETA и Advanced IP Scanner 1.4, сканеры, встроенные в пакет IP-Tools v2.50, назвать скоростными довольно сложно. Процесс сканирования занимает много времени, поэтому если ставится задача именно IP-сканирования или сканирования портов, то лучше использовать более скоростные утилиты.
Angry IP Scanner 2.21
Платформа: Windows
Цена: бесплатно
Angry IP Scanner 2.21 это небольшая утилита, объединяющая в себе IP-сканер и сканер портов (рис. 6). К несомненным достоинствам этой утилиты следует отнести то, что она не требует инсталляции на ПК. Кроме того, встроенные в нее сканеры являются очень скоростными и позволяют обследовать всю локальную сеть всего за несколько секунд.
Встроенный в утилиту IP-сканер пингует каждый IP-адрес на предмет его наличия в сети, а затем, в зависимости от выбранных опций, позволяет определить сетевое имя узла, его MAC-адрес и просканировать порты.
Рис. 6. Утилита Angry IP Scanner 2.21
К дополнительным возможностям утилиты Angry IP Scanner 2.21 можно отнести сбор NetBIOS-информации (имя компьютера, имя рабочей группы и имя пользователя ПК). Результаты сканирования можно сохранять в различных форматах (CSV, TXT, HTML, XML).
Высокая скорость сканирования утилиты Angry IP Scanner 2.21 достигается за счет использования множества параллельных потоков. Так, по умолчанию используются 64 потока, но это количество можно увеличить для достижения еще большей производительности.
SuperScan 4
Платформа: Windows 2000/XP
Цена: бесплатно
Утилита SuperScan 4 (рис. 7) это новая версия хорошо известного сетевого сканера SuperScan. Данная утилита представляет собой еще один быстрый и гибкий сканер IP-адресов и портов. Утилита позволяет гибко задавать перечень IP-адресов исследуемых узлов и сканируемых портов. Отметим, что, как и сканер Angry IP Scanner 2.21, SuperScan 4 не требует инсталляции на компьютер.
В сравнении с предыдущей версией в новом варианте SuperScan 4 увеличена скорость сканирования, поддерживается неограниченный диапазон IP-адресов, улучшен метод сканирования с использованием ICMP-запросов, добавлен метод сканирования портов TCP SYN и многое другое.
При работе со сканером SuperScan 4 возможен как ручной ввод IP-адресов сканирования, так и экспорт адресов из файла. Поддерживается ввод одиночных адресов, диапазона адресов и диапазона в формате CIDR (10.0.0.1/255). Кроме того, IP-адреса можно вставлять непосредственно из буфера обмена.
Несмотря на то что сканер SuperScan 4 прекрасно работает с настройками по умолчанию, он имеет очень гибкие возможности по настройке. В частности, при помощи настроек сканера SuperScan 4 можно назначить исследование только тех хостов сети, которые отвечают на запрос и определяются как присутствующие в сети. В то же время можно обязать сканер исследовать все узлы сети независимо от того, отвечают они на ICMP-запросы или нет.
Рис. 7. Утилита SuperScan 4
Утилита SuperScan 4 имеет встроенный UDP-сканер, поддерживающий два типа сканирования: Data и Data+ICMP. В методе Data исследуемому узлу посылаются пакеты данных UDP, которые требуют ответов от сервисов, использующих хорошо известные порты. В методе Data+ICMP применяется аналогичный метод сканирования. Если порт не отвечает сообщением «ICMP Destination Port Unreachable», то он рассматривается как открытый. Далее используется сканирование известных закрытых портов на предмет генерации ими ответных сообщений. Отметим, что данный метод может иногда приводить к ложным результатам, особенно если ответы на ICMP-запросы заблокированы.
Утилита SuperScan 4 поддерживает два типа TCP-сканирования портов: TCP-connect и TCP SYN. Настройки сканера позволяют выбрать тип TCP-сканирования. Из возможностей настройки сканера SuperScan 4 можно отметить управление скоростью сканирования (скорость, с которой сканер посылает в сеть пакеты).
В заключение отметим, что для использования данной утилиты в локальной сети необходимо иметь права сетевого администратора.
NEWT Professional v.2.0
Платформа: Windows 95/98/NT/2000/XP
Цена: в зависимости от количества поддерживаемых ПК в сети
Возможно, мы выскажем субъективное мнение, но, на наш взгляд, из всех рассмотренных нами утилит NEWT Professional v.2.0 (рис. 8) самая функциональная. Впрочем, ее трудно рассматривать как IP-сканер или сканер портов. Скорее, это комплексный сетевой сканер, позволяющий автоматизировать сбор информации о компьютерах локальной сети. Для системных администраторов, которым время от времени приходится заниматься инвентаризацией сети, он будет незаменимым инструментом.
Рис. 8. Утилита NEWT Professional v.2.0
К сожалению, в отличие от других рассмотренных нами утилит, NEWT Professional v.2.0 является платной, а демо-версия программы имеет 30-дневный срок действия и ограниченную функциональность (например, поддерживается сканирование только 10 сетевых компьютеров).
OstroSoft Internet Tools v.5.1
Платформа: Windows 95/98/NT/2000/XP
Цена: 29 долл.
Утилита OstroSoft Internet Tools v.5.1 (рис. 9) представляет собой комплексный сетевой сканер, включающий 22 утилиты: Scan Wizard, Domain Scanner, Port Scanner, Netstat, Ping, Traceroute, Host Resolver, NS Lookup, Network Info, Local Info, Finger, FTP, HTML Viewer, Ph, Simple Services, TCP Clients, WhoIs, Connection Watcher, Host Watcher, Service Watcher, Mail Watcher, HTML Watcher.
По сути, Scan Wizard представляет собой одновременно IP-сканер и сканер портов и допускает довольно гибкие настройки. В частности, можно задавать скорость сканирования, вводить диапазон IP-адресов, задавать диапазон сканируемых портов, выбирать тип сканирования портов. Результаты сканирования можно сохранять. Стоит отметить, что по своим скоростным характеристикам данный сканер не отличается выдающимися возможностями, так что исследование сети класса С может занять у него очень много времени.
Утилита Domain Scanner позволяет определить те хосты внутри сетевого домена, которые используют ту или иную службу. К примеру, задав адрес домена, можно выяснить, на каких компьютерах установлен Web-сервер, Mail-сервер, FTP-сервер и т.д.
Рис. 9. Утилита OstroSoft Internet Tools v.5.1
Утилита Port Scanner это сканер портов, но, в отличие от Scan Wizard, в данном случае речь идет о сканировании отдельного компьютера. Утилита позволяет задавать диапазон сканируемых портов, настраивать скорость сканирования и время timeout. Результатом сканирования является не только список открытых портов или портов в режиме ожидания, но и соответствующие им службы или приложения, а также краткое описание этих служб.
Утилита Ping это вариант использования команды ping, но с возможностью настройки с использованием графического интерфейса.
Traceroute это вариант команды tracert с возможностью настройки с использованием графического интерфейса.
Утилита Netstat позволяет отобразить информацию об активных соединениях локального компьютера.
Host Resolver определяет по сетевому имени или URL-адресу IP-адрес, и наоборот.
Остальные утилиты, интегрированные в пакет OstroSoft Internet Tools v.5.1, достаточно просты и не требуют комментариев.
Стоит отметить, что пакет OstroSoft Internet Tools v.5.1 является платным. Учитывая, что существует множество бесплатных аналогов, не уступающих данному пакету в плане функциональности, вряд ли OstroSoft Internet Tools v.5.1 сможет когда-нибудь завоевать популярность. К тому же демонстрационная версия программы имеет очень ограниченную функциональность и не позволяет изменять настройку сканера.
3D Traceroute v. 2.1.8.18
Платформа: Windows 2000/2003/XP
Цена: бесплатно
Как следует из названия этой утилиты (рис. 10), ее основное назначение отслеживание маршрутов прохождения пакетов между узлами в сети. При этом особенность данной утилиты заключается в том, что она позволяет строить трехмерный график задержек по всему маршруту.
Утилита не требует инсталляции на компьютер и, что не менее приятно, абсолютно бесплатная.
Рис. 10. Утилита 3D Traceroute v. 2.1.8.18
Конечно, нас в первую очередь интересуют не столько возможности построения трехмерных графиков задержек, сколько интегрированный в эту утилиту сканер портов (рис. 11).
Рис. 11. Встроенный сканер портов 3D Traceroute v. 2.1.8.18
Сканер портов позволяет задавать диапазоны исследуемых IP-адресов и сканируемых портов. Назвать данный сканер скоростным вряд ли возможно. Сканирование сети класса С на предмет наличия открытых портов в диапазоне 1-1024 занимает у него более часа. Кроме того, как выяснилось в ходе тестирования, достоверность результатов, выдаваемых данным сканером, весьма сомнительна. В частности, на всех ПК в нашей тестовой сети этот сканер упорно определял порт 21 как открытый, что не соответствовало действительности.
Кроме встроенного сканера портов, пакет 3D Traceroute имеет и другие встроенные утилиты, которые, впрочем, являются вполне стандартными и не имеют отношения к теме сетевых сканеров. В целом же, несмотря на то что данная утилита является бесплатной, в сравнении с другими сетевыми сканерами она явно проигрывает.