---
# System prepended metadata

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

---

# Практическая работа №4 "Revers Shells & Reverse SSH connections"


Выполнил студент группы БСБО-04-20: Люцько С.А.

Проверил преподаватель: Садыков Ильдар Венерович

**Москва 2023г.**



---
## Организация проброса портов внутрь инфраструктуры на локальное устройство
Построим следующую топологию:
![](https://i.imgur.com/zY6MJ8t.png)

**Задача:** работая с устройства Kali-2022, обойдя межсетевой экран, получить доступ к устройству из локальной сети за этим экраном (будет выполнено для устройства Win-10).

Определим IP адреса интересующих нас устройств.
**Win-10:** 192.168.1.102
![](https://i.imgur.com/CQ7cbh9.png)

**Kali-2022:** 192.168.10.129
![](https://i.imgur.com/d6kh1nV.png)


Попробуем организовать SSH подключение с Win-10 к Kali-2022.
Для этого сперва откроем SSH на Kali-2022:
```
sudo sevice ssh start
sudo systemctl enable ssh
```
![](https://i.imgur.com/QDZeti8.png)


И заодно разрешим удалённые подключение на Win-10:
Настройки -> Система -> О системе -> Сведения о системе -> Настройка удалённого доступа

Выставляем следующие настройки:
![](https://i.imgur.com/GD0LClZ.png)

Подключимся Win-10 -> Kali-2022:
```
ssh user@192.168.10.129
```
![](https://i.imgur.com/TV3E4LB.png)

Из результатов видим, что firewall не блокирует SSH подключение изнутри наружу.

Подключимся Kali-2022 -> Win-10:
```
ssh user@192.168.1.102
```
![](https://i.imgur.com/oO7CTiN.png)

Неудача. Организовать SSH подключение стандартным способом извне невозможно.

Однако данное ограничение можно обойти путём проброса портов на локальное устройство.

Для этого на устройстве Win-10 пропишем следующую команду:
```
ssh -R 3390:locahost:3389 user@192.168.10.129
```
![](https://i.imgur.com/F8HsuRW.png)

Просмотрим список прослушиваемых портов на Kali-2022:
```
ss -tunlp
```
![](https://i.imgur.com/p6wjBpp.png)

Видим, что в списке имеется некий процесс на порту 3390.

А теперь попробуем по RDP подключиться к локальному хосту на Kali Linux.
```
xfreerdp /u:user /p:eve@123 /v:127.0.0.1:3390
```
![](https://i.imgur.com/x6Y4H9c.png)

Успех! Мы получили доступ к Win-10 с Kali-2022:
![](https://i.imgur.com/yukxGQD.png)


---
## L3 туннелирование

На данном этапе будет организовано SSH-туннелирование.

Сперва изменим файл конфигурации (/etc/ssh/sshd_config) для того, чтобы это стало возможным.
```
nano /etc/ssh/sshd_config
```
Изменения следующие:
![](https://i.imgur.com/me1vYFV.png)

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

Перезапустим SSH сервис:
```
service ssh restart
```
![](https://i.imgur.com/Gl0Vo5h.png)

Мы разрешили туннелирование и открыли возможность логиниться как root.
Сменим пароль для root:
```
passwd root
```
![](https://i.imgur.com/sxeTvQm.png)

Включим устройство Debian и установим с него туннель
```
sudo -i
ssh -w 0:0 root@192.168.10.129
```
![](https://i.imgur.com/e0B9C9e.png)

На Linux-2022 же появился заветный tun интерфейс, однако на данный момент он выключен:
![](https://i.imgur.com/8Rr4v4A.png)

Настроим его IP адрес и включим его на Kali-2022:
```
ip addr add 10.8.0.1/24 dev tun0
ip link set tun0 up
```
![](https://i.imgur.com/J7hotKK.png)

Теперь же настроим его IP адрес и включим его на Debian:
```
ip addr add 10.8.0.2/24 dev tun0
ip link set tun0 up
```
![](https://i.imgur.com/9oYcOwS.png)

Теперь же Debian пингуется с Kali-2022:
![](https://i.imgur.com/uT0jhMj.png)

А вот сетка пока пинговаться не будет. Чтобы это исправить, включим маршрутизацию на Debian:
```
nano /etc/sysctl.conf
```
Вносим следующие правки:
![](https://i.imgur.com/ucBXCPC.png)

Проверяем:
![](https://i.imgur.com/gtMtZ7C.png)

Осталось на Kali-2022 настроить маршрут до сетки 192.168.1.0/24:
```
ip route add 192.168.1.0/24 via 10.8.0.2
```

Теперь пинг проходит успешно!
![](https://i.imgur.com/BntjaNv.png)


---
## L2 туннелирование

Перестроим топологию следующим образом:
![](https://i.imgur.com/NoaCNza.png)

Теперь необходимо Debian-RPi4 сделать "мостовым" устройством:
```
apt update
apt install bridge-utils
nano /etc/network/interfaces
```

Вносим следующие правки:
![](https://i.imgur.com/uBewJy9.png)

Перезапускаем networking
```
service networking restart
```

IP адреса успешно получены.
**Debian-RPi4:** 192.168.1.106
![](https://i.imgur.com/jOcdemi.png)

**Win-7:** 192.168.1.108
![](https://i.imgur.com/YJ2hoAu.png)

**Win-10:** 192.168.1.107
![](https://i.imgur.com/TrbN5VV.png)

Используем утилиту tcpdump для перехвата трафика:
```
apt install tcpdump -y
tcpdump -i br0 | grep ICMP
```

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

Переходим к настройке туннеля.
На Debian-RPi4:
```
ssh root@192.168.10.129 -o Tunnel=ethernet -w any:any
```

Тем временем на Kali-2022 и Debian-RPi4 появились новые интерфейсы tap0:
![](https://i.imgur.com/IVSUvP6.png)

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

Поднимем эти интерфейсы на обоих устройствах, а на Debian-RPi4 добавим его в "мост".
Debian-RPi4:
```
ip link set dev tap0 up
brctl addif br0 tap0
```
![](https://i.imgur.com/k35g2FR.png)

Kali-2022:
```
ip link set dev tap0 up
```
![](https://i.imgur.com/BEbTfsm.png)

Можно пробовать на Kali-2022 получить адрес по DHCP:
```
dhclient tap0
```
![](https://i.imgur.com/VXdylRv.png)

Проверка:
![](https://i.imgur.com/BYacCmI.png)

Успешно! Мы внутри сети! (и можем получить доступ, например, к pfSense)
![](https://i.imgur.com/AeYMomp.png)

Утилита tcpdump теперь также отрабатывает на Kali-2022.
![](https://i.imgur.com/SgxDtEp.png)

