###### tags: `Network basic` # Network_Basic-Омаров_Джамалутин-Практика-5 *Выполнил Омаров Джамалутин* ## Практическая работа №5 Безопасность локальной сети Задание: * Провести атаку на DHCP. На коммутаторе настроить защиту от Rogue DHCP Server и DHCP Starvation. * Провести атаку VLAN Hopping. На коммутаторе настроить защиту от данного типа атаки * Провести атаку CAM-table overflow. На коммутаторе настроить защиту от CAM-table overflow. * Провести атаку MAC-spoofing. Настроить защиту от атаки MAC-spoofing, используя Port Security. * Настроить ACL: - Kali Linux доступ куда угодно, кроме Debian по протоколу HTTP - Win7 имеет доступ только в интернет и VLAN1 - Debian имеет доступ только в интернет * В отчете необходимо отразить скрин атаки, а также конфигурацию устройства, которое было настроено для защиты от атак. * Дополнительно в отчете отразить конфигурацию роутера при настройке ACL. Port Security - функция коммутатора, позволяющая указать MAC адреса, которым разрешено передавать данные через порт. Rogue DHCP Server - подмена DHCP сервера. DHCP starvation - исчерпывание, заполнение пула адресов на сервере. DHCP snooping - способ защиты от подобных атак. ### Часть 1. Настройка 1.1 IP Kali Mitm; ![](https://i.imgur.com/yX6VUS7.png) 1.2 Bridge-Utils for Kali Mitm; ![](https://i.imgur.com/XUaSh1u.png) 1.3 Trunk mode for interface e0/0; ![](https://i.imgur.com/cVvEDex.png) 1.4 Access mode for interface e0/1, e0/2; ![](https://i.imgur.com/grlscvj.png) 1.5 Nano /etc/network/interfaces for Kali Mitm; ![](https://i.imgur.com/xwgIwPn.png) 1.6 Vlans on Firewall; ![](https://i.imgur.com/kmbvlOm.png) ![](https://i.imgur.com/CUgaQUk.png) Конфигурация проходит быстроо и понятно. ![](https://i.imgur.com/YwAjiuP.png) 1.7 Зашли на веб-интерфейс Firewall; ![](https://i.imgur.com/zoUzIEh.png) Настройка очень простая. 1.8 Проверим выданные адреса на Win7 и Linux Debian; ![](https://i.imgur.com/eJTDhkA.png) ![](https://i.imgur.com/6fOhMa4.png) 1.9 Занатим br0 192.168.1.101 на Kali Mitm; ![](https://i.imgur.com/XjYECSx.png) 1.10 Трафик будет прилетать на порт 2222 -> Отправляй его на 192.168.1.101 на 22 порт; ![](https://i.imgur.com/UG84d8Q.png) ![](https://i.imgur.com/CJGAUv1.png) 1.11 Service ssh start ![](https://i.imgur.com/IkWnzwC.png) 1.12 Подключимся по SSH с основного хоста; ![](https://i.imgur.com/KGy1PDw.png) 1.13 ssh user@192.168.146.130 -p2222; ![](https://i.imgur.com/aiK4zZG.png) Подключились к kali linux для демонстрации; 1.14 Apt install yersinia. Для атак на L2; ![](https://i.imgur.com/hETVRon.png) 1.15 Apt install python3-dev python3-pip; ![](https://i.imgur.com/EePm1na.png) 1.16 На Switch донастроим интерфейсы; ![](https://i.imgur.com/jOsExVY.png) 1.17 На Linux-Kali получим ip через dhclient eth0, dhclient eth1. К нему мы настраивали Vlan на switch только что. ![](https://i.imgur.com/UnahEZy.png) 1.18 ip addr delete 192.168.1.102/24 dev eth1; ![](https://i.imgur.com/N5DtsCM.png) 1.19 apt install dsniff; ![](https://i.imgur.com/5uH3Syo.png) ### Часть 2. Атака Arp-spoofing 2.1 Необходимо посмотреть адрес Win7. Linux-Kali -> nmap -sn 192.168.10.0/24; ![](https://i.imgur.com/CxgTTDx.png) Скорее всего 192.168.10.10, потому что ...10.11 занят Linux-Kali. 2.2 АRP таблица. arp -a; ![](https://i.imgur.com/tdLfeJ9.png) 2.3 После ping появился необходимый arp адрес; ![](https://i.imgur.com/nXPnIBt.png) Теперь можем осуществлять Mitm атаку. 2.4 Чтобы трафик проходил через нас, включим маршрутизацию. nano /etc/sysctl.conf -> раскомментируем строку -> sysctl -p; ![](https://i.imgur.com/VU4H1wg.png) 2.5 arpspoof -i eth0 -t 192.168.10.10 -r 192.168.10.254 -r для захвата трафика в обоих направлениях; ![](https://i.imgur.com/JPMGjSy.png) ![](https://i.imgur.com/R9pvZFC.png) 2.6 Попытаемся выйти куда-нибудь с Win7; ![](https://i.imgur.com/nnvqWuu.png) ![](https://i.imgur.com/2Go5nsC.png) Ловим данные. **Защита** Когда летят arp трафик, коммутатор должен иметь свою таблицу arp, в которой у него есть связка между ip и mac адресами. Коммутатор как правило делать этого не должен. Можно настроить ARP Inspection. Есть динамическая и статическая настройка. 2.7 int e0/1 -> ip dhcp snooping limit rate 15 -> ip arp inspection limit rate 100; ![](https://i.imgur.com/TDm8DRk.png) Так же для e0/3, e1/0. После этого необходимо указать откуда прилетают правильные dhcp, arp запросы. 2.8 ip arp inspection trust -> ip dhcp snooping trust; ![](https://i.imgur.com/renvvZU.png) 2.9 Указывается ip dhcp snooping vlan 10, 20; ![](https://i.imgur.com/Py14cOW.png) 2.10 no ip dhcp snooping information option, чтобы не выводил нам огромное количество данных; ![](https://i.imgur.com/Kr75GvN.png) 2.11 Указываем кому разрешает доступы. arp access-list DAI -> permit ip host 192.168.10.10 mac host 5000.0002.0000 ![](https://i.imgur.com/AfY1NSH.png) 2.12 Указываем vlan. ip arp inspection vlan 10; ![](https://i.imgur.com/v48THCl.png) Если invalid arp, тогда переписываем permit, включая туда ip и mac, который просят. ![](https://i.imgur.com/iuBrGZ1.png) 2.13 Проведем атаку снова и увидим, что данные не прилетают; ![](https://i.imgur.com/D35pPbK.png) А на коммутаторе получаем уведомления об атаке. 2.14 Видим за каким интерфейсом сидит атакующий (e0/1 или e0/3); ![](https://i.imgur.com/8yUZM0B.png) ### Часть 3. Атака на DHCP 3.1 Необходимо узнать mac адрес Firewall. arp; ![](https://i.imgur.com/XLuEAGG.png) 3.2 Edit mode -> Destination mac; ![](https://i.imgur.com/XVlfXhQ.png) 3.3 Можно начинать атаку. Есть разные виды. Мы воспользуемся Discover. Таблица заполнится запросами. Но ограничится, потому что защита уже настроена, об этом позже; ![](https://i.imgur.com/b9L8A4g.png) 3.4 Посмотрим через Wireshark DHCP трафик; ![](https://i.imgur.com/C7o0qM4.png) 3.5 Проводим атаку; ![](https://i.imgur.com/UQdPC6o.png) ![](https://i.imgur.com/jYQZi6w.png) Запросы пошли. 3.6 Ранее мы настроивали ip dhcp snooping limit rate 15 на интерфейсы коммутатора. Поэтому запросов будет не так много. Если запустить атаку через Kali Mitm, запросы не будут ограничиваться коммутатором. ![](https://i.imgur.com/LQXk5ZW.png) ![](https://i.imgur.com/sf7UxdZ.png) ### Часть 4. DHCP Starvation и Rogue В Rogue DHCP Server атаке мы подменяем шлюз. Защита от этой атаке так же в данной части лабораторной работы. 4.1 Установим скрипты; ![](https://i.imgur.com/eSlFWNz.png) 4.2 Подгоняем скрипт под нашу топологию сети; ![](https://i.imgur.com/waCrXZj.png) 4.3 Отправляет пакеты; ![](https://i.imgur.com/ZYqoFqT.png) 4.4 Заполнение таблицы аренды адресов; ![](https://i.imgur.com/wxmztxa.png) 4.5 Запуск starvation attack; ![](https://i.imgur.com/BzbPyBL.png) У нас пул заполнен и без второго скрипта. Пункт 4.5 показывает, что можно и таким скриптом пользоваться. Задача решена, пул адресов заполнен. Можно развить атаку, создав Fake-DHCP и раздавать адреса. Так как запрос с машин широковещательный, он придет на все машины. Основной сервер не сможет выдать адрес, а фейковый выдаст. Фейковый DHCP логично делать на Kali-Mitm, потому что на интерфейс e0/0 на коммутаторе является доверенным, остальные мы доверенными не настроили. ![](https://i.imgur.com/yTGb3zs.png) Настроить Fake DHCP просто. Kali-Mitm -> apt install isc-dhcp-server -> nano /etc/default/isc-dhcp-server INTERFACES="eth1" -> nano /etc/dhcp/dhcpd.conf ![](https://i.imgur.com/boxFqQf.png) Скриншот настройки DHCP сервера на EVE-NG. Мы можем ввести строчки в Kali-Mitm по аналогии. **Защита** DHCP snooping на коммутаторе поможет нам защититься от атак типа DHCP starvation или Rogue. Мы уже защитились от атаки подобного рода в **пункте 2.8**. В данном пункте мы настроили доверенный порт, остальные порты по умолчанию считаются недоверенными. Атаку мы провели для домонстрации с Kali-Mitm. Данная машина подключена к Firewall напрямую, поэтому правила коммутатора DHCP snooping на Kali-Mitm не распространяется. А также в качестве защиты можно указать следующее; ![](https://i.imgur.com/0GMDgPU.png) Указание адреса доверенного DHCP сервера, который будет доступен через доверенный порт. ### Часть 5. CAM-table overflow Переполнение таблицы для коммутаторов. 5.1 Macof; ![](https://i.imgur.com/0EADMjX.png) 5.2 Прилетает трафик; ![](https://i.imgur.com/ah1Tkgw.png) 5.3 На коммутаторе mac address-table; ![](https://i.imgur.com/f93MpMk.png) Если не остановить Macof, то коммутатор может перестать реагировать в штатной режиме. 5.4 А ping 8.8.8.8 стал приходить медленнее; ![](https://i.imgur.com/rNbSPny.png) **Защита** Воспользуемся Port Security. 5.5 Switch -> conf t -> int e0/3 -> switchport port-security maximum 5; ![](https://i.imgur.com/zf4ZRGs.png) 5.6 time не растет, как в прошлый раз; ![](https://i.imgur.com/FgOrnyx.png) 5.7 А порт отключился. E0/3 не отображается; ![](https://i.imgur.com/WCSfdiK.png) ![](https://i.imgur.com/XH0Vim8.png) Потому что включен режим "shutdown". 5.8 Поменяли режим на "restrict"; ![](https://i.imgur.com/zttjBud.png) 5.9 Видим максимум 5, как указывали; ![](https://i.imgur.com/3OSbRDQ.png) ### Часть 6. Vlan Hopping Vlan hopping - атака возможна из-за автоматического согласования типа порта access или trunk по умолчанию. 6.1 Kali-Mitm -> nano /etc/network/interfaces; ![](https://i.imgur.com/si41Too.png) ![](https://i.imgur.com/2G3RItO.png) 6.2 Слушаем 20 vlan. Ping from LinuxDebian; ![](https://i.imgur.com/JyCTB1T.png) 6.3 На коммутаторе на порту e0/0 использован vlan по умолчанию; ![](https://i.imgur.com/QBzT8NE.png) Поэтому есть возможность слушать трафик из всех vlan. В нашем случае Kali-Mitm может слушать vlan 10, 20. **Защита** В нашем случае необходимо было не использовать дефолтный vlan. В дефолтной vlan трафик не тегируется. Так же на коммутаторах порты находятся в режиме по умолчанию. Используется DTP, который определяет возможное состояние порта. Отключаем возможность автоматического согласования. switchport nonegotiate ![](https://i.imgur.com/IAjlWaK.png) А так же не используем дефолтный vlan. Например, switchport trunk native vlan 100. ### Часть 7. Mac-spoofing Mac-spoofing - подмена mac адреса на сетевой карте компьютера, что позволит перехватить трафик, адресованный другому устройству. 7.1 Топология: добавил Linux; ![](https://i.imgur.com/mu1oyyR.png) 7.2 Show mac address table; ![](https://i.imgur.com/H7VqYLe.png) 7.3 Поменял Mac адрес на Linux Kali. Поставил такой же адрес, как на e1/1. Теперь по логике mac адреса у них одинаковые; ![](https://i.imgur.com/mPrNzca.png) Трафик должен идти на Linux Kali, так как mac адрес не привязан к интерфейсу коммутатора. **Защита** 7.4 Switchport mode access -> switchport port-security -> switchport port-security mac-address 0050.0000.0700; ![](https://i.imgur.com/3YbblQW.png) Теперь mac адрес статически закреплен за портом e1/1 ### Часть 8. ACL ACL - разрешающий либо запрещающий передачу трафика. 8.1 Vlan; ![](https://i.imgur.com/XhpNM89.png) 8.2 NAT; ![](https://i.imgur.com/tCq8l2G.png) 8.3 Win7 to nginx Debian; ![](https://i.imgur.com/FnFVGGJ.png) 8.4 Win to nginx Debian after access-list; ![](https://i.imgur.com/Um6J6hT.png) 8.5 Kali to ping Debian after access-list; ![](https://i.imgur.com/8dEgNwP.png) 8.6 Kali to nginx Debian after access-list; ![](https://i.imgur.com/33eNerg.png) 8.7 Если нам необходимо, чтобы Win7 имел доступ в интернет, vlan1 и никуда больше, то можно добавить правило в access-list 101, которое будет запрещать входящий трафик с Win7. Конфигурация будет выглядеть так; ![](https://i.imgur.com/P4BERQd.png) Теперь Win7 не имеет доступа в vlan20. ![](https://i.imgur.com/3CGVF6z.png) И имеет в интернет. ![](https://i.imgur.com/6mmjfR1.png) 8.8 Access-list 102 мы поставим на int e0/0 ![](https://i.imgur.com/gh5911w.png) ![](https://i.imgur.com/9Sm5FPs.png) Debian имеет доступ в интернет, не имеет доступ в vlan1, vlan10.