<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)