Проблемы DHCP
В данной статье освещаются некоторые вопросы, касающиеся проблем в реализации Протокола Динамичной Конфигурации Хоста (Dynamic Host Configuration Protocol). Такие как отказ в обслуживании, осуществление атаки посредника (man in the middle attack) и др. Прошу прощения, если эта информация уже была освещена где-то, по крайней мере в рунете я не видел.
Краткий обзор DHCP
Краткий обзор DHCP
DHCP используется для автоматического присвоения IP адресов компьютерам. DHCP помогает упростить администрирование сетей, т.к. центральный сервер сам присваивает IP адреса сетевым картам при запросе.
Для того, чтобы карта сетевого интерфейса (NIC) получила IP адрес, между компьютером и DHCP сервером происходит следующий обмен пакетами:
1. Клиент посылает серверу пакет (discover packet), в котором указывается необходимость получения IP адреса. Также клиент может попросить предыдущий адрес, что в свою очередь может являться причиной атаки посредника (см. ниже).
2. Сервер посылает ответный пакет-предложение (offer packet), информируя клиента о том, какой адрес предлагается. Предлагаемый адрес может соответствовать или не соответствовать запрашиваемому адресу (если клиент запросил определенный адрес). Это зависит от того, насколько загружена сеть. Если она достаточно загружена, то запрошенный адрес мог быть уже присвоен другой машине и будет предложен другой адрес.
3. Клиент посылает серверу пакет, в котором указывается, что клиент согласен на адрес, предложенный сервером.
4. Сервер посылает подтверждение, что клиент послал запрос на определенный адрес. На этом этапе клиенту присваивается IP адрес, указанный DHCP сервером в втором пункте.
Если произошел вышеупомянутый обмен пакетами, то клиенту присваивается IP адрес, гейтвей и DNS сервер. Возможно установление DHCP сервером большого количества характеристик (для более подробной информации смотри соответствующий RFC).
Атака отказа в обслуживании
При осуществлении спуффинга клиентских запросов увеличивается вероятность того, что DHCP сервер присвоит все возможные адреса, что, соответственно, приведет к DoS. Любой машине, захотевшей присоединиться к сети, будет отказано, т.к. весь диапазон адресов уже будет присвоен поддельным MAC адресам.
Поддельный DHCP сервер
Поддельный DHCP сервер
Организация поддельного DHCP сервера даст взломщику широкие возможности. Например можно перенаправить траффик через свою машину (атака посредника) или посылать пользователям поддельные web-страницы через поддельный DNS сервер. Это происходит потому, что при присвоении IP адреса, DHCP сервер также передает клиенту еще и DNS сервер.
Атака MITM
Установив поддельный DHCP сервер, между ним и настоящим сервером начнется "соперничество" за присвоение IP адресов. Если поддельный сервер выиграет, то возможно установление клиентам нужных взломщику характеристик (например перенаправление траффика через машину взломщика, на которой установлен анализатор пакетов). На данном этапе для установления контроля над сетью и ликвидации настоящего сервера целесообразно вывести его из строя (например DoS).
Проблемы в осуществлении атаки посредника
Проблемы в осуществлении атаки посредника
Одной из проблем является то, что данная атака, возможно, не сработает в небольших сетях. Эта атака не сработает, если запрос клиента на старый IP адрес будет удовлетворен. Если настоящий DHCP сервер сможет удовлетворить запрос на конкретный адрес, NIC будет присвоен предыдущий адрес, а не предложенный поддельным сервером. Единственный способ при котором возможно присвоение адреса поддельным сервером это когда запрошенный адрес не возможен у реального DHCP сервера (например, когда адрес был уже присвоен другому интерфейсу). Атаку посредника можно осуществить при использовании таких программ как DSniff и Ettercap, которые осуществляют известную атаку ARP (ARP poisoning).
Использование DHCP для шуток над пользователями
Использование DHCP для шуток над пользователями
Как было упомянуто выше, DHCP сервер сообщает клиенту какой DNS сервер использовать. Итак, сообщив клиенту поддельный сервер имен возможно создание липового www.mail.ru для получения логинов и паролей или соответствующих сайтов для получения номеров кредитных карт. Шутки такого плана остаются на совести взломщика.
Существует еще один тип атак. Как известно, многие машины получают один и тот же IP адрес при запросе. Это реализуется при помощи списка списка соответствия IP адресов MAC адресам. Используя спуффинг MAC адреса определенной машины и запрашивая соответствующий IP адрес возможна выдача себя за другой хост. Для осуществления данного вида атак необходимо вывести из строя целевую машину, а затем должен произойти вышеупомянутый обмен пакетами до того, как машина перезагрузится. При успешном развитии событий хосту взломщика будет присвоен адрес другой машины.
Решение проблем
Существует еще один тип атак. Как известно, многие машины получают один и тот же IP адрес при запросе. Это реализуется при помощи списка списка соответствия IP адресов MAC адресам. Используя спуффинг MAC адреса определенной машины и запрашивая соответствующий IP адрес возможна выдача себя за другой хост. Для осуществления данного вида атак необходимо вывести из строя целевую машину, а затем должен произойти вышеупомянутый обмен пакетами до того, как машина перезагрузится. При успешном развитии событий хосту взломщика будет присвоен адрес другой машины.
Решение проблем
- Убедитесь, что в вашей сети невозможен MAC спуффинг.
- Отслеживайте DHCP (используя плагин snort) для обнаружения возможных поддельных серверов.
Дополнительная информация: RFC 2131 и 2132.
- Отслеживайте DHCP (используя плагин snort) для обнаружения возможных поддельных серверов.
Дополнительная информация: RFC 2131 и 2132.