Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТПАСБ / Лекции / lec6-4h.doc
Скачиваний:
75
Добавлен:
24.02.2016
Размер:
904.19 Кб
Скачать
  1. Виявлення відкритих мережних портів

Сканирование портов (port scanning) — это процесс пробного подключения к портам TCP и UDP исследуемого компьютера с целью определения, какие службы на нем запущены и обслуживаются ли ими соответствующие порты. Обслуживаемые порты могут находиться в состоянии ожидания запроса (listening mode). Определение таких портов — этап, имеющий определяющее значение для последующего выяснения типа используемой операционной системы, а также работающих на компьютере прикладных программ.

Активные службы, находящиеся в состоянии ожидания, могут предоставить взломщику возможность получить несанкционированный доступ. Это обычно происходит в том случае, когда система безопасности компьютера не настроена должным образом или в программном обеспечении имеются хорошо известные изъяны в системе защиты.

За последние несколько лет средства и методы сканирования портов были значительно усовершенствованы. Рассмотрим лишь самые популярные из них, с помощью которых можно получить важную информацию. Теперь мы уже не будем пытаться определить, подключен ли тот или иной компьютер к Internet, как это делалось ранее. Для упрощения задачи будем считать, что мы это уже установили однозначно и сосредоточимся лишь на методике выявления портов, находящихся в состоянии ожидания, или возможных точек проникновения в исследуемую систему.

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

  1. Идентификация TCP- и UDP-служб, запущенных на исследуемом узле.

  2. Идентификация типа операционной системы, установленной на исследуемом узле.

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

Типы сканирования

Прежде чем перейти к описанию конкретных средств, используемых для сканирования портов, необходимо уделить немного времени обзору методов сканирования, известных в настоящее время. Одним из пионеров реализации различных методов сканирования является ранее упоминавшийся Фёдор (Fyodor). Многочисленные приемы сканирования были реализованы им в утилите nmap.

TCP-сканирование подключением (TCP connect scan). При таком типе сканирования осуществляется попытка подключения по протоколу TCP к интересующему порту с прохождением полной процедуры согласования параметров (handshake), состоящей в обмене сообщениями SYN, SYN/ACK и АСК. Попытки такого сканирования очень легко выявляются. На рис. 2 показана диаграмма обмена сообщениями в процессе согласования параметров.

Применение: #nmap -sT target-ip

TCP-сканирование с помощью сообщений SYN (TCP SYN scan). Этот метод называется также сканированием с незавершенным открытием сеанса (half-open scanning), так как при его использовании полное TCP-соединение не устанавливается. Вместо этого на исследуемый порт отправляется сообщение SYN. Если в ответ поступает сообщение SYN/ACK, это означает, что данный порт находится в состоянии LISTENING. Если же ответ приходит в виде сообщения RST/ACK, то, как правило, это говорит о том, что исследуемый порт отключен. Получив ответ, компьютер, выполняющий сканирование, отправляет исследуемому узлу сообщение RST/ACK, поэтому полное соединение не устанавливается. Этот метод обеспечивает более высокую скрытность по сравнению с полным подключением. Многие системы не регистрируют такие попытки, поэтому они довольно часто могут оставаться незамеченными.

Применение: #nmap -sS target-ip

TCP-сканирование с помощью сообщений FIN (TCP FIN scan). В этом случае исследуемой системе отправляется пакет FIN. Согласно документу RFC 793 (http://www.ieff.org/rfc/rfc0793.txt), в ответ узел должен отправить пакет RST для всех закрытых портов. Данный метод срабатывает только для стека протоколов TCP/IP, реализованного в системе UNIX.

Применение: #nmap -sF target-ip

TCP-сканирование по методу "рождественской елки" (TCP Xmax Tree scan). При использовании данного метода на исследуемый порт отправляются пакеты FIN, URG и PUSH. Согласно документу RFC 793, исследуемый узел в ответ должен отправить сообщения RST для всех закрытых портов.

При использовании данного метода на целевые порты отправляются ТСР-пакеты с установленным флагами FIN/URG/PUSH. Флаги URG/PUSH указывают на то, что данный пакет должен быть отправлен срочно, не вставая в очередь пакетов на отправку. В соответствии с RFC 793 исследуемый узел в ответ должен отправить пакет с установленным флагом RST для всех закрытых портов. Также данный тип пакетов может применяться для определения портов, которые фильтруются межсетевым экраном.

Применение: #nmap -sX target-ip

TCP нуль-сканирование (TCP Null scan). Этот метод состоит в отправке пакетов с отключенными флагами. Согласно RFC 793, исследуемый узел должен ответить отправкой сообщения RST для всех закрытых портов.

Применение: #nmap -sN target-ip

ТСР-сканирование пакетами с установленным флагом ACK (TCP ACK scan). Обычный стек TCP/IP должен ответить пакетом с установленным пакетом RST для всех закрытых портов. Данный тип сканирования очень полезен при определении и обходе брандмауэров, поскольку позволяет выявить критерии, в соответствии с которыми производится фильтрация.

Применение: #hping target-ip -S -p 80 –f.

TCP-сканирование размера окна (TCP Windows scan). В TCP/IP существует такое понятие, как размер окна (соответственно в ТСР сегменте есть поле для него), которое определяет количество пакетов, которое может получить целевая система за один раз. Такой метод позволяет выявить открытые, а также фильтруемые/нефильтруемые порты некоторых систем (например, АIХ и FreeBSD), в зависимости от полученного размера окна протокола TCP.

Применение: #hping target-ip -S -p 25 –w.

TCP-сканирование портов RPC (TCP RPC scan). RPC (Remote Procedures Calls) - это специальная сетевая служба, использующаяся для удаленного вызова процедур; данный метод сканирования применяется только к UNIX. В UNIX этой службе выделяется некоторый диапазон портов (как правило, 31000 - 32000), связанных с определенными сервисам, входящими в службу вызова удаленных процедур. Применение: #nmap -sS -R target-ip, Здесь параметр -R указывает на то, что необходимо сканировать порты служб RPC; как правило, должен использоваться с каким-либо еще типом сканирования в паре, в примере с –sS.

UDP-сканирование (UDP scan). Данный метод заключается в отправке на исследуемый узел пакетов по протоколу UDP. Если в ответ поступает сообщение о том, что порт ICMP недоступен (ICMP port unreachable), это означает, что соответствующий порт закрыт. Однако если такого сообщения нет, можно предположить, что данный порт открыт. В связи с тем, что протокол UDP не гарантирует доставки, точность данного метода очень сильно зависит от множества факторов, влияющих на использование системных и сетевых ресурсов. Кроме того, UDP-сканирование — очень медленный процесс, что особенно сказывается при попытках сканирования устройств, в которых реализован мощный алгоритм фильтрации пакетов. Поэтому, планируя использовать UDP-сканирование, приготовьтесь к тому, что результаты могут оказаться ненадежными.

Применение: #nmap -sU target-ip

Некоторые реализации IP-протокола обладают одним неприятным свойством: пакеты RST отправляются обратно для всех сканируемых портов независимо от того, находятся ли соответствующие порты в режиме ожидания запросов. Учитывайте этот факт при использовании описанных методов. Однако в то же время сканирование подключением и сканирование с использованием сообщений SYN могут применяться для всех узлов.

Соседние файлы в папке Лекции