Как это работает
DTP позволяет двум соседним портам коммутатора согласовывать решения о том, будут ли они магистральными каналами. Такой метод применяется, что бы сформировать магистральный канал, а сетевому админу не приходилось настраивать вручную каждую сторону соединения. Коммутационный порт, который находится на другом конце канала, может принять конфигурацию соседа и сформировать trank автоматически. Да, это позволяет сохранить время и силы, но не в таком уж и существенном объёме.
Дано:
1) Виртуальная лаборатория eve-ng c подгруженными образами Cisco iol и kali linux
2) Коммутаторы L2 - 2 штуки с настроенными vlan и dhcp сервером
3) Эмуляторы 4 компов (VPC)
Начнём...
Настроим VLAN 500 и 200 на коммутаторах R1 и R2 и dhcp сервер на R1
R1:
en #режим привилегированного пользователя
conf t #режим редактирования конфигурации
interface ethernet 0/0 #переходим в настройки интерфейса
switchport mode access #перевод порта в режим доступа
switchport access vlan 500 #назначаем влан (отдельно создавать влан не
обязательно т.к он создаётся
автоматические после ввода этой
команды )
Аналогично для VLAN 200 на порту interface ethernet 0/1
R2:
en
conf t
interface ethernet 0/0
switchport mode access
switchport access vlan 500
end
Аналогично для VLAN 200 на порту interface ethernet 0/1
Поднимем dhcp сервер на R1:
en
conf t
ip dhcp pool MY_POOL #имя dhcp сервера
network 10.10.10.0 255.255.255.0 # пул адресов
default-router 10.10.10.240 # шлюз
interface Vlan500 # переходим в настройки vlan500
ip address 10.10.10.240 255.255.255.0 # назначаем ip
end #выход
wr mem #сохраняемся
Теперь наш сервер DHCP должен быть настроен для VLAN 200, и клиенты в этой VLAN смогут получать IP-адреса.
В дело вступает Kali Linux.
Проверяем есть ли в сети кадры DTP c помощью Wireshark
Запускаем сетевой сниффер Wireshark и прослушиваем трафик на наличие кадров DTP
Мы видим, что коммутатор воспроизводит рассьmку кадров DTP на порт, к которому подключена машина с Kali Linux. Исходя из информации, хранящейся в заголовках DTP, мы можем смело заявить, что порт коммутатора настроен в режиме Dyпamic Auto
Теперь запускаем утилиту yersinia, переходим во вкладку DTP и приступаем к реализации атаки.
Выберите пункт enabling trunking и нажмите ОК.
Теперь можем перейти на R1 и убедиться что интерфейс к которому подключена машина с kali linux перешел в состояние trunk.
show interface trunk
Порт к которому подключена kali linux преобразовался в trunk и на нём ходят все vlan от 1 до 4095 включая VLAN-ы 200 и 500.
Прослушивание трафика после эксплуатации и определение VLAN
Теперь в Kali мы можем выполнить следующее
modprobe 8021q #загрузка модуля ядра, который обеспечивает
поддержку VLAN
vconfig add eth0 500 #создаем на интерфейсе eth0 VLAN 500
ifconfig eth0.500 up #включаем
dhclient -v eth0.500 #получаем адрес по dhcp для сети VLAN 500
Адрес получен ping есть, а это значить мы находимся в сети vlan 500!
Защита
Чтобы защитить коммутаторы в сети от этой атаки на протокол DTP, необходимо перевести в режим доступа все порты, куда подключаются рабочие станции, и выключить протокол DTP на портах.
Весьма легкая задача, согласитесь?
Приведу пример настройки на порту коммутатора, куда была подключена машина атакующего. Сначала переведем порт в режим доступа командой switchport mode access, а затем отключим DTP на порту командой switchport nonegotiate:
#interface ethernet 0/3
#switchport mode access
#switchport nonegotiate
Теперь эта атака неосуществима, т. к. порты больше не реагируют на несанкционированные кадры DTP.
Вывод
В этой главе я разобрал сценарий взлома протокола DTP и компрометации сетей VLAN. Лично я считаю, что использование DTP в рамках продакшена - это явный пример некачественного дизайна сети, ибо магистральные каналы (транки) должны быть там и только там, где это запланировано. Конечно, сетевой администратор сэкономит какое-то время на настройке магистральных каналов с использованием DTP, но это не стоит того, чтобы пользоваться столь небезопасным решением в сети.