АБСОЛЮТНО НЕВИДИМОЕ сканирование портов с поддельным IP-адресом © Thomas Olofsson, C.T.O, Defcom. Алексей Волков, © 2003.

Презентация:



Advertisements
Похожие презентации
NMAP nmap свободная утилита c открытым исходным кодом, предназначенная для : свободная утилита разнообразного настраиваемого сканирования IP- сетей с любым.
Advertisements

Транспортный уровень. IP, ICMP TCP, UDP TELNET, FTP, DNS, другие Канальный уровень Физический уровень Сетевой уровень Транспортный уровень Уровень соединения.
Тема 11 Транспортный уровень сети Internet Презентацию лекций разработал доцент кафедры оптимизации систем управления Томского политехнического университета.
Курсовая работа: Исследование возможности удаленной идентификации сетевых устройств.
Организация глобальных сетей. История развития глобальных сетей 1964 год США. Создана компьютерная система раннего оповещения о приближении ракет противника.
ОфисЖилой дом телефон. ПОРТЫ При доставке сообщения по протоколу TCP или UDP запрашиваемые протоколы и сервисы распознаются по номеру порта. Порт – это.
Курсовая работа по дисциплине программно-аппаратная защита информации на тему: «Межсетевые экраны в Linux» Выполнил студент группы 3881 Грошев Тимофей.
Адресация в IP сетях В стеке протоколов TCP/IP используются три типа адресов: Локальные (аппаратные) – адреса, используемые локальными технологиями для.
ICMP межсетевой протокол управляющих сообщений Выполнил: студент группы СУ-61 Французов Виталий.
Основы функционирования протокола TCP/IP Сетевое администрирование - Тема 3.
Безопасность хранения данных Владимир Иванов
Курбанова И.Б. Хайми Н.И. ГБОУ школа 594 Санкт-Петербург.
Протокол IPSec (RFC 2401). Назначение IPSec Узел АУзел В IP-пакет Разграничение доступа (фильтрация IP-трафика) Обеспечение целостности передаваемых данных.
Основы IP-адресации и маршрутизации В этой главе вы найдете ответы на следующие вопросы: Что такое IP-adpec, маска подсети, основной шлюз? Как работает.
Сокеты Сети и системы телекоммуникаций Созыкин А.В.
Тема: Адресация и передача информации в сети. Цель: 1. Познакомиться с адресацией в сети и маской сети.
Создание схемы IP адресации Петухов Андрей Антоненко Виталий комната 247.
Протокол IPSec (RFC 2401). Семейство протоколов IPSec Протокол Authentication Header (AH) Протокол Encapsulated Security Payload (ESP) Протокол Internet.
Транспортный уровень Сети и системы телекоммуникаций Созыкин А.В.
Обратный протокол преобразования адресов RARP (Reverse Address Resolution Protocol ) предназначен для получения по известному аппаратному адресу IP-адреса.
Транксрипт:

АБСОЛЮТНО НЕВИДИМОЕ сканирование портов с поддельным IP-адресом © Thomas Olofsson, C.T.O, Defcom. Алексей Волков, © 2003

Основные вопросы: Техника TCP ip - хэндшейкинга Техника традиционных методов сканирования ID-последовательности и их предсказание Сканирование с подменой IP в теории и на практике Исходный код и примеры Демонстрация Ответы на вопросы

Техника TCP - хэндшейкинга Определения Заголовок Tcp Традиционная схема 3-х стороннего хэндшейкинга

Определения Открытое соединение между двумя компьютерами в протоколе TCP/IP называется сокетом и определяется: IP-адресом источника Номером порта источника IP-адресом приемника Номером порта приемника Начальным значением SEQ источника Начальным значением SEQ приемника И номером ID который увеличивается с каждым переданным пакетом

Заголовок TCP пакета 16-bit source port number16-bit destination port number 32-bit sequence number 32-bit acknowledgement number lengthunusedflags16-bit window size 16-bit TCP checksum16-bit urgent offset Options (if any) Data (if any)

TCP/IP-хэндшейкинг жертваатакующий syn Src ip,Dst ip Src prt, Dst Prt Syn = in seq# Ack = NULL Flags = S Src ID = src ID + 1

TCP/IP - хэндшейкинг цельатакующий syn Src ip,Dst ip Src prt, Dst Prt Syn = src seq# Ack = NULL Flags = S Syn / Ack Src ip,Dst ip Src prt, Dst Prt Syn = Dst seq# Ack = src seq# +1 Flags = Dst ID = Dst ID + 1

TCP/IP-хэндшейкинг цельатакующий syn Src ip,Dst ip Src prt, Dst Prt Syn = src seq# Ack = dst seq# +1 Flags = A Src ID = src ID + 1 Syn / Ack Ack

Установление сокета AB SYN (seq a ) SYN/ACK (seq b /ack= seq a +1) ACK (ack= seq b +1)

Традиционное сканирование цельатакующий syn Syn / Ack Ack

цельатакующий syn Syn / Ack Невидимое SYN-сканирование

Невидимое SYN-сканирование 2 цельатакующий syn Syn / Ack Rst

Что такое IPID? Специальным образом сгенерированная последовательность, число, характеризующее номер пакета. Используется для упрощения процедуры «сборки» пакетов на стороне приемника после фрагментации. Увеличивается с каждым посланным пакетом. Существуют различные схемы увеличения этого номера.

Что такое ID – флаг ? Идентифицирует каждую TCP-сессию. В некоторых случаях используется для «сборки» пакетов Счетчик ID увеличивается с каждым посланным пакетом Его содержат все пакеты, включая RST

Предсказание значения ID- флага Большинство UNIX-систем дают случайное или псевдо-случайное приращение этому счетчику. До сегодняшнего дня не было случая, чтобы ID-флаг представлял угрозу с точки зрения безопасности. Windows 95 увеличивает id# на 1 Windows 2000 увеличивает id# на 254 Вот почему в этих ОС применяется обратный порядок бит в id#.

«Поддельное» сканирование в теории Постоянно опрашивая ложный хост на предмет увеличения его id можно увидеть, отправил ли сканируемый хост syn/ack или reset. Анализируя это можно определить, какой порт открыт, а какой нет На стороне сканируемого хоста эта операция абсолютно невидима.

«Поддельное» сканирование в теории Поскольку известно, что Windows увеличивает значение id# при отправке пакета, опрашивая хост, можно определить сколько пакетов он передал между нашими тестами Это производится путем мониторинга увеличения ID#

«Поддельное» сканирование в теории Если порт открыт, хост или сервер ответит пакетом syn/ack Если порт закрыт, в ответ придет rst

«Поддельное» сканирование в теории Если хост принял syn ack от неизвестного источника, он отправляет в ответ rst Если хост принял rst пакет от неизвестного источника, он НЕ ОТВЕЧАЕТ на пакет.

«Поддельное» сканирование на практике Или как все это работает

Представляем участников ЦельАтакующий Ложный хост

Зачем трое? ЦельАтакующий Ложный хост unknowing.com 3vil.org

Первый шаг (синхронизация с id# ложного хоста) ЦельАтакующий Ложный хост unknowing.com 3vil.org Syn:80

Первый шаг (синхронизация с id# ложного хоста) ЦельАтакующий Ложный хост unknowing.com 3vil.org Syn/ack

Зачем это надо? Теперь атакующему известно начальное значение ID# ложного хоста и характер его изменения

Шаг 2 (подделываем источник) ЦельАтакующий Ложный хост Syn src = Dst =

Шаг 3 (сброс ответов) ЦельАтакующий Ложный хост Syn/Ack src = Dst =

Шаг 3 (сброс ответов) ЦельАтакующий Ложный хост Rst src == Dst =

Шаг 4 (тест ID ложного хоста) ЦельАтакующий Ложный хост Syn:80

Шаг 4 (тест ID ложного хоста) ЦельАтакующий Ложный хост Syn:80 Syn/ack

Если порт открыт: Значение ID будет увеличено. Смотрим пример:

Первый шаг (синхронизация с id# ложного хоста) ЦельАтакующий unknowing.com 3vil.org Syn:80 Ложный хост ID =

Первый шаг (синхронизация с id# ложного хоста) ЦельАтакующий unknowing.com 3vil.org Syn/ack Ложный хост ID =

Шаг 2 (подделываем источник) ЦельАтакующий Ложный хост ID = Syn src = Dst =

Шаг 3 (сброс ответов) ЦельАтакующий Syn/Ack src = Dst = Ложный хост ID =

Шаг 3 (сброс ответов) ЦельАтакующий Rst src == Dst = Ложный хост ID =

Шаг 4 (тест ID ложного хоста) ЦельАтакующий Syn:80 Ложный хост ID =

Шаг 4 (тест ID ложного хоста) ЦельАтакующий Syn:80 Syn/ack Ложный хост ID =

Если порт закрыт: Значение ID не увеличивается. Смотрим пример:

Первый шаг (синхронизация с id# ложного хоста) ЦельАтакующий unknowing.com 3vil.org Syn:80 Л.Х. ID =

Первый шаг (синхронизация с id# ложного хоста) ЦельАтакующий unknowing.com 3vil.org Syn/ack Л.Х. ID =

Шаг 2 (подделываем источник) ЦельАтакующий Л.Х. ID = Syn src = Dst =

Шаг 3 (сброс ответов) ЦельАтакующий Rst src = Dst = Л.Х. ID =

Шаг 4 (тест ID ложного хоста) ЦельАтакующий Syn:80 Л.Х. ID =

Шаг 4 (тест ID ложного хоста) ЦельАтакующий Syn:80 Syn/ack Л.Х. ID =

Итоги: Постоянно опрашивая ложный хост на предмет увеличения его id можно увидеть, отправил ли сканируемый хост syn/ack или reset. Анализируя это можно определить, какой порт сканируемого хоста открыт, а какой нет На стороне сканируемого хоста эта операция абсолютно невидима.

Недостатки этой техники Если ложный хост активен и имеет несколько подключений, значение id# будет увеличиваться для каждого отправляемого пакета. Это приведет к ложным «открытым» портам. Этого можно избежать, отправляя несколько тестов на один порт. Затем вычислить увеличение Порт будет открыт, если увеличение будет > (#число_отпр_пакетов*255)/2

Шаг 2 (подделываем источник) targetattacker Spoof host ID = (Syn src = Dst = ) * 20

Шаг 3 (сброс ответов) targetattacker Syn /Ack src = Dst = Spoof host ID=

Вот и все!!! Теперь наш хост успешно просканирован. © Thomas Olofsson, C.T.O, Defcom. Эта техника реализована в сканере RuNmap v © 2003 Алексей Волков © 2003 Insecure.COM LLC