Комплексная защита объектов информатизации



Pdf просмотр
страница1/4
Дата14.11.2016
Размер1.28 Mb.
Просмотров1158
Скачиваний0
  1   2   3   4

Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Владимирский государственный университет
имени Александра Григорьевича и Николая Григорьевича
Столетовых»
КОМПЛЕКСНАЯ ЗАЩИТА ОБЪЕКТОВ ИНФОРМАТИЗАЦИИ
КНИГА 24
Д.В. МИШИН, Ю.М. МОНАХОВ
АНАЛИЗ ЗАЩИЩЕННОСТИ РАСПРЕДЕЛЕННЫХ
ИНФОРМАЦИОННЫХ СИСТЕМ

Идентификация ресурсов
корпоративной сети передачи данных
Практикум













Владимир 2012

1
УДК 930.1
ББК 32.81
Редактор серии – заведующий кафедрой «Информатика и защита информации» доктор технических наук, профессор М.Ю. Монахов
Рецензенты:
И.о. начальника кафедры специальной техники и информационных технологий Владимирского юридического института УФСИН России доктор технических наук, профессор
Б.Ю. Житников
Профессор кафедры информационных систем и информационного менеджмента Владимирского государственного университета доктор технических наук, профессор
Р.И. Макаров
Печатается по решению редакционного совета
Владимирского государственного университета имени Александра Григорьевича и
Николая Григорьевича Столетовых
Мишин, Д.В.
Анализ защищенности распределенных информационных систем. Идентификация ресурсов корпоративной сети передачи данных : Практикум / Д.В. Мишин, Ю.М. Монахов ; Владим. Гос. Ун- т. – Владимир : Изд-во Владим. Гос. Ун-та, 2012. – 97с. (Комплексная защита объектов информатизации. Кн. 24). – ISBN .
В пособии рассматриваются теоретические и практические аспекты идентификации ресурсов корпоративных распределенных сетей TCP/IP. Особое внимание уделяется вопросам практического применения свободно распространяемых программных средств идентификации узлов сети, анализа топологии, определения версий сетевых служб и операционных систем.
Для студентов старших курсов высших учебных заведений, магистрантов, слушателей курсов повышения квалификации.
Ил.15. Табл.10. Библиогр.:18 назв.
ISBN
© Владимирский государственный университет, 2012
© Мишин Д.В., Монахов Ю.М., 2012

2
ОСНОВНЫЕ СОКРАЩЕНИЯ
АРМ – автоматизированное рабочее место
БД – база данных
ЗИ — защита информации
ИБ — информационная безопасность
ИС – информационная система
КИС – корпоративная информационная система
КСПД – корпоративная сеть передачи данных
ЛВС – локальная вычислительная сеть
МЭ – межсетевой экран
ОС — операционная система
ПО — программное обеспечение
РИВС — распределенная информационно-вычислительная среда
СОА – система обнаружения атак (IDS)
ARP – Address Resolution Protocol
DHCP - Dynamic Host Configuration Protocol
DNS – Domain Name System
HTTP – HyperText Transfer Protocol
ICMP – Internet Control Message Protocol
IP – Internet Protocol
ISO – International Organization for Standardization
FTP – File Transfer Protocol
NAT – Network Address Translation
NIDS – Network-based Intrusion Detection System
OSI – Open Systems Interconnection
RFC – Request for Comments
SNMP – Simple Network Management Protocol
SMTP – Simple Mail Transfer Protocol
SSH – Secure SHell
SSL – Secure Sockets Layer
TCP – Transmission Control Protocol
TTL – Time to live
UDP – User Datagram Protocol

3
ВВЕДЕНИЕ
Данное издание предназначено для магистрантов и студентов старших курсов, специализирующихся в вопросах проектирования комплексных систем защиты объектов информатизации, а также для
ИТ-специалистов, желающих повысить свою квалификацию. Пособие содержит материалы к занятиям по изучению базового набора операций, составляющих процедуру тестирования на проникновение.
Практикум ориентирован на обретение навыков осуществления типовых действий по активному аудиту распределенных информационных систем и обретение навыков использования специализированного программного обеспечения.
Организация занятий с использованием предложенного материала предполагает знание студентами основ вычислительных сетей, наличие опыта работы в операционной системе GNU/Linux, а также знание основ информатики, теории информации, архитектуры вычислительных систем, операционных систем.
Практикум ориентирован на использование специализированного программного обеспечения, программных комплексов и утилит, входящих в состав дистрибутива Backtrack версии 4 или выше. В то же время материал, изложенный в практикуме, может быть легко адаптирован для использования вместе с другими версиями соответствующего программного обеспечения, гарантирующими выполнение сходных функций.
Первая часть практикума содержит девятнадцать практических работ. Каждая работа включает в себя описание изучаемых команд и понятий; упражнения, которые необходимо выполнить в интерактивном диалоге с системой; вопросы для самоконтроля; практическое задание. В предлагаемом издании особое внимание уделяется вопросам обнаружения узлов сети, идентификации статуса портов, а также идентификации сетевых сервисов и приложений.

4
РАЗДЕЛ I - ОБНАРУЖЕНИЕ УЗЛОВ СЕТИ (HOST
DETECTION)
Одна из первостепенных задач при исследовании корпоративной сети (КСПД) - формирование перечня сетевых узлов для последующей работы с ними. При идентификации активных узлов (host detection) КСПД анализируются реакция – ответы узла на отправленные запросы или сообщение об ошибке. Итогом данного этапа является перечень активных узлов КСПД, подлежащих дальнейшему исследованию. Для идентификации таких узлов КСПД могут применяться следующие протоколы стека TCP/IP: ICMP, IP,
UDP, TCP, ARP.

