# Практика №4. Revers Shells & Reverse SSH connections ## Построить инфраструктуру в системе EVE-NG (есть возможность ее импортировать) Была импортирована инфрастуктура в pnte-lab. ![](https://i.imgur.com/SebN4TC.jpg) --- ## Настроить каждое устройство в соответсвии со следующими параметрами: * Kali-2021, Win-7, Win-10, Debian - получение адреса DHCP * устройство RPi-4 - использовать как “мостовое” устройство (необходимо для SSH tunneling L2) Так же необходимо было настроить VLAN'ы. Устройство с Windows 7 Должно находиться в 10 влане, а устройство с Windows 10 в 20 влане. Настройка вланов бужет производиться на pfsense с устройства устройства с Windows. Для этого в браузере нужно открыть ip-адрес межсетевого экрана и во вкладке Interfaces выбрать vlans, в котором эти вланы необходимо создать. ![](https://i.imgur.com/hDHjyo1.png) ![](https://i.imgur.com/ZXDcuyk.png) После их создания нужно добавить их на интерфейсы. ![](https://i.imgur.com/y8MnMHQ.png) Затем в правиоах нужно добавить статическую конфигурацию с указанием маски 24 для каждого влана. ![](https://i.imgur.com/3Os36Ny.png) Затем в настройках dhcp сервера для каждого интерфейса нужно нажать галочку на его разрешение на интерфейсе и указать диапазон адресов. ![](https://i.imgur.com/c1iJhLB.png) ![](https://i.imgur.com/tobvV90.png) ![](https://i.imgur.com/0iGtQFP.png) И под конец в фаерволле нужно настроить правила,в котором нужно выбрать соответствующий интерфейс для каждого влана. ![](https://i.imgur.com/eugG1pt.png) На этом настройка вланов на pfsense закончена. Затем необходимо настроить вланы на Switch. Открыв его и прописав команды ena и conf t, был произведен переход в конфигурационный режим. Далее были созданы 10 и 20 вланы. ![](https://i.imgur.com/alSQIst.png) Затем на интерфейсах они были подняты. Интерфейс e0/2 идет к устройству с win 7, а интерфейс e0/3 ведет к устройству c win 10. ![](https://i.imgur.com/RTPdNVM.png) Затем на интерфейсе e0/0, который идет к устройству с Debian, настраивается транковый мод, чтобы через него шли тегированные кадры всех вланов. ![](https://i.imgur.com/LcI9zUh.png) Далее нужно открыть Debian и с помощью команды dhclient он должен получить ip-адрес. ![](https://i.imgur.com/y9QoirL.png) Затем нужно установить пакет bridge-utils, который понадобится для создания моста. ![](https://i.imgur.com/N6SogEw.png) Далее нужно перейти в файл /etc/network/interfaces с помощью редактора nano, в котром необходимо настроить интерфейсы и мост, который нужен для соединения различных сегментов сети. ![](https://i.imgur.com/6Uurt6P.png) Как видно, мост поднялся и интерфейсы настроены. ![](https://i.imgur.com/QGjoDfB.png) ### **Reverse SSH** Для проведения удаленного подключения Kali Linux к устройству с Windows 10, будет использован Debian для создания тоннеля. Для этого нужно нужно прописать команду `ssh -R 3395:172.16.20.12:3389 user@192.168.186.130` где -R означает удаленное подключение, 3395 - любой выбранный порт, 172.16.20.12 - ip-адрес windows 10, 3389 - порт подключения, user - Имя пользователя, 192.168.186.130 - ip адрес устройства с Kali Linux. Как видно, оно произошло успешно и подключение к кали линуксу произошло. ![](https://i.imgur.com/X4xn7HE.png) Так же необходимо включить на Windows 10 удаленный рабочий стол, чтобы можно было к ней подключиться. ![](https://i.imgur.com/CDFI6Ur.png) Далее с помощью команды `sudo xfreerdp /u:user /p:eve@123 /v:127:0.0.1:3395` нужно подключиться удаленно к устройству с Windows 10. Подключение проходит успешно. ![](https://i.imgur.com/QS5DwKm.png) ![](https://i.imgur.com/hNEHX7F.png) В отдельном окне открывается рабочий стол. ![](https://i.imgur.com/MXvTsul.png) ### **L3-туннелирование** Для осуществления L3 Туннелирования, нужно сначала включить ssh для проведения туннелирования. ![](https://i.imgur.com/7mocH5v.png) Затем нужно открыть файл /etc/ssh/sshd.config и нужно включить PermitTunnel для туннелирования и PermitRootLogin Для лоигрования от рута. ![](https://i.imgur.com/fAZHgR3.png) ![](https://i.imgur.com/2nqgwtG.png) ![](https://i.imgur.com/0nlLjYl.png) Далее нужно перезапустить ssh и поставить пароль для root, у которого изначально не было пароля в системе, с помозью команды passwd root. ![](https://i.imgur.com/1MP6iam.png) На Debian нужно поднять туннель, используя флаг -w, где 0:0 номера интерфейсов на локальной и удаленной машине. В качестве ip адреса используется ip адрес кали линукса ![](https://i.imgur.com/o9WPL1V.png) Введя на кали команду ip a, можно убедиться, что появился тоннель tun0, который раннее был создан. ![](https://i.imgur.com/viwwZtJ.png) Далее, чтобы концы тоннеля могли содеиниться, нужно добавить ip адреса. На kali linux буде добавлен ip адрес 10.8.0.1 на интерфейс tun0. ![](https://i.imgur.com/5Ee8Tid.png) Затем он поднимается командой ip link set tun0 up. И как можно заметить, он перешел в состояние Unknown, что уже не DOWN. ![](https://i.imgur.com/oGDJSaf.png) Соответственно, аналогичным образом нужно поднять тоннель и на Debian машине. ![](https://i.imgur.com/6bzoLgY.png) Так же добавляется ip 10.8.0.2 на интерфейс tun0, а затем поднимается. Все проходит успешно. ![](https://i.imgur.com/sw2llJy.png) ![](https://i.imgur.com/PojEyqi.png) Затем нужно прописать статическую маршрутизацию, чтобы новый ip адрес на Debian так же был известен в локальной сети. ![](https://i.imgur.com/hbBJIc3.png) Далее следует добавить сеть вланов, т.к. это другие сети и о них могут не знать. Можно проверить, что все успешно добавилось командой ip route. ![](https://i.imgur.com/fW4ljPT.png) ![](https://i.imgur.com/TUySxgR.png) Так же необходимо ввести на дебиане следующую команду, которая будет шифровать адреса при выходе в Интернет. ![](https://i.imgur.com/0ZH8fZv.png) Чтобы подключиться к windows 10 на ней стоит выключить всю защиту. После чего можно к ней подключатьсяю через xfreeerdp, указа в качестве логина user, пароля eve@123, ip-адрес windows 10 и порт. ![](https://i.imgur.com/uvwmRKU.png) ![](https://i.imgur.com/ha0D8fi.png) После подключения открывается отдельное окно, транслирующее все, что происходит на рабочем столе Windows 10. Таким образом, туннелирование L3 уровня прошло успешно. ![](https://i.imgur.com/EB6zNZV.png) ### **L2-туннелирование** Для начала нужно проверить как проходит пинг на Windows 10. Для этого можно воспользоваться командой tcpdump с grep ICMP, который будет смотреть только пинги протокола ICMP. **tcpdump** - инструмент командной строки, который способен перехватывать и анализировать сетевой трафик. ![](https://i.imgur.com/MAIkfau.png) На wi10 нужно начать пинговать восьмерки, и, как видно, tcpdump их успешно отображает. ![](https://i.imgur.com/d2UgYMo.png) ![](https://i.imgur.com/aT6feMZ.png) Для создания тоннеля необходимо использовать ssh с указанием ip адреса устройства, с которым этот тоннель будет создан, в нашем случай ip адрес кали линукса, флаг -o указывает, что будет использоваться канальный уровень L2, akfu -w создаст любой локальный и удаленный порт. ![](https://i.imgur.com/vAdsCrI.png) далее сочетанием клавиш открыв новое окно ctrl + alt + f2 и убедиться, что был создан интерфейс tap0. ![](https://i.imgur.com/HTVMLS7.png) Так же интерфейс tap0 был создан и на кали линуксе. ![](https://i.imgur.com/WIl868s.png) Далее командой brctl show можно посмотреть bridge-интерфейсы на устройстве. Как видно, созданный интерфейс необходимо добавить. ![](https://i.imgur.com/E8cLcqj.png) Добавляется это командой drctl add br0 tap0. Интерфейс был успешно добавлен. ![](https://i.imgur.com/9ql20ap.png) Теперь этот интерфейс нужно поднять командой ip link set dev tap0. Поднимается он успешно. ![](https://i.imgur.com/wsSvc5j.png) Аналогично поднимается на кали линуксе. ![](https://i.imgur.com/G6iWIuy.png) Для получения ip адреса на интерфейсе, нужно прописать dhclient tap0. ![](https://i.imgur.com/GjNapBG.png) Теперь можно запустить tcpdump на кали линукс, он определяет протокол DTP. ![](https://i.imgur.com/oaSPQaK.png) С помощью протокола CDP было обнаружено устройство Switch, которое как раз присутствует в сети в инфрастуктуре. А так же можно увидеть активность на межсетевом экране pfsense. ![](https://i.imgur.com/s77BIIl.png) ![](https://i.imgur.com/3MjBo6t.png)