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