Понимаем работу SSH - туннелей

  • Автор темы Rezus-
  • Дата начала
  • Участники 1

Rezus-

Administrator
Команда форума
22.05.2020
23
3
6
Туннели SSH или переадресация портов могут быть немного запутанными.

Есть три разных типа туннелей SSH:
1. Перенаправление локального порта: соединения от клиента SSH перенаправляются через сервер SSH на сервер назначения
2. Переадресация удаленного порта: соединения с SSH-сервера перенаправляются через SSH-клиент на целевой сервер.
3. Динамическая переадресация портов: соединения от различных программ перенаправляются через SSH-клиент на SSH-сервер, а затем на целевой сервер.


Перенаправление локального порта
Прежде всего я хотел бы отметить, что для выполнения перенаправления локального порта у вас должен быть SSH-доступ к вашему целевому или удаленному хосту. Если у вас нет прямого доступа по SSH, вы можете посмотреть раздел «Переадресация удаленного порта». Эта грубо нарисованная диаграмма с mspaint довольно хорошо объясняет, как выглядит перенаправление локального порта:

1607933555686.png
Для того что бы объяснить, что происходит слева направо в команде ssh -L 123: localhost: 456 remotehost, мы разберем это:
  • ssh - cама команда ssh
  • -L - указывает данный порт на стороне клиента, который будет перенаправлен на удаленную сторону
  • 123 - порт 123 на нашей машине (Kali) для получения перенаправленного порта с удаленного хоста
  • localhost - вперед к хосту. В данном случае это машина жертвы
  • 456 - порт 456 на целевой машине (жертве) для перенаправления на удаленный хост
  • remotehost - система, в которую мы хотим подключаться по SSH и перенаправлять порты.
  • -N - не один из флагов выше. Однако здесь говорится, что не следует выполнять команду. Полезно, если вы не хотите, чтобы терминал ssh открывался на сервере после успешного выполнения ssh.
Собирая все вместе, предположим, что на сервере работает веб-сайт на порту 8080, но вы можете получить к нему доступ только внутри сети из целевой сети. Используя произвольный порт, например 9000, в нашей системе Kali, мы можем использовать его для доступа к веб-сайту.
Команда для этого будет: ssh -L 9000:localhost:8080 victim

Как только туннель будет установлен, вы сможете получить доступ к этому новому веб-сайту через http: // localhost: 9000.
Другой пример - использование SSH-туннеля для обхода межсетевого экрана компании. Это будет вторая диаграмма сверху.
Допустим, вам очень нравится общаться на IRC-сервере Freenode, особенно на канале Offensive Security #offsec. Вы можете использовать переадресацию локального порта, чтобы обойти брандмауэр и получить доступ к серверу IRC.

Следующая команда сделает это: ssh -L
9000:irc.freenode.net:6667 user@server -N

Теперь мы можем использовать наш любимый клиент IRC и подключиться к Freenode через
/server localhost:9000 -j #offsec


Перенаправление удаленного порта
Злоумышленник должен использовать этот метод для переадресации портов, если у их жертвы нет доступа SSH. Этот метод пересылки полезен, если у вас ограниченная оболочка и вы хотите попытаться повысить привилегии до службы, не подключенной к Интернету.
С учетом вышесказанного, опять же, у нас есть эта грубо нарисованная диаграмма с mspaint, которая довольно хорошо объясняет, как выглядит перенаправление удаленного порта:
1607933987200.png
Для того что бы объяснить, что происходит слева направо в команде ssh -R 123: localhost: 456 remotehost, мы разберем это:

  • ssh - Сама команда ssh;
  • -R - указывает данный порт на удаленной стороне, который будет перенаправлен на сторону клиента;
  • 123 - порт 123 на целевой машине (жертве) для перенаправления на нашу машину Kali;
  • localhost - Вперед к хосту. В данном случае это наша машина Kali;
  • 456 - порт 456 - это порт, который мы хотим на нашей машине Kali;
  • remotehost - Наша машина Kali ;
  • -N - не один из флагов выше. Однако здесь говорится, что не следует выполнять команду. Полезно, если вы не хотите, чтобы терминал ssh открывался на сервере после успешного выполнения ssh.
Допустим, ваша цель (example.com) размещает веб-службу на порту 8080, которая не доступна напрямую вам, злоумышленнику (Kali), вы должны выполнить следующую команду ниже:

ssh -R 7000:localhost:8080 [email protected]

Когда вы запускаете указанную выше команду, example.com:8080 затем перенаправляется на вашу атакующую машину Kali через порт 7000. Теперь со своей машины Kali вы можете перейти по адресу http: // localhost: 7000 и перейти на example.com:8080,к которому Вы не имели доступ раньше.


Динамическая переадресация портов
Вы захотите использовать это, когда получите SSH-доступ к системе. Это также будет более полезно, если у вас есть доступ по SSH на корневом уровне.

При настройке динамического переадресации портов он превращает SSH-клиент в SOCKS-прокси.

Proxychains использует порт по умолчанию 9050.

Для настройки динамической пересылки портов рекомендуется следующая команда SSH:

ssh -f -N -D 9050 user@victim_1.com

Proxychains по умолчанию должны работать на порту 9050. Однако, если вы хотите использовать другой порт в приведенной выше команде, вам нужно будет отредактировать файл conf, расположенный в /etc/proxychains.conf, или просто ввести locate proxychains.conf

Отсюда мы можем использовать nmap для сканирования нашей немаршрутизируемой цели №2 через прокси-цепи nmap target_2.
 

Об LS-LA

  • Мы, группа единомышленников, основная цель которых повышать уровень знаний и умений.
    Не забывая о материальном благополучии каждого)

About LS-LA

  • We, a group of like-minded people, whose main goal is to increase the level of knowledge and skills.
    Not forgetting about everyone’s material well-being)

Быстрая навигация

Пользовательское меню