Finalmente sono riuscito a farlo ssh
solo con :
- avvia un proxy SOCKS locale sul tuo computer client (usando
ssh -D
)
- connettersi al server remoto e impostare un port forwarding inverso (
ssh -R
) sul proxy SOCKS locale
- configurare il software server per utilizzare il proxy inoltrato
1. Avviare il proxy calze locale in background
Connettersi a localhost tramite SSH e aprire il proxy SOCKS sulla porta 54321.
$ ssh -f -N -D 54321 localhost
-f
esegue SSH in background.
Nota: se si chiude il terminale da cui è stato avviato il comando, il processo proxy verrà interrotto. Ricorda anche di ripulire dopo te stesso chiudendo la finestra del terminale quando hai finito o uccidendo il processo da solo!
2. connettersi al server remoto e impostare il port forwarding inverso
Associare la porta remota 6666 alla porta locale 54321. Ciò rende il proxy dei calzini locali disponibile al sito remoto sulla porta 6666.
$ ssh root@target -R6666:localhost:54321
3. configurare il software server per utilizzare il proxy inoltrato
Basta configurare yum, apt, curl, wget o qualsiasi altro strumento che supporti SOCKS per usare il proxy 127.0.0.1:6666
.
Ecco! Buon tunneling!
4. facoltativo: configurare il software server per utilizzare il proxy inoltrato
Ho scoperto che l'installazione proxychains
sul server di destinazione rende le cose molto più semplici.
Consente a qualsiasi software di utilizzare il proxy SOCKS (pari telnet
), utilizzando un LD_PRELOAD
trucco per reindirizzare le richieste TCP e DNS da comandi arbitrari in un proxy.
Installazione /etc/proxychains.conf
per utilizzare il proxy di calzini inoltrato:
[ProxyList]
# SSH reverse proxy
socks5 127.0.0.1 6666
Tunnel di strumenti arbitrari (che utilizzano TCP) con proxychains
:
$ proxychains telnet google.com 80
$ proxychains yum update
$ proxychains apt-get update