Мы уже рассказывали про истощение и подмену DHCP-сервера. В сегодняшней статье продолжим тему DHCP и рассмотрим две техники атак на DHCP:
На маршрутизаторе запустил DHCP с выдачей адресов из пула 192.168.1.2–254. Коммутатор с пустой конфигурацией, как «из коробки».
Суть атаки DHCP Starvation — «истощить» сервер DHCP, отправляя ложные пакеты типа DHCPDISCOVER с рандомными MAC-адресами источника. На эти пакет сервер будет реагировать и резервировать свободные IP-адреса из пула, в результате чего некоторое время (пока атака в активной фазе) не сможет выдавать IP-адреса обычным пользователям.
В качестве инструмента атаки будем юзать Yersinia (тулза названа в честь бактерии). Кроме DHCP, она умеет атаковать и несколько других протоколов канального уровня.
Выберем протокол DHCP, укажем опцию sending DISCOVER packet и запустим отправку ложных пакетов DHCPDISCOVER.
Пока идет флуд пакетами, посмотрим на пул адресов DHCP.
Абсолютно все адреса из диапазона 192.168.1.2–254 были зарезервированы DHCP-сервером, и, пока флудинг продолжается, сервер не сможет выдать адреса из своего пула новым клиентам. Сервер истощен.
Кстати, такой флуд вполне может вызвать отказ в обслуживании сервера DHCP. Посмотрим нагрузку на маршрутизаторе:
Процессор загружен наполовину. И это только от пакетов DHCPDISCOVER (ну ладно, еще STP с CDP каждые пару секунд).
В Yersinia есть функция развертывания такого DHCP-сервера — creating DHCP rogue server. В качестве параметров укажем адрес поддельного сервера, от имени которого будут выдаваться сетевые параметры, диапазон адресов, время их аренды (чем дольше, тем лучше), маску подсети и самое главное — адрес шлюза по умолчанию — ПК, который будет снифать трафик пользователей.
Осталось лишь перевести сетевой интерфейс прослушивающего ПК в режим форвардинга, а дальше — дело техники: клиентские устройства, настроенные на автоматическое получение IP-адресов, будут отправлять широковещательные сообщения DHCPDISCOVER и в ответ получат сетевые параметры от поддельного DHCP-сервера.
А вот так выглядит дамп ICMP-трафика на атакующей машине и схема MitM-атаки в нашей лабораторной сети.
автор @Kozhuh, spy-soft.net
- DHCP Starvation
- Rogue DHCP или DHCP Spoofing
Атаки DHCP Starvation Rogue DHCP или DHCP Spoofing
В качестве стенда будет использоваться:- маршрутизатор Cisco 2821;
- коммутатор Cisco Catalyst 2960;
- клиентский ПК с Kali Linux.
На маршрутизаторе запустил DHCP с выдачей адресов из пула 192.168.1.2–254. Коммутатор с пустой конфигурацией, как «из коробки».
Атака DHCP Starvation
Перед проведением атаки DHCP Starvation хочется сделать небольшое ревью. Мы знаем, что DHCP-сервер ведет таблицу соответствий выданных клиентам IP-адресов и их MAC-адресов и что уже выданный IP-адрес не может быть предложен другому клиенту повторно.Суть атаки DHCP Starvation — «истощить» сервер DHCP, отправляя ложные пакеты типа DHCPDISCOVER с рандомными MAC-адресами источника. На эти пакет сервер будет реагировать и резервировать свободные IP-адреса из пула, в результате чего некоторое время (пока атака в активной фазе) не сможет выдавать IP-адреса обычным пользователям.
В качестве инструмента атаки будем юзать Yersinia (тулза названа в честь бактерии). Кроме DHCP, она умеет атаковать и несколько других протоколов канального уровня.
Выберем протокол DHCP, укажем опцию sending DISCOVER packet и запустим отправку ложных пакетов DHCPDISCOVER.
Пока идет флуд пакетами, посмотрим на пул адресов DHCP.
Абсолютно все адреса из диапазона 192.168.1.2–254 были зарезервированы DHCP-сервером, и, пока флудинг продолжается, сервер не сможет выдать адреса из своего пула новым клиентам. Сервер истощен.
Кстати, такой флуд вполне может вызвать отказ в обслуживании сервера DHCP. Посмотрим нагрузку на маршрутизаторе:
Процессор загружен наполовину. И это только от пакетов DHCPDISCOVER (ну ладно, еще STP с CDP каждые пару секунд).
Атака Rogue DHCP или DHCP Spoofing
Второй вектор атак на DHCP требует развернуть мошеннический DHCP-сервер. Нужно это, чтобы выдавать клиентам поддельные сетевые параметры (в частности — адрес шлюза по умолчанию) и провести MitM. С точки зрения атакующего, для этого лучше всего первым делом «положить» легитимный DHCP-сервер, что мы, собственно, и сделали выше.В Yersinia есть функция развертывания такого DHCP-сервера — creating DHCP rogue server. В качестве параметров укажем адрес поддельного сервера, от имени которого будут выдаваться сетевые параметры, диапазон адресов, время их аренды (чем дольше, тем лучше), маску подсети и самое главное — адрес шлюза по умолчанию — ПК, который будет снифать трафик пользователей.
Осталось лишь перевести сетевой интерфейс прослушивающего ПК в режим форвардинга, а дальше — дело техники: клиентские устройства, настроенные на автоматическое получение IP-адресов, будут отправлять широковещательные сообщения DHCPDISCOVER и в ответ получат сетевые параметры от поддельного DHCP-сервера.
А вот так выглядит дамп ICMP-трафика на атакующей машине и схема MitM-атаки в нашей лабораторной сети.
Заключение
Может показаться, что атаки DHCP сегодня не так актуальны. По моему мнению, любая атака будет актуальна при отсутствии должного внимания к защите сети, а тем более если сетевое оборудование работает с настройками по умолчанию.автор @Kozhuh, spy-soft.net