УДК 004.056

Атака на DHCP-серверы после проникновения в сеть

Камышева Елена Станиславовна – студентка факультета Комплексной безопасности топливно-энергетического комплекса Российского государственного университета нефти и газа (национального исследовательского университета) имени И. М. Губкина.

Шишов Олег Алексеевич – студент факультета Комплексной безопасности топливно-энергетического комплекса Российского государственного университета нефти и газа (национального исследовательского университета) имени И. М. Губкина.

Аннотация: В свете повсеместного внедрения импортозамещенного технологического стека, важно проводить тестирование базовых атак, чтобы обеспечить надежность и безопасность этих систем. В данной статье авторы подробно анализируют пример кибератаки, целью которой является дестабилизация сетевой инфраструктуры компании путем выведения из строя одного или нескольких DHCP-серверов. С помощью специализированного программного обеспечения злоумышленник посылает большое количество запросов на получение IP-адресов от DHCP-сервера, что приводит к исчерпанию всех доступных адресов в сети. Вследствие этой атаки, легитимные клиенты не могут получить IP-адреса и подключиться к сети, что нарушает работу компании и приводит к финансовым потерям. Авторы также рассказывают о возможных последствиях и угрозах, связанных с нарушением сетевой безопасности, что делает тему особенно актуальной для специалистов в области информационной безопасности, администраторов сети.

Ключевые слова: атака на DHCP сервер, сетевая безопасность, защита от кибератак, сетевая инфраструктура, linux, кибербезопасность.

Процесс взаимодействия клиента с DHCP-сервером называется «DORA» (по первым буквам названий каждого шага этого процесса): Discovery (поиск), Offer (предложение), Request (запрос), Acknowledgement (подтверждение) [7].

Первый этап – поиск

Если клиент подключается к новой сети, ему необходимо получить IP-адрес, чтобы он смог взаимодействовать с другими устройствами. Он переходит в режим инициализации и отправляет широковещательное (адрес сетевого уровня - 255.255.255.255, адрес канального уровня – FF:FF:FF:FF:FF:FF) сообщение DHCPDISCOVER на все устройства в сети, показывая своё желание получить IP-адрес в данной сети. IP-адрес источника устанавливается равным 0.0.0.0, так как клиент ещё не получил его. При этом важно понимать, что только DHCP-серверы могут ответить на такое сообщение.

1

Рисунок 1. Работа DHCP-сервера.

Второй этап – предложение

В особо больших сетях могут одновременно работать несколько DHCP-серверов. Каждый из серверов при получении запроса на выдачу IP-адреса резервирует один из незанятых адресов из собственного пула выделяемых на данную сеть и отправляют его клиенту в сообщении DHCPOFFER. Необходимо учитывать, что все адреса выделяются клиентам только на время, то есть сдаются в аренду. Исключения составляют привязанные (зарезервированные) сетевым администратором IP-адреса к MAC-адресу. Сообщения, направляемые клиенту ориентируются на MAC-адрес клиента или являются широковещательными, в зависимости от настроек DHCP-сервера.

Третий этап – запрос

Клиент, получив первый или единственный ответ на запрос IP-адреса, отправляет почти полностью идентичный ответ, подтверждающий получение IP-адреса. Данным образом клиент информирует все DHCP-серверы, что ему больше не нужен IP-адрес, благодаря чему неиспользуемые адреса возвращаются в перечень доступных, а занятый убирается из этого перечня на время аренды [2].

Четвертый этап – подтверждение

Сервер, получивший от клиента DHCPOFFER, подтверждает выделение IP-адреса сообщением DHCPACK. Данное широковещательное или прямое сообщение содержит всю информацию, необходимую клиенту для правильного взаимодействия с устройствами в сети, а так же срок аренды полученного адреса. Кроме основных сообщений между клиентом и сервером, также могут использоваться вспомогательные:

  • DHCPNACK — сообщение, которое сервер отправляет клиенту в случае отказа в аренде IP-адреса;
  • DHCPINFORM - сообщение, которое клиент отправляет серверу, чтобы получить настройки конфигурации, необходимые для работы в локальной сети;
  • DHCPRELEASE — сообщение, которое клиент отправляет серверу, чтобы уведомить его о том, что он хочет освободить свой текущий IP-адрес и DHCP-сервер может выдать его другому клиенту.

Структура заголовка DHCP

