alphasec
Bash / Unix protip 0023
in 𝕏

ssh -R :8080:localhost:80 aptm.in - udostępnij lokalny port 80 na aptm.in:8080

tty1 · bash
$ ssh -R :8080:localhost:80 aptm.in
#SSH#Linux#Windows#RedTeam#BlueTeam#Pivoting

Opcja -R pozwala tunelować port TCP z wewnętrznej sieci do zdalnego hosta. Składnia jest następująca:

        -R [bind_address:]port:host:hostport
        -R [bind_address:]port:local_socket
        -R remote_socket:host:hostport
        -R remote_socket:local_socket
        -R [bind_address:]port

czyli -R 8080:localhost:80 uruchomi tunel na aptm.in:8080 do localhost:80. Oczywiście zamiast localhost:80 mógłby być inny host (w szczególności dostępny tylko wewnętrznie), który zostanie udostępniony zdalnie (w szczególności do Internetu).

Jak to działa — krok po kroku

Rozłóżmy onelinera na czynniki pierwsze:

no

(wartość domyślna) - uruchamiaj takie tunelowanie wyłącznie na 127.0.0.1, co powoduje, że tylko serwer ma dostęp do drugiej końcówki tunelu,

yes

uruchamiaj takie tunelowanie na wszystkich interfejsach sieciowych (binduj na 0.0.0.0) w wyniku czego zdalne hosty mogą również skorzystać,

clientspecified

(polecana przeze mnie;) - niech klient zadecyduje na jakich adresach tunel ma nasłuchiwać, a zatem:

  • -R 127.0.0.1:8080:localhost:80 - słuchaj tylko na 127.0.0.1
  • -R 8080:localhost:80 - słuchaj tylko na 127.0.0.1 - jak wyżej
  • -R 0.0.0.0:8080:localhost:80 - słuchaj na wszystkich interfejsach
  • -R :8080:localhost:80 - słuchaj na wszystkich interfejsach - jak wyżej

← poprzedni protip 0022 ••• Wszystkie protipy następny → protip 0024
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: