Tunel de dos vías con netcat

Feb 20, 2011 No Comments by

A veces es necesario realizar una tunel tcp de dos vías (TCP Two-way tunnelling) para enrutear una conexión “momentaria” de un host a través de otro host.

Hay muchas formas de resover esta problema (con iptables, tuneles ssh, etc.) pero una forma rápida y con pocos privilegios es utilizando un pipe y netcat.

mkfifo /tmp/tmp-pipe
nc -l 10022  0 < /tmp/tmp-pipe | nc remote-host.com 22 1> /tmp/tmp-pipe

A sí levantamos un listen socket en el puerto 10022 que realmente nos llevará al host “remote-host.com” puerto 22.

Es más, podriamos dejear que el puerto 10022 (por decir uno) apunte localmente al puerto 22 (ssh).

mkfifo /tmp/tmp-pipe
nc -l 10022  0 < /tmp/tmp-pipe | nc localhost 22 1> /tmp/tmp-pipe

Ahora si nos autentificamos por ssh (desde un equipo remoto) al puerto 10022, podemos ver que en los logs queda que la conexión es proveniente de localhost :P

Referencia
http://www.skullsecurity.org/wiki/index.php/Linux_Commands#Exploitation

GNU/Linux, Hacking Ético

About the author

Ingeniero en Informática, Oracle Certified Master Java EE 6 Enterprise Architect, Oracle Certified Professional Java Programmer. Experto en distintas ramas de la computación y otras "yerbas" xD. Si te gusto este post, sígueme en @deerme_org, escríbeme a info AT deerme.org o contactame por linkedin.
No Responses to “Tunel de dos vías con netcat”

Leave a Reply


one * 9 =