Rogue DHCP: Когда адреса раздаёт не тот сервер
• В посте про DHCP Starvation я упоминал ложный DHCP-сервер, который может выдавать устройствам неправильные настройки. Но для такой проблемы не всегда нужен злоумышленник, иногда достаточно человека, который просто хотел добавить Wi-Fi в офис.
• Представим, что сотрудник принёс домашний роутер, подключил его LAN-порт к офисной сети и оставил включённым DHCP. Если он оказался в одном VLAN с компьютерами сотрудников, на их запросы теперь может отвечать не только штатный сервер.
• Rogue DHCP называют DHCP-сервер, который работает в сети без разрешения администратора. Это может быть инструмент атаки, неправильно настроенная виртуальная машина или тот самый лишний роутер.
• Когда компьютер ищет DHCP-сервер, он отправляет широковещательный DHCPDISCOVER. В ответ могут прийти несколько DHCPOFFER, из которых клиент выбирает одно. Правила, что всегда побеждает самый быстрый ответ, нет, выбор зависит от реализации клиента и предложенных параметров.
• Например, рабочая сеть использует
192.168.10.0/24, а домашний роутер раздаёт адреса из 192.168.0.0/24 и указывает себя шлюзом, хотя выхода в интернет у него нет. Компьютер получает адрес, но нужные ресурсы становятся недоступны, при этом соседний компьютер со старыми настройками продолжает нормально работать.• Если сервер запущен намеренно, дело может не ограничиваться потерей связи. Через DHCP можно навязать другой шлюз или DNS-сервер, чтобы перенаправлять трафик. Но само по себе это не позволяет читать содержимое HTTPS-соединений.
• Как заметить проблему?
• В Windows выполним
ipconfig /all и посмотрим параметры нужного адаптера: DHCP-сервер, основной шлюз и DNS-серверы. Сравним их с ожидаемыми настройками, а не просто будем искать подозрительно выглядящий адрес.• Если нужно разобраться глубже, запишем получение адреса в Wireshark и посмотрим DHCPOFFER, особенно поле Server Identifier. Так можно увидеть, какие серверы предлагают настройки. Несколько серверов сами по себе не означают атаку, они могут быть частью штатной схемы резервирования.
• Для защиты используется DHCP Snooping. На поддерживающем его коммутаторе включим проверку для нужных VLAN, порты в сторону штатного DHCP-сервера назначим доверенными, а клиентские оставим недоверенными.
• Ответы DHCPOFFER и DHCPACK, пришедшие с недоверенного порта, будут отброшены. Поэтому подключённый туда роутер уже не сможет раздавать настройки через этот коммутатор. Здесь важно правильно выбрать доверенные порты, иначе можно заблокировать и штатный сервер.
• В нашем примере лишний DHCP нужно отключить, а роутер настроить как точку доступа. Если после подключения нового оборудования сеть начала работать через раз, стоит проверить не только кабели, но и кто теперь выдаёт адреса. Удачи!
#ИзучаемСеть
• Поддержать автора монеткой: @v_meshke
