2.8 KiB
Shell inversa con SSH
1. Scenario
Un host target esegue il servizio SSH sul proprio indirizzo IP non raggiungibile da Internet. Lo stesso host può però stabilire connessioni SSH verso Internet (es. via NAT).
2. Reverse-Shell
Una reverse-shell consente di aprire una shell sull’host target con una connessione via Internet da un determinato host bridge, eventualmente anche il proprio PC, una volta che dal target sia stabilito un tunnel SSH all’host bridge. Lo scopo del tunnel è di aprire una porta remota sull’host bridge che ruoti il traffico inviato a quella porta verso il servizio SSH del target.
ssh -NR IP-remoto:porta-remota:IP-locale:porta-locale bridge-host
L'IP-remoto e la porta-remota si riferiscono al bridge-host; se IP-remoto è localhost può essere omesso in quanto è il valore predefinito.
L'IP-locale e la porta-locale, nel caso di reverse-shell, specificano i riferimento al servizio SSH del target-host; pertanto i valori standard sono localhost e 22.
# NOTA-1: il servizio SSH su portale-stac (bridge) è attivo sulla porta 110.
# NOTA-2: il servizio SSH sul mini-pc (target) è attivo sulla porta 2222.
[camoroso@minis ~]$ ssh -NR 7022:127.0.0.1:110 -p 110 camoroso@www.portale-stac.it
# Connessione a portal-stac dalla propria postazione (PC)
[camoroso@localhost ~]$ ssh -p 110 camoroso@www.portale-stac.it
# Connessione al mini-pc (minis.internet) da portale-stac
[camoroso@www ~]$ ssh -p 7022 camoroso@localhost
Per accedere direttamente dal PC alla reverse-shell, il valore di IP-remoto dev’essere l’indirizzo o il nome dell’host bridge visibile da Internet e dev’essere disponibile il flusso entrante sulla porta remota 7022. Se questo condizioni sono soddisfatte, la reverse-shell dev’essere attivata con il comando seguente.
[camoroso@minis ~]$ ssh -NR www.portale-stac.it7022:127.0.0.1:110 -p 110 camoroso@www.portale-stac.it
[camoroso@localhost ~]$ ssh -p 7022 camoroso@www.portale-stac.it
Celestino Amoroso
celestino . amoroso @ gmail . com
