и подмены шлюза. Таким образом неавторизованный DHCP-сервер может прослушивать весь трафик.
Для проверки уязвимости соберем лабораторный стенд по топологии, представленный на рисунке 46.
Рисунок 46 – Схема лабораторного стенда
На атакующем компьютере с помощью виртуальной машины был развернут дистрибутив GNU/Linux «Kali Linux». Атаку будем выполнять при помощи утилиты «dhcpstarv». Прежде эту программу необходимо установить при помощи команды в терминале – apt-get install dhcpstarv. Для запуска утилиты, необходимо ввести команду – dhcpstarv —i eth0 (где eth0 – порт для выхода в сеть, его узнать можно с помощью команды ifconfig). Данная программа записывает на себя все доступные адреса, поставляемые DHCP сервером. Как результат – сервер не может выполнять свою функцию. На рисунке 47 показана работа программы, а на рисунке 48 продемонстрировано, как заполняются все доступные IPv4-адреса в DHCP-сервере.
Рисунок 47 – Работа программы
Рисунок 48 – Заполнение всех доступных IPv4-адресов в DHCP-сервере
На Kali Linux разворачиваем DHCP-сервер. Для установки вводим команду apt-get install isc-dhcp-server.
После установки производим настройки DHCP-сервера. Перейдем по адресу: /etc/network/interfaces. Пропишем (рисунок 49):
auto eth0
iface eth0 inet dhcp
Рисунок 49 – Настройка DHCP-сервера
Перейдем по адресу: /etc/default/isc-dhcp-server. В строке «#INTERFACESv4=«"» уберем «#» и в скобках впишем eth0. Конечный результат будет выглядеть как на рисунке 50.
Рисунок 50 – Настройка DHCP-сервера
Перейдем по адресу: /etc/dhcp/dhcpd.conf. Ищем строку # This is a very basic subnet declaration. Настраиваем как на рисунке 51.
Рисунок 51 – Настройка DHCP-сервера
В нашем случае для правильной работы следует прописать следующие значения:
• subnet – IPv4-адрес сети;
• netmask – маска сети;
• range – пул адресов, которые будут выдаваться устройству при подключении к DHCP-серверу;
– option routers 10.10.1.10 – шлюз по умолчанию. В нашем случае необходимо указать IPv4-адрес устройства, в котором устанавливается DHCP-
сервер. Эту информацию можно посмотреть в ifconfig;
– option broadcast-address 10.10.1.255 – широковещательный адрес.
Для запуска DHCP-сервера вводим команду /etc/init. d/isc-dhcp-server start (рисунок 52).
Рисунок 52 – Ввод команды для запуска DHCP-сервера
После этого DHCP-сервер функционирует и может выдавать IPv4-адреса узлам, которые пытаются подключится к роутеру.
Подключаем другое устройство к роутеру. В нашем случае – это смартфон. После подключения он получает IPv4-адрес из пула адресов, назначенных на DHCP-сервере атакующего (рисунок 53).
Рисунок 53 – Получение IPv4-адреса из пула адресов
IPv4-адрес смартфона в нашем случае: 10.10.1.191 (адрес получен от DHCP-сервера атакующего). IPv4-адрес компьютера, к которому отправляются Echo-запросы для проверки соединения имеет адрес 10.10.1.70, как на рисунке (IPv4-адрес получен от настоящего DHCP-сервера, который был на роутере). На рисунках 54—55 показаны Echo-запросы от одного устройства к другому.