Компьютерные сети. Принципы, технологии, протоколы (Олифер, Олифер) - страница 709

Еще одним способом перехвата трафика является использование ложных DNS-omeemoe (рис. 24.4). Задача злоумышленника состоит в получении доступа к корпоративному серверу. Для этого ему нужно завладеть именем и паролем авторизованного пользователя корпоративной сети. Эту информацию он решает получить путем ответвления потока данных, которые корпоративный клиент посылает корпоративному серверу. Злоумышленник знает, что клиент обращается к серверу, указывая его символьное DNS-имя www. example.com. Известно ему также, что перед тем как отослать пакет серверу, программное обеспечение клиентской машины направляет запрос DNS-серверу, чтобы узнать, какой IP-адрес соответствует этому имени.

Цель злоумышленника — опередить ответ DNS-сервера и навязать клиенту свой вариант ответа, в котором вместо IP-адреса корпоративного сервера (в примере 193.25.34.125) злоумышленник указывает IP-адрес атакующего хоста (203.13.1.123). На пути реализации этого плана имеется несколько серьезных препятствий.

Исходная таблица ICMP-сообщениемаршрутизации хоста Н1 маршрутизатора R1
Измененная таблица маршрутизации хоста Н1Ложное ICMP-сообщение атакующего хоста НА
DefaultIP*R1IPhaType Code ChSum
Адрес атакующего хоста НА
Заголовок пакета с адресом назначения Н2
Исходный маршрут /J Перенаправленный //'маршрут
Рис. 24.3. Перенаправление маршрута с помощью протокола ICMP: а — сообщение о более рациональном маршруте хосту Н2 посылает маршрутизатор R1, применяемый по умолчанию; б — сообщение о перенаправлении маршрута на себя направляет атакующий хост НА
Рис. 24.4. Схема перенаправления трафика путем использования ложных DNS-ответов

Прежде всего необходимо задержать ответ DNS-сервера, для этого сервер, например, может быть подвергнут DoS-атаке. Другая проблема связана с определением номера порта клиента DNS, который необходимо указать в заголовке пакета, чтобы данные дошли до приложения. И если серверная часть DNS имеет постоянно закрепленный за ней так называемый «хорошо известный» номер 53, то клиентская часть протокола DNS получает номер порта динамически при запуске, причем операционная система выбирает его из достаточно широкого диапазона.

Заметим, что протокол DNS может использовать для передачи своих сообщений как протокол UDP, так и протокол TCP, в зависимости от того, как он будет сконфигурирован администратором. Поскольку протокол TCP устанавливает логическое соединение с отслеживанием номеров посланных и принятых байтов, «вклиниться» в диалог клиента и сервера в этом случае гораздо сложнее, чем в случае, когда используется дейтаграммный протокол UDP.