Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практики / ПР_1 / SecScanPT2

.pdf
Скачиваний:
36
Добавлен:
20.06.2014
Размер:
1.83 Mб
Скачать

Функциональные возможности сканеров безопасности

2.Пользоваться возможностями операционной системы (использовать интерфейс «сырых» сокетов).

3.Использовать драйверы сторонних производителей, например, winpcap для Windows. Сканер Nessus, например, пользуется libpcap.

Опять же, как видно из Таблицы 3, генератором пакетов пользуются XSpider, Internet Scanner, Nessus и Retina.

Но вернёмся к процедуре идентификации. Сканеры, не пользующиеся генератором пакетов, фактически, могут использовать лишь ICMP Ping для идентификации сетевых объектов. Поэтому, как правило, они имеют опцию, позволяющую перейти к сканированию портов, даже если узел не отвечает на запросы

ICMP ECHO. Например, это сканер Shadow (Рис. 6).

Рис. 6. Параметры идентификации узлов в сканере Shadow.

В сканерах XSpider и LANguard метод TCP Ping реализован следующим образом (Рис. 7)

Copyright© 2006, Учебный центр "Информзащита"

Стр. 21 из 70

Функциональные возможности сканеров безопасности

Рис. 7. Реализация метода TCP Ping в сканерах LANguard и XSpider .

С каждым портом из выбранного набора производится попытка установления соединения. Если соединение установлено, оно сразу же разрывается. Если ни с одним портом из списка соединение установить не удаётся, узел будет посчитан недоступным. Если сравнить это с Рис. 4 и 5, видно, что метод TCP Ping, реализованный подобным образом, будет эффективен, если открыт хотя бы один порт из выбранного списка. В сканере LANguard этот список формируется вручную (Рис. 8), в сканере XSpider (Рис. 9) он фиксирован.

Рис. 8. Параметры идентификации узлов в сканере LANguard.

Рис. 9. Параметры идентификации узлов в сканере XSpider.

Наконец, в сканерах Retina, Internet Scanner, Nessus метод TCP Ping реализован обычным, «классическим» образом.

Следующий метод – UDP Discovery. В полной мере он реализован в сканере Retina (Рис. 10).

Copyright© 2006, Учебный центр "Информзащита"

Стр. 22 из 70

Функциональные возможности сканеров безопасности

Рис. 10. Параметры идентификации узлов в сканере Retina.

Работает он следующим образом. На определённый UDP порт отправляется пакет, адресованный работающей на этом порту службе (например, если это порт 53, то отправляется DNS-запрос). Если порт открыт, должен прийти ответ, если закрыт – сообщение ICMP Destination Unreachable (Port Unreachable).

Сканер Retina использует следующие порты UDP:

53 (DNS),

137 (NETBIOS NS),

500 (ISAKMP).

Авот в сканере LANguard (Рис. 8) этот метод заключается в опросе портов 137 и 161 (NETBIOS queries, SNMP queries). При этом опять же делается попытка создания сокета, на этот раз датаграммного. Следовательно, пришедший в ответ пакет ICMP Destination Unreachable не воспринимается и узел в этом случае может быть посчитан недоступным.

Метод ARPScan не поддерживается ни одним из сканеров, хотя для локального сетевого сегмента он довольно эффективен. Им пользуются, например, программы Cain&Abel, nmap и ettercap.

Параллельная идентификация (Ping Sweep) поддерживается всеми сканерами, при этом производится параллельный опрос сразу нескольких узлов методом ICMP Ping.

Краткое резюме. Чем больше методов идентификации узлов поддерживает сканер, тем лучше он справится с задачей инвентаризации сетевых ресурсов. Лучше остальных

«смотрятся» сканеры Internet Scanner, Nessus и Retina.

4.1.1. Обнаружение модемов

Задача обнаружения модемов должна рассматриваться с двух точек зрения:

Обнаружение модемов, ожидающих входящих звонков

Copyright© 2006, Учебный центр "Информзащита"

Стр. 23 из 70

Функциональные возможности сканеров безопасности

Обнаружение в сети узлов с работающими модемами

Первая задача сводится к «прозвону» последовательности телефонных номеров с целью обнаружения ответа от модема на другом конце. Такой процесс называется «Wardialing». Сканеры безопасности не имеют к нему отношения, для этого используются специальные инструменты, например, PhoneSweep (www.sandstorm.net).

Вторая задача решается путём обнаружения установленного драйвера модема (Рис. 11). Как правило, проверки такого рода требуют административных привилегий на сканируемом узле.

Рис. 11. Проверка для обнаружения модемов в сканере LANguard.

Из сравниваемых сканеров с задачей обнаружения модемов справляются LANguard, Internet Scanner, Retina, XSpider.

4.1.2. Идентификация открытых портов

