File Tunnel: comunica dos hosts a través de un fichero compartido

Hoy traemos un programilla bastante útil que establece conexiones TCP a través de ficheros, muy útil en un ejercicio en el que queremos comunicar un Host A con un Host B y hay un firewall en medio que nos lo impide, pero ambos hosts tienen acceso a una misma carpeta compartida:

File Tunnel (muy original el nombre) inicia un listener TCP y, cuando se recibe una conexión, escribe los datos TCP en un archivo. Este mismo archivo es leído por el programa homólogo, que establece una conexión TCP y luego reenvía los datos TCP. Para evitar que el archivo compartido crezca indefinidamente, se elimina cada vez que supera los 10 MB.

Host A

ft.exe --tcp-listen 127.0.0.1:5000 --write "\\server\share\1.dat" --read "\\server\share\2.dat"

Host B

ft.exe --read "\\server\share\1.dat" --tcp-connect 127.0.0.1:3389 --write "\\server\share\2.dat"

Ahora en el Host A, configura el cliente para conectarse: 127.0.0.1:5000

Así es como se ve File Tunnel cuando está en funcionamiento:

Otra opción interesante es levantar un túnel TCP a través de RDP (similar a un túnel SSH). Por ejemplo, nos gustaría conectarnos a un servicio remoto (por ejemplo, 192.168.1.50:8888) pero solo tenemos acceso al Host B mediante RDP. File tunnel al rescate:

Host A

ft.exe --tcp-listen 127.0.0.1:5000 --write "C:\Temp\1.dat" --read "C:\Temp\2.dat"

Ejecuta un cliente RDP y asegúrate que las unidades locales están compartidas como aquí.

Host B

ft.exe --read "\\tsclient\c\Temp\1.dat" --tcp-connect 192.168.1.50:8888 --write "\\tsclient\c\Temp\2.dat"

Ahora en el Host A, podemos conectar a 127.0.0.1:5000 y será reenviado a 192.168.1.50:8888

Proyectohttps://github.com/fiddyschmitt/File-Tunnel

Comentarios