---
# System prepended metadata

title: Практическая работа №5

---

Практическая работа №5
==
# Атаки на DHCP
## Подготовка сети
Собираем нужную сеть:
![](https://i.imgur.com/fW0fTI0.png)

После устанавливаем на kali-mitm и kali-linux нужный софт

Поместим kali-linux в 10 и 20 вланы, для этого на Switch настроим:
![](https://i.imgur.com/kQBsERT.png)

И:
![](https://i.imgur.com/67GhfVS.png)

На kali-linux получены адреса:
![](https://i.imgur.com/U63O0Zs.png)


## DHCP starvation
Работаем в kali-mitm

В yersinia указываем mac-адрес pfsense:
![](https://i.imgur.com/eq3Yh9m.png)

Выбираем тип пакетов, которые будем посылать:
![](https://i.imgur.com/KnWs2mX.png)

Видим Discover запросы в трафике:
![](https://i.imgur.com/tNlnhRh.png)

Запускаем starvation с помощью pyDHCPStarvator:
![](https://i.imgur.com/TqDK7us.png)

Видим таблицу leases заполненой:
![](https://i.imgur.com/8qbUSho.png)

Трафик:
![](https://i.imgur.com/5rPUVxW.png)

## Rogue DHCP server
Сначала настроим DHCP сервер на kali-linux

Качаем isc-dhcp-server, редактируем конфиг так:
![](https://i.imgur.com/xUbQOFz.png)

А также изменим файл /etc/default/isc-dhcp-server
![](https://i.imgur.com/ylQ4TZT.png)

Таким образом на kali-linux работает dhcp сервер на интерфейсе eth1, который смотрит в debian и находится в 20 влане

Запустим атаку DHCP starvation:
![](https://i.imgur.com/cRNf7vU.png)

Видно, что pfsense отвечает NAK на запросы адреса то есть все они заняты:
![](https://i.imgur.com/hhDFuda.png)

Debian уже получал адрес у оригинального DHCP сервера, на него эта атака не срабатывает (для него адрес зарезервирован довольно жестко в pfsense, как я понял), поэтому я добавил на Debian новый адаптер и подлкючился к Switch с него, вместо старого

Запрашиваем для нового адаптера адрес:
![](https://i.imgur.com/6x3mmlT.png)

Трафик при запросе адреса, видно, что поддельный сервер (пакеты 43,47,48,52) опередил оригинальный (50, 51):
![](https://i.imgur.com/txa9SSZ.png)
Это странно, поскольку только что оригинальный сервер отвечал, что адреса заняты, но по итогу атака удалась

Результат:
![](https://i.imgur.com/Y3M3CJj.png)

C kali-linux видим трафик debian, поскольку для него kali-linux является маршрутом по умолчанию:
![](https://i.imgur.com/oUOKxBR.png)

## Защита
В качестве защиты от поддельного сервера настроим DHCP snooping
Активируем эту функцию:
![](https://i.imgur.com/6wA2BuJ.png)

Определим доверенный порт:
![](https://i.imgur.com/cVbXWGA.png)

В качестве защиты от DHCP starvation настроим port-security, ограничив количество устройств на один порт коммутатора:
![](https://i.imgur.com/X1dm0UZ.png)

Это не даст атакующему исчерпать все адреса из пула
# VLAN-hopping
## Атака
Создадим на kali-linux еще один интрефейс и подключим его к switch, с этого интерфейса мы и будем проводить атаку:
![](https://i.imgur.com/ZnyZGRv.png)

Порт коммутатора находится в нужном состоянии:
![](https://i.imgur.com/a6kjzLq.png)

На kali-linux добавим виртуальные интерфейсы для вланов:
![](https://i.imgur.com/GlGr3yd.png)

В yersinia проведем атаку, делая вид, что являемся коммутатором:
![](https://i.imgur.com/nfx6Usz.png)

Интерфейс переведен в нужный режим:
![](https://i.imgur.com/L7zDweH.png)

Можем пинговать в произвольный влан:
![](https://i.imgur.com/XDHFrL4.png)

Успешно подменили влан:
![](https://i.imgur.com/O59SX9U.png)

## Защита
Вернем порт свича в начальное положение:
![](https://i.imgur.com/PGbSbV6.png)


Одна из мер защиты - отключение режима автоматического перехода в trunk, для этого можно перевести порт в состояние access:
![](https://i.imgur.com/plvTgpl.png)

Режим trunk отключен:
![](https://i.imgur.com/WRERAy9.png)

Кроме этого можно совсем отключить DTP:
![](https://i.imgur.com/tJB8zEu.png)

Атака не проходит:
![](https://i.imgur.com/5598SN4.png)



# CAM-table overflow
## Атака
Перед этим нужно отключить ограничение максимального количества mac-адресов на один порт коммутатора

Запускаем macof на eth0:
![](https://i.imgur.com/v4jcQrm.png)

Пошел трафик:
![](https://i.imgur.com/dLuhzCy.png)

Видим заполненную таблицу на switch:
![](https://i.imgur.com/M83BEbX.png)

Если запустить атаку во время пинга, то время его работы сильно увеличивается:
![](https://i.imgur.com/noO1VjZ.png)
## Защита
Настроим защиту от такой атаки

Укажем максимальное количество адресов для одного порта:
![](https://i.imgur.com/5OgFZQa.png)

Таблица не переполняется, пинг идет без задержки:
![](https://i.imgur.com/tHwYReH.png)

#  MAC-spoofing
## Атака
Атака заключается в смене mac-адреса, проделаем ее на Debian
Был адрес:
![](https://i.imgur.com/180RZjQ.png)

Меняем с помощью команд:
![](https://i.imgur.com/EGnKNp6.png)

Адрес поменялся:
![](https://i.imgur.com/tCKS3gS.png)

И сеть работает:
![](https://i.imgur.com/nXf3aAp.png)

## Защита
Для защиты от смены mac-адреса можно использовать port security и указать лимит в один адрес на один порт

Для начала перезагрузим debian, чтобы отменить смену mac-адреса

Настройка Switch:
![](https://i.imgur.com/deA2n7r.png)

Пробуем сменить адрес:
![](https://i.imgur.com/AwivAEd.png)

Порт перешел в состояние error-disabled (поведение по умолчанию):
![](https://i.imgur.com/vISWIAA.png)

Помимо этого можно указать конкретно какой mac-адрес ожидается на порту коммутатора

#  ACL
## Настройка сети
Собираем сеть:
![](https://i.imgur.com/uF1uUbZ.png)

Всем интерфейсам Router даем адреса 192.168.vlan_id.254
Машинам - 192.168.vlan_id.10

## Настройка ACL
### NAT
Включим nat:
![](https://i.imgur.com/asMzfWT.png)

Добавляем записи в ACL 1:
![](https://i.imgur.com/SfyD0Ch.png)

Заканчиваем настройку:
![](https://i.imgur.com/1nKoHFT.png)

Указываем внутренние интерфейсы nat:
![](https://i.imgur.com/CttNS6q.png)

Пингуется как нужно:
![](https://i.imgur.com/5XrpbVw.png)

### ACL для kali-linux
Развернули веб на дебиане:
![](https://i.imgur.com/NVkumwj.png)

Запрещаем доступ kali на дебиан по http:
![](https://i.imgur.com/jrgORM5.png)

Остальное разрешаем:
![](https://i.imgur.com/g1iTnHO.png)

Применяем правило:
![](https://i.imgur.com/s9bAv86.png)

Проверяем, с кали нет доступа:
![](https://i.imgur.com/rNRZPyi.png)

С Win7 есть:
![](https://i.imgur.com/NgrQl7T.png)

### ACL для Win7

Запрещаем доступ во влан 10:
![](https://i.imgur.com/FezLorY.png)

Остальное разрешаем:
![](https://i.imgur.com/TrmlDc8.png)

Применяем его к интерфейсу e0/0.10:
![](https://i.imgur.com/lf1TVEO.png)

Проверим, все так:
![](https://i.imgur.com/twtVtL5.png)
### ACL для Debian
Запрещаем доступ к 2 сетям, остальное разрешаем:
![](https://i.imgur.com/LPoXh1N.png)

Вешаем на интерфейс:
![](https://i.imgur.com/JMPwyDP.png)

Проверим:
![](https://i.imgur.com/WxGFvZn.png)