После того, как узел был посчитан доступным, следует процесс идентификации открытых портов. Для этой цели используется несколько методов:

TCP connect() – сканирование портов ТСР с установлением соединения.

SYN Scan – «полусканирование»

UDP Scan – сканирование портов UDP обычным образом

Скрытое сканирование – этот метод сканирования объединяет различные приёмы, заключающиеся в посылке пакетов ТСР с различным сочетанием флагов.

Метод TCP connect() поддерживается всеми сканерами. Для этой цели используется интерфейс потоковых сокетов. С каждым ТСР-портом устанавливается соединение, а потом разрывается «штатным» образом (Рис. 12).

Copyright© 2006, Учебный центр "Информзащита"

Стр. 24 из 70

Функциональные возможности сканеров безопасности

Рис. 12. Сканирование портов методом TCP connect().

Метод «SYN Scan» работает быстрее, поскольку вместо пакета АСК, завершающего процедуру установления соединения, отправляется пакет RST. Таким образом, взаимодействие с открытым портом ограничивается тремя пакетами (Рис. 13).

Рис. 13. Сканирование портов методом SYN Scan.

Но опять же такой способ сканирования поддерживается только теми сканерами, которые используют генератор пакетов (Retina, Internet Scanner, Nessus).

Сканирование портов UDP, разумеется, поддерживается всеми сканерами. Но с ним могут быть проблемы, поскольку при сканировании портов UDP неполучение ответа свидетельствует о том, что порт открыт. Это осложняет ситуацию, поскольку ответ может не прийти и по другим причинам:

1.Потеря запроса (протокол UDP не гарантирует доставки датаграмм)

2.Фильтрация трафика UDP или ICMP

Для снижения вероятности ложных срабатываний сканеры могут содержать различные механизмы, например, предварительная проверка фильтрации трафика UDP или ICMP, как в Internet Scanner.

Copyright© 2006, Учебный центр "Информзащита"

Стр. 25 из 70

Функциональные возможности сканеров безопасности

Наконец, скрытые методы сканирования, заключающиеся в посылке ТСР пакетов с нестандартным сочетанием флагов (например, SYN+ACK или FIN не в контексте соединения), поддерживаются только сканерами Nessus и Internet Scanner. Поддержка этих методов сканирования абсолютно не актуальна по двум причинам:

1.Они обнаруживаются системами обнаружения атак, хотя изначально были необходимы для сокрытия факта сканирования.

2.Пакетные фильтры stateful на пути до объекта сканирования «убивают» подобные пакеты.

Краткое резюме. Желательно, чтобы сканер поддерживал три метода идентификации открытых портов: TCP connect(), SYN Scan, UDP Scan. Для метода UDP Scan желательно наличие защиты от ложных срабатываний, в противном случае возникает риск увидеть на сканируемом узле «много-много» открытых портов. Защита от ложных срабатываний при сканировании портов UDP предусмотрена в сканерах Internet Scanner и XSpider.

4.1.3. Идентификация служб и приложений

Открытый порт ещё не означает, что его использует соответствующая ему служба. Например, сервер НТТР может использовать порт 80, а может, например, порт 8081. Для сканера очень важно определить, какая служба соответствует открытому порту, поскольку далее предстоит искать уязвимости в этой службе. Определив службу, не лишним будет определить и соответствующее ей приложение (реализующее серверную часть службы). Это сложнее, чем просто определение службы, но зато упрощается последующий процесс идентификации уязвимостей (при идентификации уязвимостей по косвенным признакам).

Для целей идентификации служб и приложений в сканерах безопасности используются следующие методы:

1.Анализ «баннеров»

2.Использование команд служб прикладного уровня

3.Учёт особенностей работы сервисов прикладного уровня.

4.Различные эвристические методы

Атеперь о том, как эти методы представлены в сравниваемых сканерах.

Наиболее «внятно» идентификация служб и приложений представлена в сканерах XSpider и Nessus. Далее для наглядности представлен пример, в котором перед сканерами была поставлена задача поиска уязвимостей в службе SMTP, работающей на 587-м порту. При этом использовалась служба SMTP из состава IIS 6.0, её стандартный баннер был заменён.

Результат сканера XSpider представлен на Рис. 14.

Copyright© 2006, Учебный центр "Информзащита"

Стр. 26 из 70

Функциональные возможности сканеров безопасности

Рис. 14. Идентификация служб и приложений в сканере XSpider.

Как и следовало ожидать, XSpider отлично справился с поставленной задачей.

Далее следует отметить сканер Nessus (Рис. 15). Там процесс определения служб и приложений также «на уровне».

Рис. 15. Идентификация служб и приложений в сканере Nessus.

Идентификация служб имеется и в сканере Shadow (Рис. 16).

Copyright© 2006, Учебный центр "Информзащита"

Стр. 27 из 70

Функциональные возможности сканеров безопасности

