Saludos gente!!!
Hoy quería comentar una opción de ssh conocida como Local Port Forwarding es bastante útil y por ahí no muy conocida, en este caso la utilizaremos para hacer un reverse shell estando detrás de un router y sin tener permisos para abrir puertos.
Para comenzar vamos a hacer una breve explicación de que es el port forwarding, que es básicamente direccionar el trafico de un puerto a otro, lo que hace ssh es reenviar el trafico de un puerto local a través de un túnel hacia un puerto remoto y viceversa.
Bien creo que no soy muy bueno explicando y mi intención no es explicar como usar ssh sino como usar la opción -R para hacer un local port forwarding así que vamos a hacer un ejemplo de remote forwarding port (-L) para conectar a un irc para luego hacer un forward de verdad :D
Ahora vamos a usar la opción -R para hacer el local port forwarding para lograr un reverse shell. ¿que hace la opción -R?
por ejemplo con el -L le dices a ssh que reenvíe el tráfico que vaya a un puerto local hacia uno remoto, con -R le dices a ssh que reenvíe el tráfico que llegué a un puerto remoto hacia uno local. Suena bastante bien no :D
Pero olvide mencionar que los túneles solo escuchan a localhost (127.0.0.1) por lo tanto todavía nos falta editar el archivo ssh_config en otras distros es sshd_config en ssh.servidor agregar una opción al final del archivo /etc/ssh/ssh_config:
Bien ahora solo quedaría hacer el reverse shell como siempre :P solo con la particularidad de que en vez de poner tu ip pondrás la ip del ssh.servidor
que seria maso menos así:
en tu pc ponemos netcat a la escucha:
ip: ssh.servidor port:4444
con eso deberías tener tu reverse shell detrás de un router espero que haya entendido el procesamiento y les sea de utilidad ya en este caso nos es útil para hacer un reverse shell detrás de un router pero pueden darle un montón de utilidades, es cuestión de usar la imaginación.
bueno aca les dejo el link de un php reverse shell que es una de las que uso por si quiere practicar un saludo.
PHP Reverse Shell
nagat0
Hoy quería comentar una opción de ssh conocida como Local Port Forwarding es bastante útil y por ahí no muy conocida, en este caso la utilizaremos para hacer un reverse shell estando detrás de un router y sin tener permisos para abrir puertos.
Para comenzar vamos a hacer una breve explicación de que es el port forwarding, que es básicamente direccionar el trafico de un puerto a otro, lo que hace ssh es reenviar el trafico de un puerto local a través de un túnel hacia un puerto remoto y viceversa.
Bien creo que no soy muy bueno explicando y mi intención no es explicar como usar ssh sino como usar la opción -R para hacer un local port forwarding así que vamos a hacer un ejemplo de remote forwarding port (-L) para conectar a un irc para luego hacer un forward de verdad :D
bien con esto estaríamos haciendo un túnel para conectar a freenode solo bastaría poner en nuestro irssi " /connect 127.0.0.1 1337 " o ejecutar irssi -c 127.0.0.1 -p 1337 para conectar a través del túnel a freenode y así ocultar nuestra ip =)ssh -NL 1337:irc.freenode.net:6667 ssh.servidor -l usuario
Ahora vamos a usar la opción -R para hacer el local port forwarding para lograr un reverse shell. ¿que hace la opción -R?
por ejemplo con el -L le dices a ssh que reenvíe el tráfico que vaya a un puerto local hacia uno remoto, con -R le dices a ssh que reenvíe el tráfico que llegué a un puerto remoto hacia uno local. Suena bastante bien no :D
Pero olvide mencionar que los túneles solo escuchan a localhost (127.0.0.1) por lo tanto todavía nos falta editar el archivo ssh_config en otras distros es sshd_config en ssh.servidor agregar una opción al final del archivo /etc/ssh/ssh_config:
GatewayPorts yes
bien con eso los túneles escucharían a cualquier interfaz, ahora un ejemplo de como hacer el local port forwarding :
ssh -NR 1337:127.0.0.7:4444 ssh.servidor -l usuario
Lo cual quiere decir: “abre un túnel desde ssh.servidor en el puerto 4444 que reenvíe el tráfico hacia mi máquina (127.0.0.1) en el puerto 1337″.Bien ahora solo quedaría hacer el reverse shell como siempre :P solo con la particularidad de que en vez de poner tu ip pondrás la ip del ssh.servidor
que seria maso menos así:
en tu pc ponemos netcat a la escucha:
nc -nlvvp 1337y en la reverse shell solo quedaría poner:
ip: ssh.servidor port:4444
con eso deberías tener tu reverse shell detrás de un router espero que haya entendido el procesamiento y les sea de utilidad ya en este caso nos es útil para hacer un reverse shell detrás de un router pero pueden darle un montón de utilidades, es cuestión de usar la imaginación.
bueno aca les dejo el link de un php reverse shell que es una de las que uso por si quiere practicar un saludo.
PHP Reverse Shell
nagat0