SSH Tunneling

SSH, Secure SHell.

Local port forwarding

Atacante (puerto local) ---> Pivoting (SSH) ---> Destino (puerto)

# Local port forwarding
ssh -L <local-port>:<destination-IP-address>:<destination-port> <user>@<IP-address> -fN

# Ejemplo para acceder al puerto 80 de la máquina a la cual deseamos pivotear
ssh -L 8000:<destination-IP-address>:80 <user>@<IP-address> -fN
Navegador web: http://127.0.0.1:8000

# Ejemplo de acceso a un servidor web ejecutándose internamente en el 
# puerto 80, es decir, solo accesible localmente en el servidor (127.0.0.1:80)
ssh -L 8000:127.0.0.1:80 <user>@<IP-address> -fN
Navegador web: http://127.0.0.1:8000
  • -L = local port forwarding.

  • <local-port> = puerto local de nuestra máquina (atacante).

  • <destination-IP-address> = dirección IP de la máquina de destino a la cual deseamos pivotear.

  • <destination-port> = puerto de la máquina de destino a la cual deseamos pivotear.

  • <user> = usuario de conexión SSH de la máquina objetivo que nos permite pivotear.

  • <IP-address> = dirección IP de la máquina objetivo que nos permite pivotear.

  • -f = pone en background el proceso una vez que se haya establecido con éxito la sesión SSH.

  • -N = sin ejecución de comandos remotos.

Dynamic port forwarding (socks / proxy)

Atacante (puerto local) ---> Pivoting (SSH) ---> Cualquier destino

  • -D = dynamic port forwarding.

  • <local-port> = puerto local de nuestra máquina (atacante).

  • <user> = usuario de conexión SSH de la máquina objetivo que nos permite pivotear.

  • <IP-address> = dirección IP de la máquina objetivo que nos permite pivotear.

  • -f = pone en background el proceso una vez que se haya establecido con éxito la sesión SSH.

  • -N = sin ejecución de comandos remotos.

Remote port forwarding

Atacante ---> Pivoting (SSH) ---> Destino (puerto)

Atacante (puerto local) <--- Pivoting (SSH) <--- Destino

  • -R = remote port forwarding.

  • <local-port> = puerto local de nuestra máquina (atacante).

  • <destination-IP-address> = dirección IP de la máquina de destino a la cual deseamos pivotear.

  • <destination-port> = puerto de la máquina de destino a la cual deseamos pivotear.

  • <user> = usuario de conexión SSH de nuestra máquina (atacante).

  • <attacker-IP-address> = dirección IP de nuestra máquina (atacante).

  • -f = pone en background el proceso una vez que se haya establecido con éxito la sesión SSH.

  • -N = sin ejecución de comandos remotos.

Creación de llaves SSH

sshuttle

  • <user> = usuario de conexión SSH a la máquina objetivo.

  • <IP-address> = dirección IP de la máquina objetivo que nos permite pivotear.

  • <CIDR> = red a la cual queremos pivotear y tiene acceso la máquina objetivo.

  • -x = permite excluir la dirección IP de la máquina que nos permite pivotear, esto es necesario cuando esta es parte de la subred, a la cual, se está intentando obtener acceso.

Última actualización

¿Te fue útil?