# **Практика №4. Revers Shells & Reverse SSH connections**
# **Задание к практической работе №4**
- Построить инфраструктуру в системе EVE-NG (есть возможность ее импортировать)
- Настроить каждое устройство в соответсвии со следующими параметрами:
- Kali-2021, Win-7, Win-10, Debian - получение адреса DHCP
- устройство RPi-4 - использовать как “мостовое” устройство (необходимо для SSH tunneling L2)
# **Инфраструктура организации:**
- Kali-2021 - Linux Kali 2021 (2CPU, 2GB RAM)
- FW-pfsense - PfSense Firewall 2.5.2, default config (Qemu version 4.1.0, 2CPU, 2GB RAM)
- Switch - Cisco IOL-L2 (2 port-groups)
- Debian-RPi4 - Linux Debian 10 (1CPU, 1GB RAM)
- Win-10 - Windows 10 (full) (2CPU, 2GB RAM)
- Win-7 - Windows 7 (full) (QEMU 2.12, 4CPU, 4GB RAM)
- Network:
- Pfsense Default config (WAN-DHCP, LAN - static IP)
- Internet - Cloud-1
- VLAN-10 - 172.16.10.0/24, GW 172.16.10.254
- VLAN-10 - 172.16.20.0/24, GW 172.16.20.254
# **Выполнение задания**

# **SSH Tunneling L2**
На **Debian** прописываем следующие команды для дальнейшей работы:
```
apt update
apt install bridge-utils
```
Редактируем и объединяем в мост на **Debian**:
```
nano /etc/network/interfaces/
```

Проверяем ip a:

Проверяем ip на windows машинках:
Windows 10:

Windows 7:

Kali:

Далее на Kali настраиваем конфиг:
```
sudo nano /etc/ssh/sshd_config
```
Разрешаем root-вход `PermitRootLogin yes`
Включаем `PermitTunnel`
Затем переходим на **Debian** и подключаемся к машинке командой
```
sudo ssh root@192.168.124.154 -o Tunnel=ethernet -w any:any
^Ip берем с нашего Kali
```

Перейдем в **Kali** и увидим, что у нас создался интерфейс tap0:

На Debian открыв новое окно `Alt + F2` введем `ip a` и убедимся, что создался интерфейс tap0:

Посмотрим все доступные сетевые мосты `brctl show`. А затем добавим виртуальный сетевой интерфейс tap0 в мост `br0 brctl addif br0 tap0` и снова посмотрим сетевые мосты:

Командой `ip link set dev tap0 up` поднимем интерфейс tap0 в **Debian** и **Kali**



Захватим пакеты, которые передаются через виртуальный интерфейс tap0 командой `tcpdump -i tap0`

Получим ip адрес по dhcp на интерфейс tap0:
Для проверки зайдем по адресу 192.168.1.1 в браузере(успешный успех, можем зайти в наш FW):

# **SSH port forwarding**
Узнаем ip на **Kali**

В windows 10 подключаемся к Kali по ssh:
```
ssh user@192.168.124.156
```
Не забыв перед этим включить ssh на Kali:
```
sudo service ssh start
```

Теперь, открыв второй терминал, нам необходимо снова подключиться к Kali
`ssh -R 3395:localhost:3389 user@192.168.124.156` - создаем удаленный туннель SSH между локальным компьютером и удаленным сервером Kali, который перенаправляет трафик из локального порта 3395 на удаленный 3389:

В Kali проверим пролушиваемын порты и находим наш порт 3395:
Теперь с помощью команды `xfreerdp /u:user /p:eve@123 /v:127.0.01:3395` подключаемся к удаленном рабочему столу Windows 10:
Теперь подключимся к Windows 7 через Debian:
ip адрес win-7:

Команда Debian, где первый ip win-7, а второй Kali
`ssh -R 3395:192.168.1.116:3389 user@192.168.124.157`

Потом на Kali:
```
xfreerdp /u:user /p:eve@123 /v:127.0.0.1:3395
```

# **SSH Tunneling L3**
В Debian вводим команду `ssh -w 0:0 root@192.168.124.159` для создания tun интерфейса между Debian и Kali


На Kali

Назначаем адрес tun0

Поднимаем интерфейс

Проверяем

В Debian делаем все то, что и на Kali:


На Kali пингуем интерфейс tun0 Debian:

Далее на Debian переходим в конфиг:
```
nano /etc/sysctl.conf
```
и включаем `net.ipv4.ip_forward=1`

На Kali добавляем маршрутизацию `sudo ip route add 192.168.1.0/24 via 10.8.0.2` - все пакеты подсети(в которой Debian) должны быть отправлены чрез 10.8.0.2:

Пингуем Debian 
В Debian необходимо изменить исходный адрес пакетов на адрес хоста, через который они отправляются
```
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
```

В Kali пингуем pfsense

Можем заходить без проблем на FW в бразуре Kali 
# **VLAN Setting**
Создаем вланы
```
en
conf t
vlan 10
name VLAN-10
vlan 20
name VLAN-20
```

Настраиваем интерфейсы
```
conf t
int e0/1
description "WIN-10"
switchport mode access
switchport access vlan 20
int e0/2
description "WIN-7"
switchport mode access
switchport access vlan 10
int e0/0
switchport trunk encapsulation dot1q
switchport mode trunk
```


Проверяем статус интерфейсов

вланов

Настраиваем pfsense:


Десятый влан:


Двадцатый влан:


Services => DHCP Server




FireWall => Rules


Pfsense

Полученные ip адреса на windows машинках:
Windows10:

Windows7:
