---
# System prepended metadata

title: Практическая работа №4. Reverse Shells & Reverse SSH connections

---

<h1>Практическая работа №4. Reverse Shells & Reverse SSH connections</h1>

# Задание к практической работе №4

- Построить инфраструктуру в системе EVE-NG (есть возможность ее импортировать)
- Настроить каждое устройство в соответсвии со следующими параметрами:
    - Kali-2021, Win-7, Win-10, Debian - получение адреса DHCP
    - устройство RPi-4 - использовать как “мостовое” устройство (необходимо для SSH tunneling L2)

Kali-2021:

Для просмотра сетевых настроек вводим команду `ip a`:

![](https://i.imgur.com/FZ8Csrz.png)


Как видим, мы уже получили ip адрес на этой машине

Debian:
Точно также вводим `ip a`:

![](https://i.imgur.com/sxXBuYJ.png)


Видим, что в этом случае мы не получили ip автоматически

Запрашиваем ip адрес от DHCP сервера (используя команду `dhclient`):

![](https://i.imgur.com/Yo88snk.png)


Настроим debian машину - сделаем её "мостовым" устройством, используя ens3 и ens4:

Введём команду ``sudo nano /etc/network/interfaces`` и отредактируем файл следующим образом:

![](https://i.imgur.com/jEUD6gx.png)

Далее перезагрузим сеть с помощью команды ``sudo service networking restart`` и получим следующий результат в ``ip a``:

![](https://i.imgur.com/QrnyYPI.png)



Теперь мы можем спокойно получить ip адрес на windows машинах:

Windows 7:

![](https://i.imgur.com/g8nN6O8.png)


Windows 10:

![](https://i.imgur.com/5oyouG3.png)


Теперь переходим в Kali машину и открываем конфиг командой ``sudo nano /etc/ssh/sshd_config``:

Разрешаем авторизацию через root'а, добавив строку PermitRootLogin yes, включим PermitTunnel (в строке PermitTunnel yes), а также включим переадресацию портов для SSH (в строке AllowTcpForwarding yes)

После внесения изменений в файлик, перезапустим службу ssh командой `sudo service ssh restart`

Теперь Kali машинка настроена и мы можем приступать к Debian машинке:

Пропишем следующую команду: `sudo ssh root@192.168.149.131 -o Tunnel=ethernet -w any:any`

Подключаемся в качестве root пользователя к Kali машинке:

![](https://i.imgur.com/O67WmJx.png)


Теперь введя команду `ip a` на дебиан, мы увидим новый интерфейс tap0:

![](https://i.imgur.com/9EJ0tZg.png)

Как можно заметить, интерфейс выключен, поэтому включим его командой `ip link set dev tap0 up`

Результат:

![](https://i.imgur.com/SPIQV8w.png)


Добавим этот интерфейс в наш мост br0 с помощью команды `brctl addif br0 tap0`

Проверим наш мост, введя команду `brctl show`:

![](https://i.imgur.com/5przkJJ.png)

Теперь проделаем то же самое на Kali машинке:

Результат:

![](https://i.imgur.com/v3PFHNl.png)


Получаем ip адрес по dhcp для tap0 с помощью команды `sudo dhclient tap0`:

![](https://i.imgur.com/u7jKilb.png)

Теперь мы имеем доступ ко внутренней инфраструктуре и можем спокойно делать всё что только захотим


Например, пинг внутреннего IP фаервола:

![](https://i.imgur.com/lIuJlLA.png)

Ну или можем зайти в панель управления pfsence

![](https://i.imgur.com/2Ym7Y0t.png)


![](https://i.imgur.com/BLQQgqs.png)


**Port Forwarding:**

Зайдём в Windows 10 и подключимся по ssh к Kali машинке:

![](https://i.imgur.com/5hftycx.png)

Создадим второе подключение командой `ssh -R 3395:localhost:3389 user@192.168.149.131`

![](https://i.imgur.com/6tgIw4z.png)

Теперь мы будем перенаправлять трафик из локального порта 3395 на удалённый порт 3389

Проверим порты на Kali командой `ss -tunlp`

![](https://i.imgur.com/Mrsdbqe.png)

Теперь подключаемся к удалённому рабочему столу Win-10 используя команду `xfreerdp /u:admin /p:eve@123 /v:127.0.0.1:3395`


![](https://i.imgur.com/Vg3DMiO.png)

Теперь проводим те же самые манипуляции с Win-7:

Создаём ssh сессию:

![](https://i.imgur.com/VwkEfcY.png)

Вводим команду `xfreerdp /u:admin /p:eve@123 /v:127.0.0.1:3395` и подключаемся к удалённому экрану win-7:

![](https://i.imgur.com/Fii9PuP.png)

**Туннелирование L3**

Теперь нашей задачей является создание интерфейса туннеля между Debian и Kali


Изменим конфиг сетевых интерфейсов в Debian

Вводим `sudo nano /etc/network/interfaces`

![](https://i.imgur.com/stgaYvR.png)


Создадим интерфейс tun0 с помощью команды `sudo ssh -w 0:0 root@192.168.149.131:`

![](https://i.imgur.com/hop3Q0O.png)

Смотрим `ip a` на Debian:

![](https://i.imgur.com/TMUzQ6n.png)

Видим новый интерфейс tun0

Теперь в Kali linux надо добавить ip на соответствующий интерфейс:

`ip addr add 10.8.0.1/24 dev tun0`

Поднимем интерфейс `sudo ip link set tun0 up`

Результат:

![](https://i.imgur.com/WeOjS9a.png)

Производим такие же действия в Debian, дав разве что другой адрес интерфейсу:

![](https://i.imgur.com/r5rGHKQ.png)

Теперь включаем ip forward на debian

`sudo nano /etc/sysctl.conf`

![](https://i.imgur.com/ZT7GziH.png)

Добавим маршрут на kali машинку:

![](https://i.imgur.com/mzTs3Bd.png)

На debian введём команду, чтобы изменить исходный адрес пакетов на адрес хоста, через который они отправляются:

`sudo iptables -t nat -A POSTROUTING -o br0 MASQUERADE`

Теперь мы получили доступ к панели управления pfsence на Kali машинке:

![](https://i.imgur.com/kVhsnR8.png)