Практическая работа №1
ОБНАРУЖЕНИЕ УЗЛОВ СЕТИ. ICMP ECHO REQUEST
(Утилита PING)

1. Цель работы
Овладеть основами обнаружения (идентификации) активных узлов сети с помощью протокола управляющих сообщений ICMP.
Рассмотреть способы обнаружения узлов сети с помощью запроса
ICMP Echo Request. Научиться применять на практике программные средства исследования сети.

2. Теоретические сведения. Методические рекомендации

Протокол ICMP
ICMP (Internet Control Message Protocol, RFC-792, RFC-1256) - протокол управляющих сообщений, входящий в стек протоколов
TCP/IP. ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга недоступна, или узел сети (host), или маршрутизатор (router) не отвечают. Также на ICMP возлагаются некоторые сервисные функции. Сообщения ICMP передаются с

5 использованием базовых заголовков IP (рис. 1). Первый октет данных дейтаграммы (рис. 1) указывает тип ICMP — значение этого поля определяет формат остальной части дейтаграммы.
Рис. 1. IP-дейтаграмма
Так как ICMP сообщения переносятся IP-дейтаграммами, их доставка не гарантируется. Типы ICMP-сообщений различаются по заголовку ICMP.
Формат пакета протокола ICMP представлен на рис. 2 (RFC
792).
Рис. 2. Формат пакета протокола ICMP
Основные типы сообщений протокола ICMP даны в таблице 1.
Для большинства сообщений об ошибках задействовано поле диагностического кода сообщений Destination Unreachable (табл. 2).
Существует два пути идентификации узлов сети средствами протокола управляющих сообщений ICMP:
Отправка запроса (Echo Request) и ожидание ответа (Echo Reply) от запрашиваемого узла сети;
Вызов ситуации ошибки на удаленном узле, анализ полученных диагностических сообщений.

6
Таблица 1 - Основные типы сообщений протокола ICMP
Тип Сообщение
Назначение
0
Echo Reply
Ответ ICMP - эхо (ping)
1-2
Зарезервировано
3
Destination Unreachable
Получатель недостижим
4
Source Quench
Переполнение очереди источника
5
Redirect
Переадресация / изменение маршрута
7
Зарезервировано
8
Echo Request
Запрос ICMP - эхо (ping)
9
Объявление маршрутизатора (RFC-1256)
10
Запрос маршрутизатора (RFC-1256)
11
Time Exceeded
Превышение временного интервала
12
Parameter Problem
Ошибка в параметрах дейтаграммы
13
Timestamp Request
Запрос метки времени
14
Timestamp Reply
Ответ метки времени
15
Information Request
Запрос информации
16
Information Reply
Ответ информации
17
Address Mask Request
Запрос маски адреса (RFC-950)
18
Address Mask Reply
Ответ на запрос маски адреса (RFC-950)
Таблица 2 - Основные коды сообщений об ошибках протокола ICMP
Код Тип кода
Значение
0
Network Unreachable
Хост назначения не достижим
1
Host Unreachable
Сеть назначения недостижима
2
Protocol Unreachable
Протокол недостижим
3
Port Unreachable
Порт недостижим
4
Fragmentation Need & DF set
Необходима фрагментация, однако она запрещена
5
Source Route Failed
Исходный маршрут вышел из строя
6
Destination Network Unknown
Сеть назначения неизвестна
7
Destination Host Unknown
Хост назначения неизвестен
8
Source Host Isolated
Источник изолирован
9
Communication with destination Network
Administratively Prohibited
Взаимодействие с сетью назначения запрещено
10
Communication with destination Host
Administratively Prohibited
Взаимодействие с узлом назначения запрещено
11
Network Unreachable for type of service
Сеть назначения недоступна для запрошенного типа сервиса
12
Host Unreachable for type of service
Хост назначения недоступен для запрошенного типа сервиса
13
Связь запрещена с помощью фильтра
14
Нарушение старшинства ЭВМ
15
Дискриминация по старшинству


7
Идентификация узла сети способом отправки запроса Echo
Request. Утилита Ping
Активная система (узел сети - host), получившая сообщение
ICMP Echo Type 8 (Echo Request), должна ответить сообщением ICMP
Echo Type 0. Отсутствие ответа Echo Reply может свидетельствовать о недоступности удаленного узла или о фильтрации данного типа трафика, например средствами МЭ.
СКАНИРУЮЩИЙ УЗЕЛ (CLIENT) -> ICMP ECHO TYPE 8 (ECHO REQUEST)
ICMP ECHO TYPE 0 (ECHO REPLY) <- СКАНИРУЕМЫЙ УЗЕЛ (SERVER)
Для отправки сообщение ICMP Echo Request и приема ICMP
Echo Reply можно использовать утилиту ping, входящую в большинство современных ОС. Утилита ping посылает сообщение
ICMP Echo Request подобно клиенту, а адресуемый узел сети отвечает сообщением ICMP Echo Reply, выступая в роли сервера. Если адресуемый узел отвечает, утилита ping сообщает в стандартный выходной поток, что узел сети активен (host is alive) и завершает работу. В противном случае, после определенного интервала времени
(timeout) выдает сообщение, что от узла ответа нет (no answer from host).
Основные опции утилиты ping:
-d: Режим отладки;
-f: Лавинная рассылка (Flood ping). Доступна только root;
-i: Время ожидания (Interval) между отправкой пакетов;
-n: Числовое именование узлов сети (Numeric output only);
-p: Шаблон (Pattern);
-v: Детальный вывод (Verbose output);
-b: Использование широковещательного адреса (Allow pinging a broadcast address);
-c: Количество (count) отправляемых пакетов.
Утилиту ping возможно использовать в сценариях (скриптах) для автоматизации идентификации активных узлов сети (мало применяется ввиду низкой скорости сканирования). Для опроса всех узлов сети класса C, можно написать простой сценарий, например:

8
#!/bin/sh for i in {1..254}; do ping -c1 192.168.0.$i; done exit 0
Утилита ping с опцией –b позволяет отправлять сообщения
ICMP Echo Request по широковещательному адресу (broadcast address), таким образом можно определить доступность множества узлов сети: linux:
# ping -b 192.168.1.255
Использование утилиты ping нерационально для опроса узлов большой сети, поскольку опрос происходит последовательно. Для исследования больших сетей рекомендуется использовать специализированные утилиты, например: fping, hping3, nmap и т.д.
3. Практическое задание
1. Проверьте наличие утилиты ping в системе: linux:
# whereis ping ping: /bin/ping /usr/share/man/man8/ping.8.gz
В случае необходимости, установите ПО: linux:
# apt-get update && apt-get install nmap
2. Проверьте настройки сетевых интерфейсов;
3. Ознакомьтесь на практике с различными режимами работы утилиты ping
(-f -i -v -b -c);
4. Напишите программу (bash, perl, ruby), производящую сканирование заданного диапазона адресов сети средствами утилиты ping;
5.
Исследуйте подсеть лаборатории (компьютерного класса, экспериментальной установки), выявите все активные узлы при помощи разработанной программы;
6. Измерьте время сканирования диапазона из десяти, пятидесяти и ста адресов, результат оформите в виде таблицы.

9
Практическая работа №2
ОБНАРУЖЕНИЕ УЗЛОВ СЕТИ. ICMP ECHO REQUEST
(Утилиты FPING и NMAP)

1. Цель работы
Закрепить навыки обнаружения (идентификации) активных узлов сети с помощью протокола управляющих сообщений ICMP.
Попрактиковаться в использовании программных средств исследования сети: nmap, fping, hping3.

2. Теоретические сведения. Методические рекомендации

Утилита тестирования сети fping
Fping
(
http://www.fping.com/
)
— популярная свободно распространяемая утилита для тестирования сети на основе протокола
ICMP
(для
*NIX систем), относящаяся к инструментам, использующим технологию PING SWEEP, т.е. способна асинхронно опрашивать большое количество узлов сети, управляя временем задержки между передаваемыми ICMP-сообщениями (delay time).
Утилите fping в качестве параметра можно задать более одного узла для тестирования или указать текстовый файл со списком узлов. В отличие от утилиты ping, fping широко используют в сценариях
(скриптах), т.к. она представляет выходные данные в форме удобной для дальнейшего разбора (parse).
Синтаксис утилиты fping: fping [options] [targets...]
Список наиболее используемых опций утилиты fping:
-a: Показывает доступные узлы сети (show targets that are alive);
-b n: Количество посылаемых пакетов (по умолчанию 56);
-B f: Устанавливает фактор задержки;
-c n: Количество пакетов посылаемых, каждому узлу сети;
-e: Выводит время выполнения (Round Trip Time);
-f file: Задает имя файла со списком тестируемых узлов сети;

10
-g: Генерирует список тестируемых узлов сети;
-i
n:
Задает интервал между посылаемыми пакетами (в миллисекундах);
-l: Задает опрос узлов сети в цикле (loop sending pings forever);
-p n: Задает интервал между отправкой пакетов на узлел сети;
-r n: Число попыток (по умолчанию 3);
-s: Вывод финальной статистики (print final stats);
-u: Отображает недоступные узлы сети (show targets that are unreachable).
Практический пример использования утилиты fping для идентификации активных узлов подсети 192.168.1.1-100/24: linux:
# fping -r 1 -g 192.168.1.1 192.168.1.100 -s hosts
192.168.1.1 is alive
192.168.1.26 is alive
192.168.1.27 is alive
100 targets
3 alive
97 unreachable
0 unknown addresses
45 timeouts (waiting for response)
145 ICMP Echos sent
3 ICMP Echo Replies received
88 other ICMP received
0.05 ms (min round trip time)
0.57 ms (avg round trip time)
1.04 ms (max round trip time)
4.394 sec (elapsed real time)
Утилита тестирования сети nmap
Nmap (Network Mapper, http://www.nmap.org) - утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей. Выходные данные nmap - это список просканированных целей с дополнительной информацией по каждой в зависимости от заданных опций (
http://nmap.org/man/ru/
).
Синтаксис сканера nmap: nmap [ <Тип сканирования> ...] [ <Опции> ] { <цель сканирования> }

11
Список наиболее используемых опций утилиты nmap при обнаружении узлов:
-iL: <имя_входного_файла> Использовать список узлов/сетей из файла;
-sL: Сканирование с целью составления списка узлов для сканирования;
-sP: ICMP Ping сканирование - определяет, активен ли узел сети;
-n/-R: Никогда не производить DNS разрешение / Всегда производить разрешение;
-T[0-5]: Установить шаблон настроек управления временем (больше - быстрее);
-PE (Ping ICMP): Использовать ICMP запрос (ICMP Echo Request).
Для просмотра всех опций сканера nmap применяется ключ –h: linux:
# nmap -h
Nmap 5.21 ( http://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL : Input from list of hosts/networks
Чтобы произвести ICMP Echo Request сканирование средствами утилиты nmap и вывести список доступных узлов сети, т.е. узлов, которые ответили на сообщение ICMP Echo Request, используется опция -sP (тип - ICMP Ping сканирование). Пример использования утилиты nmap для обнаружения активных узлов сети подсети
192.168.1.1-254/24: linux:
# nmap –sP 192.168.1.1-254 –PE –T5
Starting Nmap 5.21 ( http://nmap.org ) at 2011-08-27 15:06 MSD
Nmap scan report for 192.168.1.1
Host is up (0.00092s latency).
Nmap scan report for 192.168.1.26
Host is up (0.00089s latency).
Nmap scan report for 192.168.1.27
Host is up (0.00086s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 1.34 seconds


12
3. Практическое задание

1. Проверьте наличие всех рассмотренных утилит в системе: linux:
# whereis nmap nmap: /usr/bin/nmap /usr/lib/nmap /usr/share/nmap
/usr/share/man/man1/nmap.1.gz
2.
Исследуйте подсеть лаборатории (компьютерного класса, экспериментальной установки), выявите все активные узлы средствами утилит fping, nmap, hping3 (ознакомиться с назначением и основными опциями утилиты hping3 необходимо самостоятельно: http://www.hping.org);
3.
Сравните время сканирования всего диапазона адресов исследуемой подсети различными утилитами: ping, fping, hping3, nmap (для nmap провести сканирование тремя различными режимами управления временем), результаты оформите в виде таблицы;
4.
Напишите программу (bash, perl, ruby), производящую периодическую проверку доступности некоторого множества узлов сети (с использованием любой из рассмотренных утилит) и выводящую сообщение на стандартное устройство (отправляющую сообщение на почту, адрес почты уточнить у преподавателя) в случае недоступности какого-либо из наблюдаемых узлов (перечень контролируемых узлов сети необходимо выбирать из полученного ранее файла).

13
Практическая работа №3
ОБНАРУЖЕНИЕ УЗЛОВ СЕТИ. ИНФОРМАЦИОННЫЕ ICMP
СООБЩЕНИЯ

1. Цель работы

Изучить методы обнаружения узлов сети средством информационных запросов TimeStamp Request, Information Request,
Address Mask Request. Закрепить навыки работы с программными средствами исследования сети: nmap, ping, fping, hping3, icmpush.

2. Теоретические сведения. Методические рекомендации

Кроме рассматриваемых выше сообщений протокола ICMP Echo
Request и Echo Reply, для идентификации активных узлов сети можно использовать и другие информационные ICMP-сообщения. Такие сообщения, как правило, бывают более информативными, чем просто ответ ICMP Echo Reply. Наиболее используемые на практике запросы
ICMP:
TimeStamp Request (Type 13) - Запрос метки времени;
Information Request (Type 15) - Запрос информации (Определение адреса сети для бездисковых станций);
Address Mask Request (Type 17) - Запрос маски адреса (RFC-950).

Запрос метки времени
ICMP-запрос TimeStamp Request (Type 13) используется для получения текущего значения времени на исследуемом узле. Формат
ICMP-запроса TimeStamp Request представлен на рис. 3.
На ICMP-запрос TimeStamp Request удаленный узел должен ответить ICMP-сообщением Timestamp Reply (некоторые системы могут игнорировать данный запрос). Для генерации ICMP-запросов
TimeStamp Request могут быть использованы такие утилиты, как: sing
(http://
www.sourceforge.net/projects/sing
), hping3, nmap и другие.

14

Рис. 3. Формат ICMP-запроса TimeStamp Request
Пример использования утилиты nmap для отправки сообщений
TimeStamp Request: linux:
$ sudo nmap -sP 192.168.1.1 -PP
[sudo] password for linux:
Starting Nmap 5.21 ( http://nmap.org ) at 2011-08-27 21:52 MSD
Nmap scan report for 192.168.1.1
Host is up (0.00039s latency).
MAC Address: 00:18:02:17:A5:E3 (Alpha Networks)
Nmap done: 1 IP address (1 host up) scanned in 0.40 seconds
Опция -PP указывает nmap использовать пакет ICMP TimeStamp
Request (Type 13).
Пример использования утилиты icmpush для отправки сообщений TimeStamp Request: linux:
$ sudo icmpush -tstamp 192.168.0.2 192.168.0.2 -> 09:37:59

Запрос Information Request
ICMP-сообщение Information Request (Type 15) используется протоколами BOOTP, DHCP и служит для определения адреса сети
(для бездисковых станций). Некоторые ОС могут посылать ответ на подобные запросы. Формат ICMP-запроса Information Request представлен на рис. 4.

15
Рис. 4. Формат ICMP-запроса Information Request
Пример использования утилиты sing для отправки сообщений
Information Request: linux:
$ sing –info 192.168.1.1
Запрос Netmask Request
ICMP-сообщение Netmask Request (Type 17) – получение маски подсети, также может использоваться для идентификации узлов сети в условиях фильтрации сообщений ICMP Echo Request
(различные операционные системы реагируют на данный запрос по разному). Формат
ICMP-запроса Netmask Request представлен на рис. 5.
Рис. 5. Формат ICMP-запроса Netmask Request
Пример использования утилиты sing для отправки сообщений
Netmask Request: linux:
$ sing –mask 192.168.1.1
Пример использования утилиты nmap для отправки сообщений
Netmask Request: linux:
$ sudo nmap -sP 192.168.1.1 -PM
[sudo] password for linux:
Starting Nmap 5.21 ( http://nmap.org ) at 2011-08-27 22:52 MSD

16
Nmap scan report for 192.168.1.1
Host is up (0.00039s latency).
MAC Address: 00:18:02:17:A5:E3 (Alpha Networks)
Nmap done: 1 IP address (1 host up) scanned in 0.43 seconds
Опция -PM указывает nmap использовать пакет ICMP Netmask
Request (Type 17).
3. Практическое задание
1.
Исследуйте подсеть лаборатории (компьютерного класса, экспериментальной установки), выявите все активные узлы средством запросов TimeStamp Request, Information Request, Netmask Request.
Выявите узлы сети, на которых запросы ICMP Echo Request фильтруются;
2. Повторите исследование, используя все рассмотренные в работе утилиты, сравните результаты;
3. Сравните реакцию различных ОС на информационные ICMP- запросы. Необходимо использовать одну из рассмотренных утилит
(на выбор). Результаты занесите в таблицу (табл. 3).
Таблица 3
Операционная система
Indirect ICMP message types (broadcast)
Type 8
Type 13
Type 15
Type 17
Linux
Windows 7


17
Практическая работа №4
ОБНАРУЖЕНИЕ УЗЛОВ СЕТИ СРЕДСТВАМИ ПРОТОКОЛА
TCP (TCP-PING)

1. Цель работы

Ознакомиться с основами обнаружения (идентификации) активных узлов сети с помощью протокола TCP. Научиться использовать метод обнаружения устройств TCP-Sweep. Закрепить навыки работы с программными средствами исследования сети: nmap, hping3.

2. Теоретические сведения. Методические рекомендации

Протокол TCP
Протокол TCP (Transmission Control Protocol - протокол управления передачей, RFC 793) — один из основных протоколов
Internet, предназначенный для управления передачей данных в сетях
TCP/IP. Выполняет функции протокола транспортного уровня модели
OSI. Протокол TCP осуществляет доставку дейтаграмм, в виде байтовых потоков с установлением соединения. Протокол TCP применяется в тех случаях, когда требуется гарантированная доставка сообщений. Он использует контрольные суммы пакетов для проверки их целостности и освобождает прикладные процессы от необходимости задержек (timeout) и повторных передач. Для отслеживания подтверждения доставки в TCP реализуется алгоритм скользящего окна (Sliding window).
Рассмотрим наиболее важные (в рамках решаемой задачи) поля сегмента TCP.
Порт отправителя (Source Port - 16 bits): идентифицирует приложение клиента, отправляющего пакеты. По возвращении данные передаются клиенту на основании номера порта источника.
Порт получателя (Destination Port - 16 bits): идентифицирует порт, на который отправлен пакет. Перечень сетевых служб и

18 закрепленных за ними портов TCP можно получить, используя следующую команду (в *nix системах): linux:
$ less /etc/services | grep tcp
Наиболее популярные сетевые службы, работающие на основе
TCP: 20/21 — FTP; 22 — SSH; 23 — Telnet; 25 — SMTP; 80 — HTTP;
110 — POP3; 194 — IRC (Internet Relay Chat); 443 — HTTPS (Secure
HTTP).
Флаги (Control Bits - 6 bits): это поле содержит 6 битовых флагов: URG — Поле Указатель важности (Urgent pointer field is significant); ACK — Поле Номер подтверждения (Acknowledgement field is significant); PSH — (Push function) инструктирует получателя
«протолкнуть» данные, накопившиеся в приемном буфере, в приложение пользователя; RST — Оборвать соединения (Reset the connection); SYN — Синхронизация номеров последовательности
(Synchronize sequence numbers); FIN — флаг указывающий на завершение соединения (FIN bit used for connection termination).
Формат сегмента TCP (TCP Header Format) представлен на рис.
6 (RFC 793).
Рис. 6. Формат сегмента TCP (TCP Header Format)

19
TCP Sweep
Метод определения доступности узла сети с применением протокола TCP называется TCP Ping или TCP Sweep. Данный метод может использоваться в случае, когда на удаленной машине отключен ответ на ICMP-запросы (сообщения протокола ICMP фильтруются
МЭ). Вместо отправки ICMP Echo Request на сканируемый узел сети, отправляется TCP-пакет с установленными флагами ACK или
SYN|ACK. Реакция тестируемого узла при получении таких запросов может быть неоднозначна, она зависит от версии ОС и от настроек
МЭ. Обычно узел отвечает сообщением с флагом RST, что свидетельствует о его активности в текущий момент. Возможно использование сообщений с флагом SYN. Если исследуемый узел активен и трафик не блокируется МЭ, то вероятен ответ с флагом RST или SYN|ACK.
Рассмотрим несколько популярных программных продуктов, способных генерировать пакеты с различным сочетанием TCP- флагов.

TCP Sweep средствами утилиты hping3
Утилита hping3 является мощным инструментом тестирования сетей и может передавать IP-пакеты с заданными параметрами, выводя на экран полученные от адресата отклики, подобно программам, работающим с откликами ICMP. Hping3 поддерживает фрагментацию, позволяет задавать произвольное содержимое поля данных IP-пакета, менять размер IP-пакетов и может использоваться для передачи файлов, инкапсулированных с использованием поддерживаемых протоколов.
Синтаксис утилиты hping3: hping3 [options] [targets...]
Наиболее популярные опции hping3:
Опции общего назначения
-h (--help): Выводит на экран краткую справку о работе с программой;
-c (--count): Прекращение работы после передачи заданного числа пакетов;

20
--fast: Задает передачу пакетов с периодом 10 мсек;
--faster: Задает передачу пакетов с периодом 1 мксек;
--flood: Задает передачу пакетов с максимально возможной скоростью без ожидания приема откликов;
Опции выбора протокола
-0 (--rawip): Режим RAW IP, при котором hping3 будет передавать заголовки IP с данными, указанными опцией --signature и/или --file;
-1 (--icmp): Режим ICMP – программа будет передавать пакеты ICMP
(по умолчанию Echo Request). Возможен выбор типа и кода ICMP с помощью опций --icmptype и --icmpcode;
-2 (--udp): Режим UDP – hping3 будет передавать пакеты UDP, адресованные на порт 0. Для управления параметрами заголовков
UDP служат опции --baseport, --destport, --keep;
Опции IP
-a (--spoof): Указывает в передаваемых пакетах подставной адрес отправителя;
-t (--ttl): Задает время жизни (TTL) генерируемых пакетов (Эта опция весьма полезна при совместном использовании с опциями --traceroute и --bind);
-f (--frag): Задает режим фрагментации пакетов, который может быть полезен для тестирования стека IP или проверки МЭ;
Опции ICMP
-C (--icmptype): Задает тип ICMP (по умолчанию - ICMP Echo
Request);
-K (--icmpcode): Задает код ICMP (по умолчанию - 0);
--icmp-ts: Псевдоним для --icmptype 13 (передача запросов ICMP
TimeStamp Request);
--icmp-addr: Псевдоним для --icmptype 17 (передача запросов ICMP
Netmask Request);
Опции TCP/UDP
-s (--baseport): Эта опция задает порт отправителя;
-p (--destport): Эта опция задает порт получателя;
-w (--win): Задает размер окна TCP (по умолчанию – 64);
-F (--fin): Устанавливает флаг TCP FIN;

21
-S (--syn): Устанавливает флаг TCP SYN;
-R (--rst): Устанавливает флаг TCP RST;
-P (--push): Устанавливает флаг TCP PUSH;
-A (--ack): Устанавливает флаг TCP ACK;
-U (--urg): Устанавливает флаг TCP URG;
-X (--xmas): Устанавливает флаг TCP Xmas;
-Y (--ymas): Устанавливает флаг TCP Ymas.
Более подробную информацию по утилите hping3 можно получить из документации: linux:
$ man hping3
Пример использования hping3 (сканирование TCP-пакетом с флагом SYN): linux:
$ sudo hping3 192.168.1.1 –S –p 80 –c 1
HPING 192.168.1.1 (eth0 192.168.1.1): S set, 40 headers + 0 data bytes len=46 ip=192.168.1.1 ttl=64 id=46780 sport=80 flags=SA seq=0 win=16000 rtt=0.9 ms
--- 192.168.1.1 hping statistic ---
1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.9/0.9/0.9 ms
В примере отправляется один TCP-пакет с установленным флагом SYN на 80-й TCP-порт узла сети. Данный метод определения доступности узла достаточно эффективен, т.к. от доступного узла ответ придет в любом случае – в случае если TCP-порт открыт или если TCP-порт закрыт. Применение сканирования пакетами с другим сочетанием флагов может вызвать неоднозначную реакцию узла сети.
Также такие пакеты могут «отбрасываться» МЭ (поддерживающими технологию Stateful Inspection).
Пример использования hping3 (сканирование TCP-пакетом с флагом SYN|ACK): linux:
$ sudo hping3 192.168.1.1 –S -A –p 80 –c 1
Пример использования hping3 (сканирование TCP-пакетом с флагом ACK): linux:
$ sudo hping3 192.168.1.1 –A –p 80 –c 1

22
Перечень опций TCP-ping сканера nmap:
-PS/PA [список_портов]: TCP SYN|ACK сканирование.
3. Практическое задание
1.
Исследуйте подсеть лаборатории (компьютерного класса, экспериментальной установки), выявите все активные узлы методом
TCP Ping, с использованием TCP-пакетов с различным сочетанием флагов (с техникой сканирования методом TCP Ping средствами nmap ознакомьтесь самостоятельно: http://nmap.org/man/ru/);
2. Выявите узлы сети, на которых запросы ICMP Echo Request фильтруются;
3. Сравните реакцию различных ОС на информационные ICMP запросы. Необходимо использовать одну из рассмотренных утилит
(на выбор). Результаты занесите в таблицу;
4. Исследуйте реакцию узла сети на SYN-запросы, сравните ответы от открытого и закрытого TCP-порта. Все исследования необходимо провести средствами hping3 и nmap.


23
Практическая работа №5
ОБНАРУЖЕНИЕ УЗЛОВ СЕТИ СРЕДСТВАМИ ПРОТОКОЛОВ
UDP (UDP-PING), IP

1. Цель работы

Ознакомиться на практике с методами обнаружения
(идентификации) активных узлов сети с помощью протокола UDP.
Научиться использовать метод обнаружения устройств UDP
Discovery. Получить представление о практических методах обнаружения активных узлов сети с помощью протокола IP. Овладеть следующими методами: методом идентификации узла с помощью фрагментов IP-пакета, идентификации узла отправкой IP-пакета ошибочной длины, идентификации узла отправкой IP-пакета неподдерживаемого тестируемой системой протокола.

2. Теоретические сведения. Методические рекомендации

Протокол UDP
Протокол
UDP
(User
Datagram
Protocol,
RFC
768) проектировался для создания в объединенной системе компьютерных сетей с коммутацией пакетов режима передачи дейтаграмм клиента.
Протокол UDP предоставляет прикладной программе процедуру для отправки сообщений другим программам, причем механизм протокола минимален. Данный протокол предполагает, что нижестоящим протоколом является IP. Протокол UDP не ориентирован на транзакции, получение дейтаграмм и защита от дублирования не гарантированы.
Формат дейтаграммы UDP (UDP Header Format) представлен на рис. 7 (RFC 768).

Метод UDP Discovery
Метод обнаружения сетевых узлов с помощью протокола UDP называется UDP Discovery, UDP Scan или UDP Sweep. Его суть

24 заключается в том, что если в ответ на UDP-пакет от узла было получено ICMP-сообщение Destination Unreachable или Port
Unreachable, то исследуемый узел доступен (UDP-порт фильтруется).
Рис. 7. Формат дейтаграммы UDP (UDP Header Format)

Если ответа получено не было, то возможны различные варианты (ввиду особенностей протокола UDP):
Узел сети выключен или недоступен;
ICMP-сообщения от узла блокируются средствами МЭ;
Указанный в UDP-пакете порт открыт.
Метод UPD Discovery считается малоэффективным из-за высокой вероятности фильтрации UDP-трафика средствами МЭ и непредсказуемой реакции узла при отправке UDP-пакета на открытый порт. Пример идентификации доступности узла сети методом UPD
Discovery при помощи сканера nmap: linux:
$ sudo nmap -sU –p 53 192.168.1.1 –с3
Starting Nmap 5.21 ( http://nmap.org ) at 2011-08-29 00:30 MSD
Nmap scan report for 192.168.1.1
Host is up (0.000074s latency).
PORT STATE SERVICE
53/udp closed domain
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds
В примере отправляются три пакета на 53-й UDP-порт узла сети.
Опция -sU указывает nmap использовать метод UPD Discovery.
Пример идентификации доступности узла сети методом UPD
Discovery при помощи утилиты hping3: linux:
$ sudo hping3 192.168.1.1 –2 –p 80 –c 1

25
HPING 192.168.1.1 (eth0 192.168.1.1): udp mode set, 28 headers + 0 data bytes
ICMP Port Unreachable from ip=192.168.1.1 get hostname...
--- 192.168.1.1 hping statistic ---
1 packets transmitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms

Протокол Internet (IP)
Протокол Internet (IP – RFC 791) создан для использования в объединенных системах компьютерных коммуникационных сетей с коммутацией пакетов. Протокол Internet обеспечивает передачу блоков данных, называемых IP-дейтаграммами (IP-пакетами).
Протокол Internet обеспечивает при необходимости также фрагментацию и сборку IP-дейтаграмм для передачи данных через сети с малым размером пакетов.
Формат дейтаграммы IP (Internet Header Format) представлен на рис. 8 (RFC 791).
Рис. 8. Формат дейтаграммы IP (Internet Header Format)

Метод обнаружения узлов сети при помощи протокола IP основан на отправке IP-пакетов с ошибками в заголовке. Признаком

26 доступности узла служит ICMP-сообщение об ошибке. Ниже рассмотрены несколько методов, которые эффективно применяются для исследования доступности удаленных узлов.

Метод идентификации узла с помощью фрагментов IP-пакета
Метод основан на отправке незавершенной последовательности фрагментов IP-пакета. Когда сканируемый узел получает первый фрагмент IP-пакета, он запускает таймер. Если время ожидания превышает установленный предел, а узел так и не получил все фрагменты, он возвращает отправителю ICMP-сообщение об ошибке
Fragment Reassembly Time Exceeded (превышено время на повторную сборку пакета - ICMP Type=11, Code=1). Согласно RFC 792, для отправки ICMP-сообщения Fragment Reassembly Time Exceeded обязательно должен быть получен первый фрагмент последовательности.
Пример использования метода отправки фрагмента IP-пакета при помощи утилиты hping3: linux:
$ sudo hping3 192.168.1.1 –x –p 80 –c 1 –S
В данном примере осуществляется отправка SYN-пакета на 80-й
TCP-порт узла сети. Опция –x указывает, что отправлен не последний фрагмент.
Метод идентификации узла отправкой IP-пакета ошибочной
длины
Метод основан на отправке IP-пакета с ошибочным значением длины в заголовке, в ответ на такой пакет должно прийти ICMP- сообщение об ошибке Parameter Problem / Protocol Unreachable
(ошибка в параметрах дейтаграммы / протокол недостижим - ICMP
Type=12 Code=2).

Метод идентификации узла отправкой IP-пакета
неподдерживаемого тестируемой системой протокола
Метод основан на отправке IP-пакета с неподдерживаемым тестируемой системой типом протокола, в ответ на такой пакет

27 должно прийти ICMP-сообщение об ошибке Destination Unreachable /
Protocol
Unreachable
(получатель недостижим / протокол недостижим -
ICMP Type=3, Code=2). Пример использования метода отправки IP-пакета с неподдерживаемым тестируемой системой типом протокола при помощи утилиты hping3: linux:
$ sudo hping3 192.168.1.1 –0 –H 255 –c 1
В данном примере осуществляется отправка одного пакета с типом протокола 255. Опция –0 указывает на работу с протоколом IP в режиме RAW IP.
3. Практическое задание

1. Идентифицируйте узлы сети, фильтрующие сообщения ICMP Echo
Request (диапазон адресов узлов сети уточнить у преподавателя).
Сканирование произведите методом UPD Discovery средствами рассмотренных утилит;
2. Исследуйте реакцию узла сети на UDP-запросы, сравните ответы открытого и закрытого UDP-порта. Исследования проведите для различных ОС;
3. Идентифицируйте узлы сети, фильтрующие сообщения ICMP Echo
Request, используйте рассмотренные методы протокола IP;
4. Сравните реакцию различных ОС на IP-пакеты с рассмотренными типами ошибок в заголовке.

28
Практическая работа №6
ОБНАРУЖЕНИЕ УЗЛОВ СЕТИ СРЕДСТВАМИ ПРОТОКОЛА
ARP (ARP-PING)

1. Цель работы

Изучить методы обнаружения активных узлов сети с помощью протокола ARP. Приобрести навык использования программного средства обнаружения устройств arping.

2. Теоретические сведения. Методические рекомендации

При идентификации узлов в локальной сети (LAN) эффективным является метод обнаружения с использованием ARP- запросов. Данный метод позволяет обнаружить работающий узел даже в случае блокирования всего IP-трафика.

Протокол ARP
ARP – протокол разрешения адресов (Address Resolution
Protocol, RFC 826) — использующийся в компьютерных сетях протокол низкого уровня, предназначенный для определения адреса канального уровня по известному адресу сетевого уровня. Протокол
ARP работает различным образом в зависимости от протокола канального уровня сети - протокол локальной сети (Ethernet, Token
Ring, FDDI) с возможностью широковещательного доступа ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило, не поддерживающий широковещательный доступ.
В локальных сетях протокол
ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом. Узел, которому нужно разрешить отображение IP-адреса на локальный адрес, формирует ARP-запрос, инкапсулирует его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно. Все узлы локальной сети получают ARP-запрос и сравнивают указанный

29 там IP-адрес с собственным. В случае их совпадения узел формирует
ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес и посылает его уже направленно, так как в ARP-запросе отправитель указывает свой локальный адрес.
ARP-запросы и ARP-ответы используют один и тот же формат пакета. Формат дейтаграммы ARP представлен на рис. 9 (RFC-826).
Рис. 9. Формат дейтаграммы ARP
В методе обнаружения с помощью ARP-запросов используют nmap, arping, ettercap и другие сетевые утилиты.

Arping
Программа arping функционально аналогична утилите ping, но использует ARP-запросы. Arping выполняет запрос Echo Request, используя MAC-адрес (аппаратный адрес сетевого интерфейса), сопоставляет MAC и IP адреса, не используя ARP-кэш.
Основные опции arping:
-A: Аналогично -U, но используются пакеты ARP REPLY вместо ARP
REQUEST;
-b: Отправляет только широковещательные пакеты уровня MAC;

30
-c: Счетчик;
-D: Режим дублированного обнаружения адреса (RFC2131);
-f: Завершает работу после первого приема ответа;
-I: Наименование сетевого интерфейса, который используется для отправки запросов ARP Request;
-h: Отображает страницу помощи и завершает работу;
-U: Предоставляет содержимое кэша ARP для обновления ARP-кэша соседних узлов.
Пример сканирования методом ARP-запросов при помощи утилиты arping: linux:
$ sudo arping 192.168.0.2
[sudo] password for linux:
ARPING 192.168.0.2 from 192.168.0.9 eth0
Unicast reply from 192.168.0.2 [00:22:64:16:CB:9C] 3.132ms
Unicast reply from 192.168.0.2 [00:22:64:16:CB:9C] 0.846ms
Unicast reply from 192.168.0.2 [00:22:64:16:CB:9C] 0.877ms
^CSent 3 probes (1 broadcast(s))
Received 3 response(s)
Пример сканирования методом ARP-запросов при помощи утилиты nmap: linux:
$ sudo nmap -sP -PR 192.168.0.2
[sudo] password for linux:
Starting Nmap 5.21 ( http://nmap.org ) at 2011-08-31 10:00 MSD
Nmap scan report for 192.168.0.2
Host is up (0.00029s latency).
MAC Address: 00:22:64:16:CB:9C (Hewlett Packard)
Nmap done: 1 IP address (1 host up) scanned in 0.14 seconds
Опция -PR сканера nmap указывает на необходимость использования ARP-сканирования.
3. Практическое задание

1. Идентифицируйте узлы сети, фильтрующие сообщения ICMP Echo
Request (диапазон адресов узлов сети уточнить у преподавателя).
Произведите сканирование методом
ARPing с помощью рассмотренных утилит;

31 2.
Напишите программу (bash, perl, ruby), производящую периодическую проверку на предмет появления нового устройства в сети (с неизвестным ранее аппаратным адресом). Результаты проверки должны выводиться на стандартное устройство и сохраняться в файле.
Практическое задание к разделу I
На основе результатов исследований сети лаборатории
(компьютерного класса, экспериментальной установки), полученных в работах раздела, заполните (результаты по каждому из тестов в форме «удачно/неудачно») таблицу (табл. 4).
Таблица 4

IP,
MAC
Echo
Request
Ping
Sweep
TimeStamp
Request
Information
Request
Address
Mask
Request
TCP Ping
(22,23,53,80)
UPD Ping
(22,23,53,80)
ARP
Ping
1 2
… n
Контрольные вопросы к разделу I
1.
Что понимается под идентификацией узлов корпоративной сети передачи данных?
2.
Какие протоколы стека TCP/IP могут применяться при идентификации узлов?
3.
Протокол ICMP. Назначение, формат пакета протокола ICMP.
4.
Назовите основные способы обнаружения узлов сети средствами протокола ICMP.
5.
Синтаксис и основные опции утилиты ping.
6.
Назовите основные недостатки применения утилиты ping при решении задачи идентификации узлов КСПД.
7.
Технология PING SWEEP, достоинства и недостатки.
8.
Синтаксис и основные опции утилиты fping.
9.
Синтаксис и основные режимы сетевого сканера nmap.

32 10.
Методы обнаружения узлов сети средством информационных запросов TimeStamp Request, Information Request, Address Mask
Request.
11.
Протокол TCP, назначение, TCP соединение, флаги.
12.
Формат сегмента протокола TCP, TCP-порты.
13.
TCP-sweep. Достоинства и недостатки метода TCP-sweep.
14.
Синтаксис и основные опции утилиты hping3.
15.
Протокол UDP. Режим передачи данных без установления соединения.
16.
Формат дейтаграммы протокола UDP, UDP -порты.
17.
Метод UDP Discovery. Достоинства и недостатки метода.
18.
Протокол IP. Адресация.
19.
Формат пакета протокола IP.
20.
Метод идентификации с помощью IP фрагментов.
21.
Метод идентификации отправкой IP пакета ошибочной длины.
22.
Метод идентификации отправкой IP пакета неподдерживаемого протокола.
23.
Протокол ARP. Адресация канального уровня ISO OSI.
24.
Формат дейтаграммы ARP.
25.
Синтаксис и основные опции утилиты arping.
26.
Метод arping. Достоинства и недостатки.

33



Поделитесь с Вашими друзьями:
  1   2   3   4


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал