Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
493.doc
Скачиваний:
18
Добавлен:
30.04.2022
Размер:
8.68 Mб
Скачать

2.2.1.1.4 Сканирование tcp-портов флагом fin

Лишь немногие серверы способны отследить попытку SYN-сканирования их портов. Так, некоторые брандмауэры и пакетные фильтры «ожидают» поддельные SYN-пакеты на закрытые порты защищенного ими сервера, и специальное программное обеспечение типа synlogger или courtney распознает попытку SYN-сканирования. Если сервер обрывает соединение после опроса нескольких портов, используется FIN-сканирование [63].

В этом методе используются FIN-пакеты, используемые в процедуре закрытия соединения. Пакет предусматривает установку в TCP-сообщении флага FIN. Процедура закрытия соединения следующая.

Рисунок 2.13 - Хост передает серверу данные

В исходном состоянии хост передает серверу данные (рисунок 2.13).

Рисунок 2.14 - Первый этап закрытия соединения

Первый этап (рисунок 2.14): по окончании передачи данных хост посылает серверу FIN-пакет с указанием собственного ISS, ACK и установленными флагами FIN и ACK [7].

Риснок 2.15 - Второй этап закрытия соединения

Второй этап (рисунок 2.15): сервер, приняв FIN-пакет, посылает хосту подтверждение о приеме.

Рисунок 2.16 - Третий этап закрытия соединения

Третий этап (рисунок 2.16): сервер посылает хосту FIN-пакет с указанием собственных данных.

Рисунок 2.17 - Четвертый этап закрытия соединения

Четвертый этап (рисунок 2.17): хост передает серверу подтверждение о приеме FIN-пакета. После этого соединение между сервером и хостом будет закрыто.

FIN-пакеты способны обойти средства защиты сети. Идея заключается в том, что на прибывший на закрытый порт FIN-пакет сервер должен ответить RST-пакетом (TCP-пакет с установленным в нем флагом RST). FIN-пакеты на открытые порты игнорируются сервером [41].

ОС Windows 95/98/NT имеют средства противодействия к такому сканированию, однако большинство ОС являются уязвимыми. Таким образом, совместно используя SYN и FIN-сканирование можно обойти средства защиты сервера и просканировать его порты.

2.2.1.1.5 Сканирование с использованием ip-фрагментации

Данный метод представляет собой комбинацию SYN и FIN-сканирования с небольшим усовершенствованием. Он основан на использовании функциональной особенности протокола IP, называемой фрагментацией.

Фрагментация – это процесс разделения большого пакета данных на несколько частей перед непосредственной передачей его в сеть для получения размера фрагмента, соответствующего стандарту используемой сети (т.н. параметр MTU – Maximum Transmission Unit, максимальный размер блока). Фрагментация пакета на стороне источника и его сборка на стороне приемника осуществляется автоматически. Каждая фрагментированная часть исходного пакета имеет одинаковый формат. Этот метод позволяет маршрутизировать фрагменты независимо друг от друга.

На рисунок 2.18 представлен пример исходного заголовка дейтаграммы протокола IP с приведением конкретных значений полей.

Общая длина фрагментируемой дейтаграммы составляет 472 байта (20 байт заголовок и 452 байта данных). Максимальное значение MTU примем равным 280 байт. На рисунок 2.19 приведены значения полей заголовков двух полученных в результате фрагментации дейтаграмм. Первый фрагмент возникает после фрагментации исходной дейтаграммы по границе 256 байт.

Поля «Идентификатор», «Флаги» и «Смещение фрагмента» предназначены для управления процессами фрагментации и сборки дейтаграммы.

«Идентификатор» используется для распознавания дейтаграмм, образованных процессом фрагментации. Все фрагменты исходной дейтаграммы должны иметь одинаковое значение этого поля [61].

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

 

Номер версии=4

Длина заголовка=5

Тип сервиса

Общая длина = 472

Идентификатор = 111

Флаги=0

Смещение фрагмента = 0

Время жизни = 123

Протокол = 6

Контрольная сумма заголовка

Адрес отправителя

Адрес получателя

Данные

Рисунок 2.18 - Формат IP-заголовка нефрагментированного пакета

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

Поле «Смещение фрагмента» используется для указания места данного фрагмента в дейтаграмме. Смещение измеряется группами по 8 байт (т.е. в данном случае смещение составляет 32 группы по 8 байт, или 256 байт). Первый фрагмент всегда имеет нулевое смещение.

Таким образом, TCP-пакет (SYN или FIN-пакет, имеющий размер порядка 24 байт) разбивается на стороне хоста на пару IP-фрагментов меньшего размера, и эта пара IP-фрагментов отправляется серверу. На стороне сервера IP-фрагменты «собираются» в один TCP-пакет и производится его обработка (те же действия, как и при SYN или FIN-сканировании).

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

 

Номер версии=4

Длина заголовка=5

Тип сервиса

Общая длина = 256

Идентификатор = 111

Флаги=1

Смещение фрагмента = 0

Время жизни = 119

Протокол = 6

Контрольная сумма заголовка

Адрес отправителя

Адрес получателя

Данные

 

Номер версии=4

Длина заголовка=5

Тип сервиса

Общая длина = 216

Идентификатор = 111

Флаги=3

Смещение фрагмента = 32

Время жизни = 119

Протокол = 6

Контрольная сумма заголовка

Адрес отправителя

Адрес получателя

Данные

Рисунок 2.19 - Пример фрагментации дейтаграммы

В этом случае фрагментация позволяет уменьшить вероятность обнаружения сканирования фильтрами пакетов и другим подобным оборудованием. Однако, следует учитывать, что некоторые программы имеют обыкновение «зависать» при попытке обработки такого маленького IP-фрагмента [7].

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]