Рис. 16. Идентификация служб и приложений в сканере Nessus.

Возможности остальных сканеров в части идентификации служб и приложений значительно «скромнее». Эти сканеры (Retina, LANguard, Internet Scanner) не выполняют ни идентификации служб, ни идентификации приложений. Вот результат сканера Retina для порта 587 из рассмотренного выше примера:

А вот результат сканера Internet Scanner:

Наконец, LANguard также не справился с задачей (Рис. 17).

Рис. 17. Идентификация служб и приложений в сканере LANguard.

Copyright© 2006, Учебный центр "Информзащита"

Стр. 28 из 70

Функциональные возможности сканеров безопасности

Таким образом, для этих сканеров желательно, чтобы сканируемые службы использовали стандартные порты.

С другой стороны, идентификация приложений в этих сканерах может быть реализована в виде отдельных проверок. Например, следующий фрагмент отчёта Internet Scanner подтверждает это:

Вданном случае Internet Scanner идентифицировал Sendmail. Но такие проверки имеются только для наиболее известных приложений, например, Sendmail, Apache, BIND, Internet Information Server.

Влюбом случае, сканеры, не выполняющие идентификации служб и приложений, могут пропускать имеющиеся на узле уязвимости. Поэтому им необходимо иметь параметры, позволяющие явно задать номера портов для сканируемых служб. Например, для проверки FtpNonstandardRunning в Internet Scanner (Рис. 18) можно задать диапазон портов.

Рис. 18. Идентификация службы FTP в сканере Internet Scanner.

Краткое резюме. Результаты идентификации служб и приложений очень важны для определения уязвимостей по косвенным признакам. Кроме того, они составляют значительную часть результатов инвентаризации ресурсов сети. Лучше остальных с задачей идентификации служб и приложений справляются сканеры XSpider и Nessus.

Copyright© 2006, Учебный центр "Информзащита"

Стр. 29 из 70

Функциональные возможности сканеров безопасности

4.1.4. Идентификация операционных систем

Проблема определения типа и версии операционной системы удаленного узла весьма актуальна при проведении сканирования. Чем точнее будет определена ОС тестируемого узла, тем эффективнее будет выполнена его проверка. Более того, набор выполняемых проверок может зависеть от результатов определения ОС (как, например, в сканере Internet Scanner). Идентификация ОС – довольно сложная задача, далеко не всегда решаемая однозначно. Вот известные методы идентификации ОС, используемые в настоящее время:

Простейшие. Подключение на открытые порты и анализ отклика работающих на них служб. Отклик часто содержит информацию об операционной системе.

Опрос стека TCP/IP. Впервые реализован в известном сканере nmap. На сегодняшний день это наиболее эффективный метод идентификации операционных систем.

Анализ пакетов ICMP. Чаще всего заключается в исследовании пакета ICMP Port Unreachable (что также реализовано в сканере nmap). Однако этот метод может быть существенно расширен и дополнен, что реализовано, например, в утилите xprobe.

Анализ работы таймера повторной передачи ТСР. На открытый порт исследуемого узла отправляется SYN-запрос. После получения подтверждения (пакета SYN-ACK) третий пакет (завершающий процедуру установления соединения) не отправляется. Исследуемый узел через некоторое время повторно отправит пакет SYN-ACK. Анализу подвергаются количество таких пакетов и изменение времени между пересылками. Метод реализован в утилите RING.

Тесты в отношении порта 0. Различные запросы, посланные в отношении «нулевого» порта TCP или с «нулевого» порта, как оказалось, по-разному обрабатываются разными ОС.

Эвристические. Различные методы, основанные на личном опыте разработчиков сканеров, отклики от служб и приложений исследуемого узла, сочетание открытых портов и т. п.

Точность определения ОС не может быть 100-процентной даже при использовании всех названных методов. Задача может быть усложнена наличием устройств фильтрации трафика, кроме того, серьёзную проблему представляет собой дифференцирование ОС одной группы.

Что касается сравниваемых сканеров, то все они используют простейшие методы идентификации ОС и анализ пакетов ICMP. Механизм опроса стека (и, соответственно, базу сканера nmap) используют Retina, Nessus, Internet Scanner, XSpider7. Остальные названные методы не реализованы в сканерах безопасности, остаются лишь эвристические.

4.2. Методы поиска уязвимостей

Следующая группа критериев охватывает то, собственно для чего и предназначены сканеры безопасности – процесс идентификации уязвимостей. Проверки, выполняемые сканером безопасности, можно поделить на две большие категории:

7 В версии 7.5 сканера XSpider появилась возможность вызова внешних программ, в частности, на данный момент, можно вызывать утилиту nmap (если она имеется на том же узле) и использовать результаты её работы.

Copyright© 2006, Учебный центр "Информзащита"

Стр. 30 из 70

Соседние файлы в папке ПР_1