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

  • Работа 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 , я получаю доступ к оболочке от злоумышленника к жертве ,

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

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

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

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

1 ответ1

1

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

Вот ответы:

  • На жертве: 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 = порт, который прослушивает сервер для передачи данных на порт 5555 и затем на порт 22 жертвы.

3-я атака

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .