- •Воронеж 2008
- •Воронеж 2008
- •Введение
- •1 Подбор пароля
- •1.1 Общие понятия парольной защиты
- •1.1.1 Парольная система
- •1.1.2 Методы подбора паролей
- •1.1.3 Методы количественной оценки стойкости паролей
- •1.2 Парольная защита операционных систем
- •1.2.1 Подбор паролей в ос Windows
- •1.2.1.1 База данных учетных записей пользователей
- •1.2.1.2 Хранение паролей пользователей
- •1.2.1.3 Использование пароля
- •1.2.1.4 Возможные атаки на базу данных sam
- •1.2.2 Подбор паролей в ос unix
- •1.3 Классификация и принцип работы программного обеспечения для подбора паролей
- •1.3.1 Подбор паролей в oc Windows
- •1.3.2 Подбор паролей в oc unix
- •1.3.3 Подбор паролей в архивах zip, rar и arj
- •1.3.4 Подбор паролей документов ms Office
- •1.3.5 Подбор паролей pdf документов
- •1.4 Противодействие подбору паролей
- •1.4.1 Требования к паролю
- •1.4.2 Правила назначения/изменения паролей
- •1.4.3 Требования к генерации паролей
- •1.4.4 Хранение пароля пользователем
- •1.4.5 Хранение паролей компьютерной системой
- •1.4.6 Противодействие попыткам подбора паролей
- •1.4.7 Защита Windows nt и Unix от подбора паролей
- •2.1.2 Протокол tcp
- •2.1.2.1 Функции протокола tcp
- •2.1.2.2 Базовая передача данных
- •2.1.2.3 Разделение каналов
- •2.1.2.4 Управление соединениями
- •2.1.2.5 Заголовок тср-сегмента
- •2.1.2.6 Состояния соединения
- •2.2 Основные методы, применяемые при сканировании портов
- •2.2.1 Методы сканирования tcp-портов
- •2.2.1.1 Методы открытого сканирования
- •2.2.1.1.1 Метод icmp-сканирования
- •2.2.1.1.2 Сканирование tcp-портов функцией connect()
- •2.2.1.1.3 Сканирование tcp-портов флагом syn
- •2.2.1.1.4 Сканирование tcp-портов флагом fin
- •2.2.1.1.5 Сканирование с использованием ip-фрагментации
- •2.2.1.1.6 Сканирование tcp-портов методом reverse-ident (обратной идентификации)
- •2.2.1.1.7 Сканирование Xmas
- •2.2.1.1.8 Null сканирование
- •2.2.1.2 Методы "невидимого" удаленного сканирования
- •2.2.1.2.1 Скрытая атака по ftp
- •2.2.1.2.2 Сканирование через proxy-сервер
- •2.2.1.2.3 Скрытное сканирование портов через системы с уязвимой генерацией ip id
- •2.2.1.2.3.1 Исторические предпосылки
- •2.2.1.2.3.2 Описание базового метода ip id сканирования
- •2.2.1.2.3.3 Исследование правил и обход брандмауэра при сканировании
- •2.2.1.2.3.4 Сканирование машин с приватными адресами
- •2.2.1.2.3.5 Использование ip id при сканирование udp сервисов за брандмауэром
- •2.2.2 Методы сканирования udp-портов
- •2.2.2.1 Сканирование udp-портов проверкой icmp-сообщения «Порт недостижим»
- •2.2.2.2 Сканирование udp-портов с использованием функций recvfrom() и write()
- •2.3.1 Сканирование портов в ос семейства Windows
- •2.3.2 Сканирование портов в ос семейства Unix
- •2.4 Защита от сканирования портов
- •3 Анализ сетевого трафика
- •3.1 Анализ сетевого трафика сети Internet
- •3.1.1 Ложные arp-ответы
- •3.1.2 Навязывание ложного маршрутизатора
- •3.1.3 Атака при конфигурировании хоста
- •3.1.4 Атака на протоколы маршрутизации
- •3.2 Протокол telnet
- •3.2.1 Протокол ftp
- •3.2.3 Программы анализаторы сетевого трафика (сниффиры)
- •3.2.4 Принцип работы сниффира
- •3.3 Методы противодействия сниффирам
- •3.3.1 Протокол ssl
- •3.3.2 Протокол skip
- •3.3.3 Устройство обеспечения безопасности локальной сети skipBridge
- •4 Внедрение ложного доверенного объекта
- •4.1 Особенности атаки «Внедрение ложного доверенного объекта»
- •4.2 Внедрение ложного объекта путем использования недостатков алгоритмов удаленного поиска
- •4.2.1.1 Протокол arp и алгоритм его работы
- •4.2.1.2 Техника выполнения arp-spoofing
- •4.2.1.3 Методы обнаружения
- •4.2.1.4 Методы противодействия
- •4.2.2.1 Принцип работы Domain Name System
- •4.2.2.2 Внедрение dns-сервера путем перехвата dns-запроса
- •4.2.2.3 «Шторм» ложных dns ответов на атакуемый хост
- •4.2.2.4 Перехват dns-запроса или создание направленного «шторма» ложных dns-ответов непосредственно на атакуемый dns-сервер
- •4.2.2.5 Обнаружение и защита от внедрения ложного dns-сервера
- •4.3.1.2 Внедрение ложного доверенного объекта путем навязывания ложного маршрута с помощью протокола icmp
- •4.3.1.3 Обнаружение и методы противодействия
- •5 Отказ в обслуживании
- •5.1 Модель DoS атаки
- •5.1.1 Отказ в обслуживании (DoS)
- •5.1.2 Распределенный отказ в обслуживании (dDoS)
- •5.2.1.1 Описание утилиты для реализации icmp – флуда и атаки Smurf
- •5.2.1.2 Реализация атаки icmp-flooding, на основе отправки icmp-пакетов
- •5.2.1.3 Реализация атаки Smurf
- •5.2.3 Низкоскоростные dos-атаки
- •5.2.3.1 Механизм таймаута tcp-стека
- •5.2.3.2 Моделирование и реализация атаки
- •5.2.3.2.1 Минимальная скорость DoS-атаки
- •5.2.3.3 Многопоточность и синхронизация потоков
- •5.2.3.5 Атаки в сети интернет
- •5.2.4 Syn атака
- •5.3 Анализ средств и методов сетевой защиты
- •5.3.1 Настройка tcp/ip стека
- •5.3.4 Межсетевые экраны (FireWall)
- •5.3.5 Системы обнаружения атак (ids)
- •5.3.6 Система Sink Holes
- •Заключение
- •Список информационных источников
- •394026 Воронеж, Московский просп., 14
5.2.1.3 Реализация атаки Smurf
Атака Smurf — это одна из наиболее опасных атак DoS, поскольку при ее реализации на целевые узлы осуществляется усиленное воздействие. Эффект усиления возникает из-за рассылки направленных широковещательных ping-запросов на узлы сети, которые должны сгенерировать ответные сообщения. Направленный широковещательный запрос может передаваться либо на сетевой адрес, либо на сетевой широковещательный адрес, однако в любом случае требуется устройство, выполняющее преобразование данных уровня 3 (IP) к уровню 2 (сеть). Для сети класса «С» сетевым адресом будет .0, а широковещательным адресом — .255. Направленные широковещательные запросы обычно используются для диагностики, позволяя выявить функционирующие узлы без применения утилиты ping отдельно для каждого адреса используемого диапазона.
Атака Smurf позволяет воспользоваться преимуществами рассылки широковещательных направленных запросов и требует как минимум трех участников: взломщика, «усиливающей сети» (amplifying network) и цели. Злоумышленник отправляет ложные ICMP-пакеты ECHO на широковещательный адрес усиливающей сети. Исходный адрес пакетов изменяется так, как будто бы сама жертва сгенерировала запрос. Как только пакет ECHO передается на широковещательный адрес, все системы усиливающей сети сгенерируют ответ на запрос узла-жертвы (если не запланированы какие-нибудь другие действия). Если взломщик отсылает один ICMP-пакет в усиливающую сеть, в которой содержится 100 узлов, генерирующих ответные сообщения на широковещательный запрос, то можно считать, что взломщик в сто раз увеличил эффективность атаки DoS. Отношение количества переданных пакетов к числу узлов, генерирующих ответные сообщения, назовем «коэффициентом усиления» (amplification ratio). Таким образом, взломщик постарается найти усиливающую сеть с большим коэффициентом усиления, чтобы увеличить вероятность насыщения трафика целевой сети.
Для того чтобы лучше познакомиться с атакой такого рода, рассмотрим пример (Рисунок 5.11). Предположим, что взломщик отправил n данных ICMP на широковещательный адрес усиливающей сети со ста узлами. Сеть взломщика подключена к Internet через двухканальное соединение ISDN; усиливающая сеть — через линию связи ТЗ (100 Мбит/с); а целевая сеть — через канал Т1 (10 Мбит/с). Нетрудно подсчитать, что в данном случае взломщику удастся сгенерировать 100*n данных, которые будут отправлены в целевую сеть. Канал связи атакуемой сети будет быстро занят.
Рисунок 5.11 - Топология реализации Smurf атаки
Стоит заметить, что в данный момент вероятность реализация такого типа атак в различных сетях сведёна к минимуму, так как многие производители сетевого оборудования и сетевых операционных систем, в настройках «по умолчанию» закладывают запрет на ответ на широковещательные запросы.
5.2.2 UDP-storm и Fraggle
DoS-атака UDP-storm имеет еще другое название Chargen или Echo-Chargen так как эта атака использует службы с данными названиями. UDP-служба chargen (порт 19) в ответ на UDP-запрос выдает пакет с набором символов, а UDP-служба echo (порт 7) возвращает пришедший пакет обратно. Таким образом, отосланные пакеты с порта 19 на порт 7 приводят к зацикливанию UDP-пакетов. Причем такой цикл можно создать как на одном узле, так и между двумя удаленными узлами, главное, чтобы на них были включены службы chargen и echo. Следует отметить, что вместо порта 7 с теми же целями может быть использован другой порт, автоматически отвечающий на любой направленный на него запрос, например, 13 (daytime) или 37 (time).
DoS-атака Fraggle подобна атаке Smurf, только в ней используются UDP-пакеты. Атакующий посылает обманные UDP-пакеты от имени "жертвы" на широковещательный адрес усиливающей сети (обычно на порт 7 (echo)). Каждый узел сети, в которой разрешен ответ на эхо-пакеты, возвратит пакеты узлу-жертве, вызвав на нем наводнение.
Рассмотрим реализацию атаки ICMP-storm. Топология атакуемой подсети останется прежней (Рисунок 5.3). На хост C3 порт 7 будут отправляться UDP-пакеты с обратным адресом «жертвы» и портом 19. Атакующий – хост C4. Данный атака должна вызвать зацикливание пакетов (рисунок 5.13), а, следовательно, максимальную загрузку центрального процессора.
Атака инициализируется запуском атакующей утилиты:
timur:/home/timur/testc/udpstorm # ./udpstorm 192.168.12.51 19 192.168.12.51 7
Первый и второй параметр – IP-адрес и порт отправителя. Далее идет IP-адрес и порт получателя UDP-пакета. Для того, что осуществить зацикливание пакетов данная утилита подделывает адрес и порт отправителя.
В ходе атаки на атакуемом узле наблюдается максимальная загрузка центрального процессора (Рисунок 5.12).
Рисунок 5.12 - Уровень загрузки процессора при атаке UDP-storm
Рисунок 5.13 - Схема реализации атаки UDP-storm с зацикливанием пакетов между портами жертвы
В данном случае на обработка UDP-пакетов тратиться максимальное количество процессорного времени атакуемой системы. Таким образом, сервисы, запущенные на атакуемом узле начинают испытывать «дефицит» системных ресурсов и не могут нормально функционировать. Это может повлечь за собой невозможность их использования удаленными хоста, то есть вызвать отказ в обслуживании.
Подобно портам 19 и 7, для атаки, возможно использовать и другие порты, на которых запущены службы, использующие для обмена информацией UDP-пакеты. Определить номера портов открытых на прием UDP-дейтаграмм можно с помощью UDP-сканера портов.