Pivotado de puertos con Chisel

Chisel es una herramienta muy útil para redigir puertos de una máquina a otra, la funcionalidad es similar a la proporciona ssh con su sistema de túneles, pero encapsulando los tuneles sobre un servicio http con websockets. La herramienta debe ser instalada en dos máquinas, una que hará de servidor y otra que hará de cliente.

Instalación de la herramienta

Para instalar la herramienta lo más simple es utilizar el onliner que tienen en su github

curl https://i.jpillora.com/chisel! | bash

Este comando instala el ejecutable en el bin path

Configuración del servidor

Primero, para las versiones más nuevas de chisel es necesario generar una clave para el servidor, muy fácil, hacemos:

chisel server --keygen archivo_clave.key

Una vez generado ya podemos ejecutar un servidor básico, por ejemplo con el siguiente comando:

chisel server --auth user:pass --port 4444 --keyfile archivo_clave.key --reverse

Aunque existe más parámetros pongo los básicos en el ejemplo, que son:

Configuración del cliente

Ahora explico brevemente el uso del cliente con un ejemplo, aunque el formato de definición de los túneles es equivalente al que se define en ssh.

chisel client --auth user:pass host.com:4444 R:8086:8888 ....

Los parámetros mostrados son:

Por último como se definen los túneles, por un lado tenemos los directos, cuyo formato corresponde a:

    <host-local>:<puerto-local>:<host-remoto>:<puerto-remoto>/<protocolo>

Para túneles inversos el formato sería:

    R:<interfaz-local>:<puerto-local>:<host-remoto>:<puerto-remoto>/<protocolo>

Para cualquier otra cosa chisel server y chisel client puede ser parametrizado con --help para ver más información

Última actualización: 27 de Septiembre de 2023 a las 12:51 (CET)