# Network Basic Модуль Занятие 3
## Сетевой уровень модели OSI
### Практическая работа 3
В этой работе проведем настройку разношерстного оборудования с целью настройки общения устройств между собой и обеспечения сетевой доступности (будем проверять командой ping). Рассмотрим настройку применяемых в современных инфраструктурах протоколов динамической маршрутизации, а также проведем атаки на них.

#### Часть 1. Конфигурации роутеров из каждой зоны
M-R-12 (зона статической маршрутизации)
```cisco=
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip address
add address=10.0.0.12/24 interface=ether1 network=10.0.0.0
/ip route
add distance=1 dst-address=10.0.0.0/22 gateway=10.0.0.17
add distance=1 dst-address=10.0.4.0/23 gateway=10.0.0.17
add distance=1 dst-address=11.0.0.0/22 gateway=10.0.0.17
add distance=1 dst-address=11.0.4.0/23 gateway=10.0.0.17
add distance=1 dst-address=11.0.6.0/24 gateway=10.0.0.17
add distance=1 dst-address=12.0.0.0/22 gateway=10.0.0.17
add distance=1 dst-address=12.0.4.0/23 gateway=10.0.0.17
add distance=1 dst-address=12.0.6.0/24 gateway=10.0.0.17
add distance=1 dst-address=13.0.1.0/24 gateway=10.0.0.17
add distance=1 dst-address=13.0.2.0/24 gateway=10.0.0.17
add distance=1 dst-address=192.168.0.0/19 gateway=10.0.0.17
/system identity
set name=M-R-12
```
M-R-8 (зона маршрутизации на основе протокола OSPF)
```cisco=
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/routing ospf instance
set [ find default=yes ] redistribute-connected=as-type-1
/ip address
add address=11.0.6.8/24 interface=ether1 network=11.0.6.0
add address=11.0.2.8/24 interface=ether3 network=11.0.2.0
add address=11.0.3.8/24 interface=ether2 network=11.0.3.0
/ip dhcp-client
add disabled=no interface=ether1
/routing ospf network
add area=backbone network=11.0.3.0/24
add area=backbone network=11.0.2.0/24
add area=backbone network=11.0.6.0/24
/system identity
set name=M-R-8
```
M-R-9 (зона маршрутизации на основе протокола BGP)
```cisco=
/interface bridge
add name=loopback
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/routing bgp instance
set default as=101 confederation=100 confederation-peers=102 \
redistribute-connected=yes router-id=100.100.100.9
/ip address
add address=12.0.6.9/24 interface=ether1 network=12.0.6.0
add address=12.0.2.9/24 interface=ether3 network=12.0.2.0
add address=12.0.3.9/24 interface=ether2 network=12.0.3.0
add address=100.100.100.9/24 interface=loopback network=100.100.100.0
/ip dhcp-client
add disabled=no interface=ether1
/routing bgp peer
add name=peer1 nexthop-choice=force-self remote-address=12.0.6.7 remote-as=\
101
add name=peer2 nexthop-choice=force-self remote-address=12.0.3.11 remote-as=\
102
add name=peer3 remote-address=12.0.2.2 remote-as=101
/system identity
set name=M-R-9
```
### Часть 2. Проверка связности между конечными роутерами разных зон маршрутизации
M-R-12 -> M-R-10

M-R-12 -> L-R-15

M-R-12 -> C-R-6

M-R-10 -> C-R-6

M-R-10 -> L-R-15

C-R-6 -> L-R-15

### Часть 3. Атака на протокол OSPF с передачей фиктивного маршрута
Роутер M-R-7 получает фиктивный маршрут 8.8.8.0


### Часть 3. Атака на протокол BGP с передачей фиктивного маршрута
Атаку с передачей фиктивного маршрута наподобие атаки на OSPF не получится провести с протоколом BGP т.к. BGP предполагает передачу сообщений об обновлении маршрутов внутри сессии транспортного уровня. Это значит, что обновления с другого IP-адреса в той же сети не будут восприняты целью атаки.
Вместо этого, можно попробовать подделать один из маршрутизаторов атакуемой сети с переносом всех настроек замененного роутера на подделку и с добавлением дополнительного маршрута к устройству злоумышленника.
Но только подделки имеющегося маршрутизатора будет недостаточно, потому что изначальная сессия передачи обновлений в BGP сформирована с подделанным роутером. Нам потребуется сказать роутеру, что его BGP-соседом является одно из наших устройств, чтобы увести трафик сессии от роутера, который будет передавать наши поддельные маршруты. Таким образом, передающий и подделанный роутеры потеряют соединеие (подделанный роутер не будет отвечать на сообщения типа BGP-Keepalive) и мы сможем ввести в работу наш поддельный роутер после разрыва старой сессии.
Попробуем провести такую атаку на уже сформированную сеть. Пусть нашим передающим роутером будет M-R-11, а подделанным C-R-6.
Предварительно настроим BGP-FakeRouter и внесем в него настройки, схожие с C-R-6.
Настройка интерфейсов

Кроме интерфейса связности с M-R-11 добавляется IP-адресс для сети, которую мы также хотим анонсировать
Настройка протокола BGP

Полностью повторим настройки BGP от роутера C-R-6 и сохраним настройки.
Теперь нам понадобится отлючить FakeRouter
Начнем настройку Kali Linux. Эта машина будет задействована в ARP-Spoofing атаке на C-R-6 для перенаправления трафика, идущего к M-R-11, в сторону самой Kali Linux.
Нужно скачать дополнительные пакеты

Также нужно будет назначить IP-адреса на имеющиеся интерфейсы (интерфейс eth0 отвечает за фиктивный маршрут к Kali Linux, интерфейс eth1 используется для проведения атаки arp-spoofing на C-R-6).

Для eth1 можно поставить любой другой адрес, отличный от адресов атакуемых роутеров.
Перед атакой M-R-11 имеет подключение к C-R-6. Также в таблице маршрутизации не назначен путь до сети 8.8.8.0/24


Теперь можно начинать атаку. Используем утилиту arpspoof для совершения подмены MAC адреса 12.0.4.6 на адрес, принадлежащий Linux

Через некоторое время C-R-6 начнет отправлять сообщения обновления маршрутов и BGP-Keepalive нашей Kali Linux. Вместе с этим M-R-11 потеряет соединение с C-R-6 и отключит сессию с ним

Теперь мы можем включить наш Fake Router и дождаться установления BGP-сессии с ним.

Сессия установилась, а на M-R-11 появился маршрут 8.8.8.0/24, направленный в сторону нашего Fake Router

Более того, теперь BGP распространит этот маршрут на всю зону работы протокола BGP


И Kali Linux станет доступен по пути 8.8.8.8 со всех устройств зоны BGP.