---
# System prepended metadata

title: Катенин Владимир - Networks Basic. Занятие 5. Безопасность локальной сети

---

# Катенин Владимир - Networks Basic. Занятие 5. Безопасность локальной сети
[toc]

## Задача
1) Провести атаку на DHCP. На коммутаторе настроить защиту от Rogue DHCP Server и от DHCP starvation
2) Провести атаку VLAN hopping. На коммутаторе настроить защиту от данного типа атаки (либо предложить рекомендацию)
3) Провести атаку CAM-table overflow. На коммутаторе настроить защиту от CAM-table overflow
4) Провести атаку MAC-spoofing. Настроить защиту от атаки MAC-spoofing, используя Port Security
5)  Настроить ACL:
-- KALI имеет доступ куда угодно, кроме debian машинки по протоколу HTTP
-- Win-7 машинка имеет доступ только в интернет и в VLAN-1
-- Debian машинка имеет доступ только в интернет

## Топология сети
Возьмем топологию из предыдущего практического задания

![](https://imgur.com/gkotOuj.jpg)

## Настройка инфраструктуры
Запустим Firewall

![](https://imgur.com/O9A01iv.jpg)

Настроим сабинтерфейсы на Firewall

![](https://imgur.com/FFynap6.jpg)

Зайдем в веб-версию и изменим названия сабинтерфейсов

![](https://imgur.com/Qlvfl5L.jpg)

![](https://imgur.com/Z9DNo1R.jpg)

Изменим правила Firewall

![](https://imgur.com/qblsnXc.jpg)

![](https://imgur.com/ejkAoLi.jpg)

Настроим Kali-MITM

`nano /etc/network/interfaces`
`apt update`
`apt install bridge_utils`

![](https://imgur.com/uWU5cts.jpg)

![](https://imgur.com/9rzght7.jpg)

![](https://imgur.com/BkzFmsp.jpg)

Настроим Debian

![](https://imgur.com/rECuOqk.jpg)

![](https://imgur.com/ZIx1eK8.jpg)

Настроим Kali Linux

![](https://imgur.com/WEAPxz5.jpg)

Win7

![](https://imgur.com/AA7cTwR.jpg)

![](https://imgur.com/adgnLl3.jpg)

Настроим Switch

![](https://imgur.com/M1HUp2C.jpg)

## Атака на DHCP
Установим yersinia

`apt install yersinia`

Запустим

`yersinia -G`

Выберем вкладку DHCP, введем MAC адрес

![](https://imgur.com/GqlA8xs.jpg)

MAC адрес берем из таблицы Switch

![](https://imgur.com/sM5LQ9O.jpg)

Выберем отправку DISCOVER пакетов

![](https://imgur.com/1tsB2En.jpg)

Запустим

![](https://imgur.com/wN9trfJ.jpg)

Видим отправленные пакеты на eth1 Firewall

![](https://imgur.com/DjOiLe5.jpg)

### DHCP Starvation
Проведем атаку

`python starvit.py -i eth0 -net 192.168.1.0/24 -start 1 -end 254 -dst_mac 50:00:00:05:00:01`

![](https://imgur.com/ye8cT2t.jpg)

Видим в Wireshark трафик

![](https://imgur.com/4gyTD77.jpg)

Таблица DHCP Leases в Firewall заполняется

![](https://imgur.com/n0xZNRq.jpg)

### Защита от DHCP Starvation
Настроим Switch

`int e0/3`
`switchport mode access`
`switchport port-security`
`switchport port-security maximum 5`
`switchport port-security violation restrict`
`switchport port-security mac-address sticky`

![](https://imgur.com/Ym8S1rm.jpg)

Запустим атаку

![](https://imgur.com/LJl6qMF.jpg)

Видим, что Wireshark не ловит ненужные пакеты

![](https://imgur.com/6QUXPzy.jpg)

Switch блокирует пакеты

![](https://imgur.com/Kg8NU2y.jpg)

В DHCP Leases нет ненужных записей

![](https://imgur.com/GhM9jh4.jpg)

### Защита от Rogue DHCP Server
Прописываем на интерфейс e0/0 в Switch

`ip dhcp snooping trust`

А на остальные

`ip dhcp snooping limit rate 15`

![](https://imgur.com/VJgv4aI.jpg)

## VLAN Hopping
Добавим сабинтерфейсы на Kali-MITM

`nano /etc/network/interfaces`

![](https://imgur.com/fNqoav5.jpg)

Видим трафик из VLAN 10

![](https://imgur.com/BkMNOhw.jpg)

![](https://imgur.com/lcFeLsh.jpg)

Видим трафик из VLAN 20

![](https://imgur.com/OJkINYQ.jpg)

### Защита от VLAN Hopping
Атака возможна только в тех случаях, когда интерфейсы настроены в режиме транка. Интерфейс e0/0 был ранее настроен в режим транка. Чтобы защититься, нужно проверить, что порты не настроены на автоматическую работу в режиме транка, а также отключить протокол DTP на порте с помощью `switchport nonegotiate`.

![](https://imgur.com/p8mw2Gm.jpg)

## CAM-table overflow
Посмотрим таблицу MAC адресов на свитче

`show mac address-table`

![](https://imgur.com/kwIYas3.jpg)

Запустим атаку с Kali Linux (порт eth1, т.к. на eth0 стоит защита от переполнения - portsecurity)

![](https://imgur.com/7t0aOMB.jpg)

Видим, что таблица забилась MAC адресами

![](https://imgur.com/oI38UJN.jpg)

### Защита от CAM-table overflow
Настроим свитч

`int e1/0`
`switchport mode access`
`switchport port-security`
`switchport port-security maximum 5`
`switchport port-security violation restrict`

![](https://imgur.com/B6ZC1XZ.jpg)

Посмотрим таблицу MAC адресов до атаки

![](https://imgur.com/YXHc5na.jpg)

Запустим атаку

![](https://imgur.com/eBSJoLa.jpg)

Видим блокировку MAC адресов на свитче

![](https://imgur.com/7UnyTaA.jpg)

Посмотрим таблицу MAC адресов

![](https://imgur.com/WzlxmDQ.jpg)

## MAC-spoofing
Добавим две новые Kali Linux машины в топологию

![](https://imgur.com/ycMFxsk.jpg)

Посмотрим таблицу MAC адресов на свитче, видим, что на каждом порте свой адрес

![](https://imgur.com/aJnUtmL.jpg)

Прописываем MAC адрес атакуемого устройства (Linux) на Linux-Attack

![](https://imgur.com/2473xMj.jpg)

В таблице коммутации видим, что MAC адрес атакуемого устройства у порта атакующего

![](https://imgur.com/f31yNwA.jpg)

Посмотрим IP жертвы

![](https://imgur.com/xmeoiyV.jpg)

Для проверки пропингуем жертву с Kali-MITM и перехватим трафик на Linux-Attack с помощью Wireshark

![](https://imgur.com/zJV1Jyl.jpg)

Видим трафик для жертвы на Linux-Attack

![](https://imgur.com/VilvBbp.jpg)

В таблице коммутации видим, что запись с фактическим MAC адресом атакующего устройства отсутствует

![](https://imgur.com/17Afext.jpg)

### Защита от MAC-spoofing
Защитим с помощью port-security

`int e1/1`
`switchport mode access`
`switchport port-security`
`switchport port-security mac-address 0050.0000.0700`

![](https://imgur.com/ukMgFqt.jpg)

Посмотрим таблицу MAC адресов до атаки

![](https://imgur.com/zS9bHwH.jpg)

После подмены MAC адреса в таблице коммутации отсутствует поддельный адрес и порт Linux-Attack, защита осуществлена

![](https://imgur.com/ZUcrBze.jpg)

## Настройка ACL
Топология сети

![](https://imgur.com/7sHyfAD.jpg)

Настроим интерфейсы на свитче

![](https://imgur.com/TeFWkX7.jpg)

Настроим интерфейсы на роутере

![](https://imgur.com/RnaS2Oo.jpg)

Настроим выход в интернет и NAT на роутере

![](https://imgur.com/7BfCqbV.jpg)

Настроим выход в интернет на Kali Linux

![](https://imgur.com/UFvbDWj.jpg)

Проверим

![](https://imgur.com/dQZ0HVS.jpg)

Настроим выход в интернет на Win7

![](https://imgur.com/Vd7RdYs.jpg)

Проверим

![](https://imgur.com/UvaAhLZ.jpg)

Настроим выход в интернет на Debian

![](https://imgur.com/EHBkGrq.jpg)

![](https://imgur.com/c3p2XUB.jpg)

Проверим

![](https://imgur.com/dpUl2fa.jpg)

Для выполнения первого пункта задания по ACL установим nginx на Debian

`apt update`
`apt install nginx`

![](https://imgur.com/5GpEzbH.jpg)

Проверим с Win7, что наш сервер работает

![](https://imgur.com/Db8tMRD.jpg)

Настроим ACL

![](https://imgur.com/G88Jrc5.jpg)

Повесим ACL на e0/0.20

![](https://imgur.com/VysqT14.jpg)

Пробуем зайти с Win7 - работает

![](https://imgur.com/6QR7cPY.jpg)

Пробуем зайти с Kali Linux - не получается, все правильно

![](https://imgur.com/qMbFsGz.jpg)

При этом пинг работает

![](https://imgur.com/oqyfdUn.jpg)

Сделаем ACL для данного условия

`Win-7 машинка имеет доступ только в интернет и в VLAN-1`

![](https://imgur.com/QiCv0hm.jpg)

Пробуем пинговать с Win7. Доступ есть к интернету и VLAN 1

![](https://imgur.com/1Yr9pnc.jpg)

![](https://imgur.com/FS3XN5h.jpg)

Сдалем ACL для данного условия

`Debian машинка имеет доступ только в интернет`

![](https://imgur.com/yA2xqkR.jpg)

Проверим

![](https://imgur.com/88wLZ8M.jpg)

Конфигурация ACL на роутере

![](https://imgur.com/nOGBHFy.jpg)
