###### tags: `Network Labs` # Отчёт по лабораторной работе №5 Выполнил: Запорожец Арсений ## Часть 1. - DHCP Starvation ### Атака Для выполнения данной атаки нам понадобится pyDHCPStarvator. Его можно скачать с github из одноимённого репозитория. В качестве первого шага добудим mac-address цели. Для этого в нашем случае достаточно необходимо ввести команду `arp`: Скачаем и установим зависимости pyDHCPStarvator. Запустим его командой. Для успешной атаки необходимо выполнить две команды: `python3 starvit.py -i eth0 -net 192.168.1.0/24 -start 1 -end 254 -dst_mac 50:00:00:05:00:01`: ![](https://i.imgur.com/UJHjwFy.png) `python3 listener.py -i eth0 -starvation-attack`: ![](https://i.imgur.com/gYuuWVL.png) Просмотрев трафик мы можем увидеть множество исходящих DHCP запоросов: ![](https://i.imgur.com/iRr0rZA.png) После атаки мы можем увидеть забитую таблицу ip адресов: ![](https://i.imgur.com/VqTlaP3.png) ### Защита Для защиты от данного вида атаки необзодимо всего-лишь ограничить количество mac адресов для текущего DHCP сервера. По мере добавления машин пул можно расширять. Также в данном случае неплохо помогает DHCP snooping, которая ограничивает количество запросов в секунду на хост (рекомендуется не больше 100). Пользователь не привысит это значение, а вот злоумышленник будет обнаружен: ![](https://i.imgur.com/9EKcdSo.png) ![](https://i.imgur.com/INKHupp.png) ## Часть 2. - Атака DHCP Rouge ### Атака Для этой атаки нам понадобится помощь yarshini'и. Запустим на ней DHCP rouge сервер: ![](https://i.imgur.com/mKINfwt.png) Т.к. мы заполнили ip таблицу основного сервера, то отвечать хостам будет уже кто-то другой, а именно наш DHCP сервер. Я запустил dhclient на debian. Вот результаты: ![](https://i.imgur.com/Py0wo2b.png) В самой же vershinia можно анализировать трафик, рассматривая, кому именно был выдан IP адрес: ![](https://i.imgur.com/tDaSg31.png) Как мы можем увидеть, некоторые запросы перенаправляются на машину с kali linux. Это позволяет нам прослушивать трафик, что может привести к серьёзному ущербу, в том числе и серьёзной утечки данных. ### Защита Тот же самый случай, что и при DHCP Starvation: ![](https://i.imgur.com/9EKcdSo.png) ![](https://i.imgur.com/INKHupp.png) ## Часть 3. - Атака CAM table overflow ### Атака Скачаем утилиту Macof.py и запустим её. В моём случае запуск проводился с kali linux. Атака была проведена на switch. Результаты: ![](https://i.imgur.com/ZfMrQUA.png) Как мы можем увидеть, таблица mac адресов успешно была забита. Вот показания анализатора трафика: ![](https://i.imgur.com/RkW4AFd.png) ### Защита Официально рекомендуемый метsод – включение port-security на интерфейсе коммутатора. Ограничим возможности атакующих, ограничив число возможных mac адресов с 1 интерфейса: ![](https://i.imgur.com/pJvYyF2.png) С помощью этих настроек мы ограничили число mac-адресов до 5. ## Часть 4. - Атака Mac-Spoofing ### Атака Атака подразумивает ручную смену mac-address'а на какой-либо другой внутри сети. Это позволяет злоумышленнику получать пакеты, которые до этого он видеть не мог: ![](https://i.imgur.com/UaDw2FI.png) ### Защита Всё достаточно просто. Для защиты от подобного вида атак всего-лишь достаточно закрепить за отедльным пользователем отедльный mac-адрес. Сделать это нам поможет port security: ![](https://i.imgur.com/cR56acF.png) ## Часть 5. - VLAN hopping ## Атака Данная атака позволяет проникнуть в недоступный VLAN и прослушивать его содержимое. Для простейшей реализации данной атаки необходимо просто настроить файл /etc/network/interfaces следующим образом: ![](https://i.imgur.com/lPstNWc.png) Далее, если, например, пустить arp запросы по сети, то, запустив wireshark, мы сможем увидеть их в 20 vlan'е: ![](https://i.imgur.com/PdbL3gc.png) ## Защита Здесь можно дать несколько рекомендаций. Т.к. эта атака возможна только если интерфейс работает в режиме транка, то есть простой совет - никогда не оставлять интерфейсы настроенными на автоматическую работу в режиме транка. Ну и ещё одно, то, что будет продемонстрировано на экране - ещё один возможный способ взлома. DTP. Его отключение повысит надёжность системы: ![](https://i.imgur.com/teflG6I.png) ## Часть 6. - ACL настройка Перейдём к настройке ACL. -Debian10 (192.168.20.10)- Для этого придётся в роутере создавать правила и уже после этого отправлять их. Начнём с конца. Debian10 не должен иметь доступ никуда, кроме интернета. Значит создаём правило: ![](https://i.imgur.com/aUXbQF2.png) Небольшое разъяснение, зачем нужен permit ip any any в конце. Дело в том, что если за правило ни одно условие не сработало, то пакет просто сгорит, а нам нужно его отправить, в случае если Debian стучиться ни во VLAN 1 (который, кстати, не рекомендуется использовать ввиду угрозы атаки VLAN hopping), ни во VLAN10. Выгружаем правило: ![](https://i.imgur.com/yQ8o9Oq.png) Перезагружаем сеть и проверяем работу правила: Debian потерял доступ к VLAN1 и 10, но доступ к интернету сохранил, а значит задача выполнена. ![](https://i.imgur.com/R7bx7Qq.png) -Windows7- (192.168.10.10) С ней уже немного по другому. Доступа нужно лишить только до VLAN20. Это делает нашу работу немного легче. Создаём правило: ![](https://i.imgur.com/bJKwK65.png) И выгружаем его: ![](https://i.imgur.com/LOC3h57.png) Делаем проверку и вуоля - есть контакт с интернетом и VLAN1, но нету с VLAN20: ![](https://i.imgur.com/JevKJtL.png) При этом kali всё также имеет контакт с VLAN20: ![](https://i.imgur.com/xtUwOef.png) -KaliLinux- (192.168.1.10) Самое, пожалуй, простое правило, которое, однако, требует понимания, что именно нужно взять в настройках. Создадим его: ![](https://i.imgur.com/xf0px1Q.png) Выгрузим правило: ![](https://i.imgur.com/wO1WVeC.png) Теперь проверим конфигурацию. С Windows всё работает: ![](https://i.imgur.com/7w081KL.png) Но вот у kali доступа нет: ![](https://i.imgur.com/rBX1isQ.png) И проблема здесь явно не в том, что хост вне зоны досягаймости: ![](https://i.imgur.com/e1TVIIf.png) Конфигурация роутера (скриншоты сделаны чуть раньше правил, они были добавлены позже): ![](https://i.imgur.com/5nAjDJ3.png) Здесь уже полное описания каждого правила, где 101 - vlan1, 103 - vlan20: ![](https://i.imgur.com/mJxPx5W.png)