# Network Basic Модуль Занятие 5 ## Безопасность локальной сети ### Практическая работа 5 Топология ![](https://i.imgur.com/Gc3XpfE.png) #### Первичная настройка Сначала нужно настроить нашу топологию. Нужно произвести настройку коммутатора, чтобы клиенты находились в разных VLAN (только клиент Kali не находится ни в каком VLAN - по умолчанию, 1) ![](https://i.imgur.com/zikqkaP.png) ```cisco= enable configure terminal interface e0/0 switchport trunk encapsulation dot1q switchport mode trunk interface e0/1 switchport mode access switchport access vlan 10 interface e0/2 switchport mode access switchport access vlan 20 do write ``` Также нужно настроить роутер. Он не только будет использоваться клиентами для выхода во внешнюю сеть, но также будет выступать в роли DHCP-сервера, раздавая IP адреса разным сетям (VLAN1 получит сеть 10.0.1.0/24, VLAN10 - 10.0.10.0/24, VLAN20 - 10.0.20.0/24). Настройка портов и выхода в интернет ![](https://i.imgur.com/CJYL5LD.png) ![](https://i.imgur.com/qUMIqQ5.png) ```cisco= int e0/0 ip addr 10.0.1.254 255.255.255.0 no shut int e0/0.10 enca dot1q 10 ip addr 10.0.10.254 255.255.255.0 no shut int e0/0.20 enca dot1q 20 ip addr 10.0.20.254 255.255.255.0 no shut access-list 99 permit 10.0.0.0 0.0.255.255 ip nat inside source list 99 interface e0/1 overload int e0/1 ip nat outside int e0/0 ip nat inside int e0/0.10 ip nat inside int e0/0.20 ip nat inside ``` Настройка DHCP-сервера ![](https://i.imgur.com/RNVPcTK.png) ```cisco= ip dhcp pool VLAN1 network 10.0.1.0 255.255.255.0 default-router 10.0.1.254 dns-server 8.8.8.8 domain pt.local ip dhcp pool VLAN10 network 10.0.10.0 255.255.255.0 default-router 10.0.10.254 dns-server 8.8.8.8 domain pt.local ip dhcp pool VLAN20 network 10.0.20.0 255.255.255.0 default-router 10.0.20.254 dns-server 8.8.8.8 domain pt.local ``` Проверим работу настроек. Нужно, чтобы Kali получила свой адрес от сервера, а также имела выход в интернет ![](https://i.imgur.com/cj1G7xM.png) #### Проведение атаки на DHCP Атака заключается в создании ситуации, когда DHCP сервер не может обработать запросы своих клиентов на выдачу IP адреса из-за заполненного бассейна IP адресов для выдачи. Далее уже можно создать свой DHCP сервер, который будет отвечать на запросы клиентов в сети и, соответственно, перенаправлять все пакеты в сторону нашего фиктивного сервера. 1. Установка нужного ПО Нужно поставить yersinia ```linux= sudo apt install yersinia ``` ![](https://i.imgur.com/onJyCcI.png) 2. Проверим состояние DHCP-сервера до атаки ![](https://i.imgur.com/uocKNIN.png) 3. Запускаем yersinia ```linux= yersinia -G ``` ![](https://i.imgur.com/K3K40rp.png) Далее выбираем атаку на DHCP (отправка запросов DISCOVER) ![](https://i.imgur.com/cuAva4o.png) Запускаем атаку ![](https://i.imgur.com/oQEm7PQ.png) И останавливаем через некоторое время. Теперь посмотрим на состояние DHCP сервера ![](https://i.imgur.com/Im8ujfh.png) Бассейн адресов заполнен, сервер не сможет отвечать на запросы о выдаче новых IP адресов. 4. Теперь запускаем атаку Rogue DHCP Server. Она позволяет реализовать свой сервер DHCP, благодаря чему все новые хосты будут получать IP адресацию у нас ![](https://i.imgur.com/3lJ0MEP.png) ![](https://i.imgur.com/jIiluHp.png) ![](https://i.imgur.com/U652vY3.png) 5. Устанавливаем защиту на коммутатор от атак на DHCP-сервер ```cisco= ip dhcp snooping ip dhcp snooping vlan 1 ip dhcp snooping vlan 10 ip dhcp snooping vlan 20 do write interface e0/0 ip dhcp snooping trust do write interface range e0/1-3 ip dhcp snooping limit rate 10 switchport mode access switchport port-security switchport port-security maximum 1 switchport port-security violation restrict do write exit ``` ![](https://i.imgur.com/KoATcy6.png) Теперь при попытке осуществления DHCP Starvation мы получим ошибку, а дальнейшие пакеты от Kali до DHCP сервера будут отклоняться ![](https://i.imgur.com/M28Y4li.png) #### VLAN-hopping Повторим атаку типа VLAN-hopping, когда клиент злоумышленника перемещается из одно VLAN в другой. 1. Запускаем yersinia. Запускаем проведение атаки, атаку будет проводить на DTP. Нам нужно разрешить формирование фреймов с VLAN-ID внутри (или включить trunking) ![](https://i.imgur.com/VKaOE5w.png) 2. Прописываем следующие настройки. Они позволяют создать виртуальный порт, который будет инкапсулировать трафик в стандарт, который используется для поддержки VLAN ![](https://i.imgur.com/YD7Viwl.png) ```linux= modprobe 802.1Q # добавление информации о протоколе 802.1Q vconfig add eth1 20 # создание виртуального интерфейса с идентификатором 20 ifconfig eth1.20 up # запуск интерфейса ``` При просмотре IP-адресов интерфейсов теперь увидим также виртуальный интерфейс. ![](https://i.imgur.com/8DZlYnW.png) На него тоже нужно выдать IP адрес, но уже из сети, в которую он смотрит (при настройках виртуальный интерфейс обозначался числом 20, оно же будет использоваться как VLAN_ID, значит и IP-адрес интерфейса должен браться из сети VLAN20) ```linux= ip address add 10.0.20.100/24 dev eth1.20 ``` ![](https://i.imgur.com/SsTm7wM.png) 3. Посылаем пакеты с виртуального интерфейса ![](https://i.imgur.com/PC47uR0.png) Пакет будет инкапсулирован в протокол 802.1Q, мы также сможем посмотреть VLAN_ID каждого проходящего пакета ![](https://i.imgur.com/dFS6wTJ.png) 4. Настраиваем защиту от VLAN-hopping Основной способ защититься от этой атаки заключается в том, чтобы не оставлять на коммутаторе порты, режим работы которых выстравивается в зависимости от типа пакетов, которые на этот порт приходят (автоматический режим работы). Все порты клиентов должны быть определны как access (и только порты, которые используются для общения с другими коммутаторами, должны быть выставлены в режим trunk). Ситуации, когда в качестве VLAN используется 1, тоже не должно быть, т.к. этот номер используется по умолчанию, и может быть не настроен для работы только в режиме access ![](https://i.imgur.com/fZ7xK7r.png) К примеру, на нашем коммутаторе режим порта e1/0 автоматически выставлися в trunk после передачи пакетов, хотя изначально в настройках нигде не объявлялось, что порт e1/0 работает как trunk порт Чтобы режим не менялся, есть возможность сказать коммутатору не согласовывать режим работы с пакетами, которые получает порт с помощью команды: ```cisco= switchport nonegotiate ``` #### Переполнение таблицы коммутации Атака переполнением таблицы коммутации заполняет таблицу MAC адресов коммутатора, из-за чего может нарушится связность сети. 1. Установка нужных пакетов ```linux= sudo apt install dsniff ``` ![](https://i.imgur.com/YYajIWl.png) 2. Проверка состояния MAC таблицы коммутатора до атаки ```cisco= show mac address-table ``` ![](https://i.imgur.com/jWMZmus.png) 3. Запуск атаки ```linux= macof ``` ![](https://i.imgur.com/tR86Kt7.png) 4. Проверка таблицы после атаки ![](https://i.imgur.com/FUAfolC.png) Таблица заполнена. 5. Защита от CAM-table overflow Защита заключается в использовании Port Security. Ограничим максимальное количество пакетов с разными значениями MAC отправителя, которые будет принимать коммутатор, а все выходящие за ограничение - отбросим ```cisco= enable configure terminal interface range e0/1-3 switchport mode access switchport port-security switchport port-security maximum 1 switchport port-security violation restrict do write ``` ![](https://i.imgur.com/HWT9R85.png) #### MAC-Spoofing Этот тип атаки позволяет использовать возможность смены MAC-адреса интерфейса, который отправляет данные, чтобы маскироваться под другие устройства в сети. Для смены MAC-адреса используется утилита macchanger. ![](https://i.imgur.com/s4FpoL5.png) Защитой от macchanger может являться Port Security и ограничение количества разных MAC-адресов, которые могут встречаться в пакетах с интерфейса ```cisco= enable configure terminal interface range e0/1-3 switchport mode access switchport port-security switchport port-security maximum 1 switchport port-security violation restrict do write ``` ![](https://i.imgur.com/HWT9R85.png) #### Настройка ACL Листы контроля доступа могут быть использованы для обеспечения безопасности и ограничения доступа устройств к другим устройствам. Настроим следующие ACL: + KALI имеет доступ куда угодно, кроме debian машинки по протоколу HTTP + Win-7 машинка имеет доступ только в интернет и в VLAN-1 + Debian машинка имеет доступ только в интернет ```cisco= ip access-list extended kali deny tcp 10.0.1.1 0.0.0.0 10.0.20.1 0.0.0.0 eq 80 permit ip any any ip access-list extended win7 permit udp 10.0.10.1 0.0.0.0 10.0.10.254 0.0.0.0 eq 67 68 deny ip 10.0.10.1 0.0.0.0 10.0.10.0 0.0.0.255 deny ip 10.0.10.1 0.0.0.0 10.0.20.0 0.0.0.255 permit ip any any ip access-list extended debian permit udp 10.0.20.1 0.0.0.0 10.0.20.254 0.0.0.0 eq 67 68 deny ip 10.0.20.1 0.0.0.0 10.0.20.0 0.0.0.255 deny ip 10.0.20.1 0.0.0.0 10.0.10.0 0.0.0.255 deny ip 10.0.20.1 0.0.0.0 10.0.1.0 0.0.0.255 permit ip any any ``` ![](https://i.imgur.com/DsRARzS.png) Применение ACL на интерфейсах роутера ``` interface e0/0 ip access-group kali in do write ``` ![](https://i.imgur.com/J8jODsq.png)