Алгоритмы выявления и поиска уязвимостей становятся все более запутанными, но в то же время работать с современным сканером безопасности совсем не сложно. Интуитивно понятный интерфейс и подробные описания проблем делают его относительно легким в обращении. Просканировать небольшую сеть или свой домашний компьютер не составит особого труда. Пускай вас не смущает обилие сканеров на рынке, в общих чертах работу с ними можно сравнить с ездой на велосипеде - если научился кататься на одном, то с другим особых проблем уже не испытаешь. Нашим первым "велосипедом" выберем сканер Retina 4.9 (www.eeye.com) - он быстрый, простой в обращении и позволяет проводить хорошую "работу над ошибками".
Во время запуска Retina предлагает обновить свои собственные файлы с сервера в Калифорнии, этой возможностью стоит воспользоваться. Вознаграждением за несколько минут терпения, пока работал Retina Updater, стало обновление версии сканера 4.9.141 до 4.9.183.
Объект сканирования можно идентифицировать как по имени NetBios, так и по его IP-адресу, сам процесс не требует от пользователя никаких усилий и занимает довольно мало времени. Результаты разбиты на семь категорий. Беглым взглядом пробежимся по каждой.
General - общая информация: имя домена, к которому принадлежит хост; путь следования пакетов от вас к хосту (через какие адреса) и так далее. Ничего особо интересного, все это можно узнать при помощи стандартных сетевых команд Windows.
Audits - наиболее любопытный раздел. Здесь содержится информация о найденных уязвимостях. Как заведено в большинстве сканеров, они сортируются по степени опасности (Risk Level): high (уязвимости вроде включенной нулевой сессии NetBios, возможного переполнения буфера), medium (такие уведомления вызываются включенным DCOM, не переименованным экаунтом администратора), low (наименее опасные настройки системы) и просто information (познавательная информация, например, об установленном на компьютере антивирусе). При щелчке по некоторым уязвимостям Retina предлагает автоматически устранить ее, открывая окошко Fix it. Как правило, это происходит, если для исправления достаточно внести изменения в реестр.
Machine - раздел, в котором собраны данные о версии операционной системы, MAC-адресе машины, количестве открытых и закрытых портов. Собственно, о них чуть ниже.
Ports - здесь отображены открытые порты удаленной машины (которые сканеру удалось опознать) и работающие на этих портах сетевые службы. Например, по данным Retina, на сканируемой машине был открыт порт 6129, и на нем работала служба удаленного управления компьютером - DameWare. Для администратора сети такая информация особенно ценна, если о DameWare он слышит впервые. Это значит, что в сети завелся второй администратор, и самое время заняться его поисками.
Services - перечень запущенных на машине сетевых сервисов, таких, как Messenger, Scheduler и так далее. Кстати, последнюю службу злоумышленник потенциально может использовать через сеть для запуска вредоносных программ по расписанию.
Shares - дисковые ресурсы удаленного компьютера, доступ к которым можно получить из Сети. Присутствующий в названии ресурса символ $ (например, C$) говорит о том, что это так называемая "скрытая шара" - сетевой диск, невидимый в обычном файловом менеджере. Для обращения к нему в адресной строке нужно набрать \\имя_компьютера\C$. По умолчанию Windows 2000/XP создает несколько таких ресурсов.
Users - в этом разделе дается довольно подробная информация об учетных записях Administrator и Guest, зарегистрированных на компьютере: время последнего входа, количество входов, количество ошибочных вводов пароля и многое другое. В общем, информации вполне достаточно, чтобы создать представление о разделах Password Policy и Account Lockout Policy локальной политики безопасности исследуемого компьютера.
Помимо своего основного назначения, Retina может использоваться в качестве браузера (модуль Browser), который показывает полную структуру посещенного сайта, а также в роли хакера (модуль Miner) - программа, используя модуль искусственного интеллекта, проводит, как говорится в документации, "агрессивный поиск уязвимостей, эмулируя действия потенциального злоумышленника", но, честно говоря, от данной возможности автору так и не удалось добиться ни малейшего толка. Вернемся все же к главному - процессу сканирования. В Retina настройки сканирования задаются специальной политикой. Существуют пять предопределенных политик (в том числе и для сканирования Unix-машин), можно создавать свою собственную или модифицировать старую. В меню Tools > Policies находятся настройки диапазона сканируемых портов (вкладка Ports), включения или отключения проверки уязвимостей (вкладка Audits).
В меню Tools > Ports определенному номеру порта ставится в соответствие название сетевой службы. К примеру, порту 65301 можно поставить в соответствие службу Pcanywhere (еще одна программа удаленного управления системой). Теперь, найдя открытый 65301-й порт, Retina укажет, что на компьютере запущена Pcanywhere. Данный метод является примитивной возможностью задавать собственные проверки. В других сканерах для этих целей существует внутренний язык, как в GFI LANguard Network Security Scanner (www.gfi.com). Вот иллюстрация примитивного скрипта, который реализует проверку порта 65301, и если порт открыт, выводит сообщение о запущенном на компьютере Pcanywhere:
integer sock sock = open_tcp("ip_адрес", "65301") if sock > 0 echo("Служба Pcanywhere запущена") else echo("Порт закрыт, Pcanywhere не работает") end if
Данный пример прост и не демонстрирует всех возможностей внутреннего языка LANguard, но следует иметь в виду, что скрипты - это самый гибкий и мощный инструмент настройки сканера безопасности.
Хоть сканер от GFI во многих тестах занимает далеко не первые позиции, все же он не лишен достоинств. LANguard отлично работает с именами NetBIOS и выводит подробную информацию о группах безопасности, содержании некоторых параметров реестра (например, ветки Run), количестве сетевых сессий, полный список локальных процессов... Помимо всего прочего, LANguard способен определять количество установленных на компьютере патчей и в случае чего позволяет загрузить обновления на сканируемый компьютер (естественно, если вы обладаете правами администратора). К слову, LANguard имеет довольно мощный интерфейс загрузки обновлений. Впечатление остается такое, что сканер от GFI создан не для поиска каких-то экзотических ошибок в безопасности, а для проведения рутинных плановых проверок и загрузки недостающих обновлений.
Говоря о сканерах, нельзя не упомянуть о весьма титулованном ISS Internet Scanner (www.iss.net). Он обладает мощным интерфейсом и такими же возможностями, к тому же позволяет сканировать серверы под управлением Unix. Речь идет именно о серверах, так как этот сканер предназначен для корпоративных сетей, только в этом случае он сможет развернуться во всю свою мощь, а в маленьких сетях его использование не оправдано. Последняя версия ISS Internet Scanner 7 занимает, ни много ни мало, 323 Мб (предыдущая версия - 33 Мб). В общем, связываться с ISS Internet Scanner 7 вряд ли стоит, к тому же последняя версия вызывает множество нареканий на качество работы. В некоторых тестах та же Retina обходит Internet Scanner в поиске уязвимостей, а про скорость сканирования и говорить нечего - тут Retina, безусловно, лидирует.
Если уж речь зашла о скорости, стоит рассказать о Windows-реализации легендарного сканера портов nmap (www.insecure.org/nmap), который изначально был разработан для Unix-систем. Программа запускается из командной строки, определяет открытые порты и запущенные сервисы. Как известно, любой сканер безопасности является инструментом, который одинаково эффективно может использоваться как хакером, так и администратором. Что касается Nmap, то при работе с ним создается впечатление, что эта программа гораздо больше ориентирована на взломщиков, чем любой другой сканер. Чего стоит хотя бы возможность фальсификации адресов источника сканирования... Помимо этого, можно использовать способы сканирования, которые не обнаруживаются традиционными средствами сетевой безопасности: так называемое stealth-сканирование использует особенности обработки сетевых пакетов несоответствующих стандартам TCP/IP. Дело в том, что в правильном TCP-пакете не могут одновременно быть установлены флаги SYN (установка соединения) и FIN (завершение соединения), поскольку они взаимоисключающие. Системы обнаружения вторжений не всегда способны отследить такие некорректные TCP-пакеты, благодаря чему появляются лазейки. В Nmap поддерживаются и другие запрещенные комбинации флагов, которые носят общее название - шаблоны рождественской елки (ключ -sX).
Еще одной замечательной возможностью Nmap является обнаружение реальных сервисов, прослушивающих открытые порты. Ведь не секрет, что тот же telnet без труда можно переопределить на другой порт, например, 440-й. После этого обычные сканеры будут сообщать, что найден открытый 440-й порт, на котором запущена служба Sqcp (за этой службой по умолчанию закреплен 440-й порт). А вот если воспользоваться Nmap с ключом -sV, то мы увидим реальную картину, на которой 440-му порту соответствует сервис telnet.
Все из описанных нами программ позволяют сканировать как удаленный компьютер, так и свой собственный. Но если вам не нужны сложности, а хочется просто поэкспериментировать, то воспользуйтесь Local Port Scanner (www.jpsoft.dk). Он позволяет легко сканировать порты локального компьютера и производить поиск троянов (имеется база портов, используемых троянскими программами). Даже используя Local Port Scanner, можно получить общее впечатление о защищенности своей системы, а это уже немало, ведь кто предупрежден, тот вооружен.
Дмитрий БАРДИЯН,
x403@yandex.ru
Горячие темы