Протокол DHCP скрывает в себе фундаментальный изъян: он по умолчанию доверяет любому в локальной сети. Эта слепая вера в широковещательные запросы лежит в основе двух классических атак, которые до сих пор остаются действенными — истощение и подмена.
DHCP Starvation: как исчерпать пул адресов за минуты
Атака Starvation, это чистая DoS-атака на сервис, превращающая удобство автоматической раздачи в уязвимость. Её цель — не проникновение, а парализация: сделать так, чтобы легитимные устройства больше не могли получить IP-адрес.
Механика предельно проста. Атакующая система генерирует поток широковещательных DHCP-запросов (DHCPDISCOVER), подменяя MAC-адрес источника в каждом новом пакете. Сервер, видя запросы от сотен «новых» клиентов, честно начинает выделять им адреса из пула. За секунды свободные адреса заканчиваются. Ключевой момент: сервер будет держать эти адреса «арендованными» до истечения timeout’а аренды (часто это десятки минут или часы), блокируя всю сеть.
Современные реализации серверов могут иметь базовую защиту от такого флуда, но она часто сводится лишь к rate limiting — ограничению количества запросов с одного MAC-адреса в единицу времени. Генерация же уникальных MAC-адресов в запросах легко обходит эту примитивную защиту.
Rogue DHCP Server: атака после успеха истощения
Истощение — лишь первый шаг. Настоящая цель часто заключается в развертывании rogue DHCP-сервера. После того как легитимный сервер исчерпал пул и перестал отвечать на запросы, клиенты становятся более восприимчивыми к ответам от кого угодно.
Атакующий запускает свой DHCP-сервер. Когда легитимный клиент отправляет DHCPDISCOVER, на него могут прийти два предложения (DHCPOFFER): одно — от истощённого штатного сервера (который, впрочем, уже не может ничего предложить), другое — от rogue-сервера атакующего. Клиент выберет первое полученное предложение.
Здесь атакующий получает решающее преимущество: его сервер физически находится в той же сети L2, ответ не должен проходить через маршрутизаторы. Его широковещательный ответ часто приходит быстрее, чем ответ от штатного сервера, который может находиться в другом сегменте сети. Клиент примет настройки от злоумышленника.
Чем опасен подконтрольный DHCP
Контролируя процесс выдачи IP-конфигурации, атакующий получает беспрецедентный уровень влияния на жертву:
| Что настраивает атакующий | К каким последствиям приводит |
|---|---|
| Шлюз по умолчанию (Default Gateway) | Весь исходящий и входящий трафик клиента проходит через устройство злоумышленника. Это идеальная позиция для пассивного прослушивания (sniffing) или активной модификации пакетов (MitM). |
| DNS-серверы | Клиент будет разрешать доменные имена через серверы атакующего. Это открывает дорогу к фишингу: пользователь, набирая адрес банка, будет перенаправлен на идентичный сайт злоумышленника, даже если введёт правильный URL. |
| Другие опции (NTP, Proxy) | Можно подменить сервер точного времени, что нарушит работу систем аудита и шифрования, или направить трафик через прокси для его детального анализа. |
Атака становится особенно опасной в сочетании с подменой ARP (ARP spoofing), что позволяет злоумышленнику оставаться «невидимым» и перенаправлять трафик жертвы через себя даже без изменения настроек её шлюза.
Yersinia: швейцарский нож для атак L2
Для демонстрации и тестирования уязвимостей DHCP существует специализированный инструмент — Yersinia. Это консольная утилита, поддерживающая атаки на множество протоколов канального уровня (STP, DTP, CDP, DHCP), что делает её крайне опасной в руках злоумышленника.
С её помощью можно:
- Запустить атаку Starvation, исчерпав пул адресов целевого сервера.
- Развернуть полноценный rogue DHCP-сервер с кастомными настройками шлюза и DNS.
- Отправлять DHCPNAK-пакеты, принудительно разрывая аренду адресов у легитимных клиентов и заставляя их запрашивать конфигурацию заново — возможно, уже у rogue-сервера.
Интерфейс Yersinia позволяет вручную настроить все параметры rogue-сервера, включая пул раздаваемых адресов, шлюз и DNS.
Защита: от базовых настроек к архитектурным изменениям
Защита от подобных атак многоуровневая и должна внедряться комплексно, начиная с коммутационной инфраструктуры.
DHCP Snooping — фундаментальная технология
Это ключевой механизм на современных управляемых коммутаторах. Он делит все порты на доверенные (trusted) и недоверенные (untrusted). Доверенными назначаются только порты, ведущие к легитимным DHCP-серверам. Коммутатор с включённым Snooping:
- Блокирует DHCP-ответы (OFFER, ACK, NAK), приходящие с недоверенных портов. Это физически не даёт rogue-серверу в локальном сегменте ответить клиенту.
- Создаёт базу данных привязок DHCP (DHCP Snooping Binding Database), где хранятся соответствия: IP-адрес — MAC-адрес — номер порта коммутатора — VLAN. Эта база критически важна для других функций безопасности.
Dynamic ARP Inspection (DAI)
DAI использует базу данных, созданную DHCP Snooping, для валидации ARP-пакетов. Коммутатор проверяет, соответствует ли IP-адрес в ARP-запросе или ответе той паре IP-MAC, которая была выдана через DHCP на этом порту. Это нейтрализует ARP-spoofing, часто сопровождающий атаку через rogue DHCP.
IP Source Guard
Эта функция идёт ещё дальше. На недоверенных портах она фильтрует весь исходящий трафик клиента, разрешая только тот, у которого IP-адрес источника совпадает с записью в базе DHCP Snooping. Клиент, получивший адрес 192.168.1.10, не сможет отправить пакет с источником 192.168.1.11.
802.1X (Network Access Control)
Наиболее сильная, но и сложная в развёртывании защита. Устройство не получает доступ к сети (порт не открывается) до успешной аутентификации по протоколу 802.1X (например, с использованием логина/пароля или сертификата). После аутентификации устройству можно динамически назначить VLAN. Rogue-сервер просто не сможет получить доступ в сетевой сегмент для рассылки своих OFFER.
Административные и архитектурные меры
- Статические IP-адреса для критической инфраструктуры (серверы, сетевое оборудование). Это выводит их из-под угрозы DHCP-атак.
- Микросегментация и выделение отдельного VLAN/VNI для инфраструктурных сервисов, включая DHCP. Доступ в этот сегмент строго контролируется.
- Мониторинг DHCP-трафика. Неожиданный всплеск DHCP-запросов или появление DHCP-ответов с неавторизованных IP-адресов — явный сигнал об атаке.
- Отключение неиспользуемых портов на коммутаторах в режиме shutdown. Простая, но эффективная мера, сокращающая поверхность атаки.
DHCP остаётся критически важным и уязвимым протоколом. Его безопасность, это не настройка одной опции, а целый комплекс мер, построенный вокруг контроля доверия в канальном уровне сети. Игнорирование этих механизмов оставляет дверь открытой для атак, последствия которых могут быть катастрофическими — от перехвата учётных данных до полного паралича сетевой инфраструктуры.