Далее рассмотрим заголовок DHCP-пакета. Необходимо учитывать, что если речь идет о DHCP, то сервер и клиент используют 67-й и 68-й порты UDP соответственно.

Таблица 1. Структура заголовка DHCP.

OP code (op)

Hardware Type (htype)

Hardware Address Length (hlen)

Hops

Transaction Identifier (xid)

Seconds

Flags

Client IP Address (CIADDR)

Your IP Address (YIADDR)

Server IP Address (SIADDR)

Gateway IP Address (GIADDR)

Client Hardware Address (CHADDR)

Server Name (SNAME)

FileName

Options~

Наиболее интересные поля заголовка:

  • Op Code — общий тип сообщения. Значение 0х01 устанавливается, когда клиент делает запрос к серверу, а 0х02 - когда сервер отвечает клиенту;
  • htype — поле, устанавливающее тип адреса на канальном уровне. В случае Ethernet значение равно 0х01;
  • hlen — длина MAC-адреса в байтах (для Ethernet - 0х06);
  • xid — идентификатор транзакции, который помогает сопоставить запросы и ответы друг с другом;
  • sec — значение поля показывает, сколько времени (в секундах) прошло с того момента, как клиент начал получать или обновлять IP-адрес;
  • CIADDR — значение поля равно IP-адресу клиента, если время его аренды нужно продлить;
  • YIADDR — поле, которое сервер заполняет значением IP-адреса, предложенным клиенту;
  • SIADDR — IP-адрес DHCP-сервера, который используется при отправке клиенту ответных сообщений DHCPOFFER и DHCPACK;
  • GIADDR — IP-адрес агента ретранслятора (маршрутизатора), который разделяет сети, где находятся клиент и DHCP-сервер;
  • CHADDR — поле, указывающее адрес клиента на канальном уровне;
  • Option — поле, не имеющее фиксированной длины, необходимое для указания дополнительных параметров (например, времени аренды адреса, маски подсети, адреса шлюза по умолчанию, адреса DNS-серверов).

Как можно заметить, поля CHADDR заголовка DHCP и MAC-адреса источника Ethernet-заголовка содержат одинаковые значения. Если клиент и сервер в сети взаимодействуют правильно – так оно и есть.

2

Рисунок 2. Структура пакета DHCP Discover.

Практическая часть

Используемая топология:

3

Рисунок 3. Топология эксперимента.

Оборудование, ПО:

  • Операционная система Kali Linux – устройство атакующего.
  • Операционная система “Альт Рабочая станция” – устройство пользователя.
  • Операционная система «Альт Сервер» – сервер компании, настроенный как DHCP- и DNS-сервер в сети.

Предположим, злоумышленник получил доступ к корпоративной сети, подключившись через интернет-кабель. В данной сети находится DHCP-сервер со следующими настройками:

4

Рисунок 4. Настройки DHCP-сервера в сети.

Когда атакующий подключился к сети и получил IP-адрес, он обнаружил, что в сети функционирует DHCP-сервер. Используя программу nmap, атакующий выяснил, что в сети функционирует только один DHCP-сервер:

5

Рисунок 5. Запуск nmap для обнаружения DHCP-сервера в сети.

После этого атакующий, используя специализированные утилиты, например dhcpstarv, может «занять» все доступные IP-адреса подсети.

6

Рисунок 6. Сетевой трафик во время атаки.

Если в сети больше нет ответов на запросы, это означает, что все выделенные IP-адреса закончились. В этот момент на DHCP-сервере происходит следующее:

7

Рисунок 7. Процесс «истощения» DHCP-сервера.

8

Рисунок 8. Окончание процесса «истощения» DHCP-сервера.

Далее атакующий займет место DHCP-сервера сети и будет перенаправлять весь трафик на свой интерфейс.

9

Рисунок 9. Запуск фальшивого DHCP-сервера.

Когда новые устройства подключаются к сети или когда срок регистрации IP-адреса устройства истекает, они получают новые IP-адреса от устройства атакующего. Вместе с IP-адресом они будут получать настройки шлюза по умолчанию, которые также предоставляет устройство злоумышленника. Таким образом атакующий будет получать все запросы всех клиентов в сети.

10

Рисунок 10. Запрос IP-адреса от устройства клиента.

11

Рисунок 11. Ответ от устройства атакующего на DHCP запрос с указанием шлюза по умолчанию.

Если предполагается, что из этой сети есть доступ в интернет, то атакующий может настроить дополнительный сетевой интерфейс на своем устройстве и использовать его как устройство NAT. Помимо возможности просмотра трафика жертвы, злоумышленник может перенаправлять запросы на фальшивые веб-сайты.

Вывод

В данной работе была рассмотрена одна из самых распространенных атак на DHCP-серверы. Атаки на DHCP-серверы могут привести к серьезным нарушениям безопасности и работоспособности сети, таким как отказ в обслуживании, подмена адресов, перехват трафика и т.д. Для защиты от таких атак необходимо использовать комплексные меры, включающие как традиционные средства (фильтрация MAC-адресов, аутентификация клиентов и серверов, шифрование данных), так и современные технологии (SDN, OpenFlow, машинное обучение)[1]. В таблице 2 [3] приведены основные характеристики атак на DHCP-серверы и способы их противодействия.

Таблица 2. Характеристики атак на DHCP-серверы и способы их противодействия.

Тип атаки

Цель

Последствия

Противодействие

Отказ в обслуживании

Исчерпать пул адресов DHCP-сервера

Невозможность получения IP-адресов для новых клиентов

Фильтрация MAC-адресов, ограничение числа запросов от одного клиента, использование SDN для динамического управления пулом адресов

Подмена DHCP-сервера

Выдать поддельные настройки сети клиентам

Перенаправление трафика на злоумышленника, кража данных, выполнение атак типа man-in-the-middle

Аутентификация DHCP-серверов, использование шифрования данных, обнаружение аномалий в сети с помощью машинного обучения

Подмена DHCP-клиента

Получить IP-адрес, принадлежащий другому клиенту

Нарушение доступности и конфиденциальности данных, выполнение атак типа man-in-the-middle

Аутентификация DHCP-клиентов, использование шифрования данных, обнаружение аномалий в сети с помощью машинного обучения

В заключение можно сказать, что атаки на DHCP-серверы представляют собой серьезную угрозу для безопасности и надежности сети, и требуют постоянного мониторинга и совершенствования методов защиты.

Список литературы

  1. Алдауд, М. Обнаружение и смягчение последствий DHCP-атак в SDN-сетях на базе OpenFlow: комплексный подход / Манар Алдауд, Давуд Аль-Абри, Ахмед Аль Маашри, Фирдоус Каусар // J Computer Virol Hack Tech 19. - 2023. - С. 597-614.
  2. Алдауд, М. Инструменты атаки DHCP: анализ. / Манар Алдауд, Давуд Аль-Абри, Ахмед Аль Маашри // J Computer Virol Hack Tech 17. - 2021. - С. 119-129.
  3. Конева, Ю. Л. Типовые атаки на DHCP / Ю. Л. Конева, Н. В. Дворцов. — Текст : непосредственный // Молодой ученый. — 2023. — № 51 (498). — С. 7-8. — URL: https://moluch.ru/archive/498/109461/ (дата обращения: 03.01.2024).
  4. Уймин, А. Г. Цифровые двойники сетевых инфраструктур: точность, методы и практические решения / А. Г. Уймин // Радиотехнические и телекоммуникационные системы. – 2023. – № 3(51). – С. 44-52. – DOI24412/2221-2574-2023-3-44-52. – EDN QUSITK.
  5. Уймин, А. Г. Обзор систем моделирования: анализ эффективности на примере чемпионата AtomSkills-2023 / А. Г. Уймин, В. С. Греков // Автоматизация и информатизация ТЭК. – 2023. – № 11(604). – С. 25-34. – DOI33285/2782-604X-2023-11(604)-25-34. – EDN QYQRCO.
  6. Телепова, Т.П. Компьютерные коммуникации и сети. Настройка сервисов : учебное пособие / Т. П. Телепова ; Российский государственный профессионально-педагогический университет. - Екатеринбург : РГППУ, 2020. - 47 с.
  7. Трофимов, Д. С. Протокол DHCP для автоматической настройки сетевых устройств / Трофимов Д. С. // Информационные технологии и управление : материалы 56-й научной конференции аспирантов, магистрантов и студентов, Минск, 21-24 апреля 2020 года / Белорусский государственный университет информатики и радиоэлектроники ; редкол.: Л. Ю. Шилин [и др.]. – Минск, 2020. – С. 47.

Интересная статья? Поделись ей с другими: