Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
bore — Túnel TCP simple en Rust que expone puertos locales a un servidor remoto, evitando firewalls NAT. Ligero, autoalojable y fácil de instalar. | Kitploit
Herramientas/GitHubGitHub/ekzhang/bore
Utilidades de Propósito GeneralSeguridad de Redes
GitHubekzhang/bore

bore

Túnel TCP simple en Rust que expone puertos locales a un servidor remoto, evitando firewalls NAT. Ligero, autoalojable y fácil de instalar.

Ver RepositorioSitio web
11.4k5143hace 7 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

bore

Build status Crates.io

Un túnel TCP moderno y simple en Rust que expone puertos locales a un servidor remoto, evitando los cortafuegos de conexión NAT estándar. Eso es todo lo que hace: ni más, ni menos.

Video demo

root@kitploit:~
# Instalación (requiere Rust, ver alternativas abajo)
cargo install bore-cli

# En tu máquina local
bore local 8000 --to bore.pub

Esto expondrá tu puerto local en localhost:8000 a internet pública en bore.pub:<PORT>, donde el número de puerto se asigna aleatoriamente.

Similar a localtunnel y ngrok, excepto que bore está diseñado para ser una herramienta altamente eficiente y sin opiniones para reenviar tráfico TCP que es simple de instalar y fácil de autoalojar, sin lujos adicionales.

(bore suma alrededor de 400 líneas de código Rust seguro y asíncrono y es trivial de configurar — solo ejecuta un único binario para el cliente y el servidor.)

Instalación

macOS

bore está empaquetado como una fórmula central de Homebrew.

root@kitploit:~
brew install bore-cli

Linux

Arch Linux

bore está disponible en el AUR como bore.

root@kitploit:~
yay -S bore # o tu asistente AUR favorito

Gentoo Linux

bore está disponible en el overlay gentoo-zh.

root@kitploit:~
sudo eselect repository enable gentoo-zh
sudo emerge --sync gentoo-zh
sudo emerge net-proxy/bore

Distribución Binaria

De lo contrario, la forma más fácil de instalar bore es desde binarios precompilados. Estos están disponibles en la página de lanzamientos para macOS, Windows y Linux. Solo descomprime el archivo apropiado para tu plataforma y mueve el ejecutable bore a una carpeta en tu PATH.

Cargo

También puedes compilar bore desde el código fuente usando Cargo, el gestor de paquetes de Rust. Este comando instala el binario bore en una ruta accesible para el usuario.

root@kitploit:~
cargo install bore-cli

Docker

También publicamos imágenes Docker versionadas para cada lanzamiento. La imagen está construida para una arquitectura AMD de 64 bits. Están etiquetadas con la versión específica y te permiten ejecutar el binario bore enlazado estáticamente desde un contenedor mínimo "scratch".

root@kitploit:~
docker run -it --init --rm --network host ekzhang/bore <ARGS>

Uso Detallado

Esta sección describe el uso detallado del comando CLI bore.

Reenvío Local

Puedes reenviar un puerto en tu máquina local usando el comando bore local. Este toma un argumento posicional, el puerto local a reenviar, así como una opción obligatoria --to, que especifica la dirección del servidor remoto.

root@kitploit:~
bore local 5000 --to bore.pub

Opcionalmente, puedes pasar una opción --port para elegir un puerto específico en el remoto a exponer, aunque el comando fallará si este puerto no está disponible. Además, pasar --local-host te permite exponer un host diferente en tu red de área local además de la dirección de loopback localhost.

Las opciones completas se muestran a continuación.

root@kitploit:~
Inicia un proxy local hacia el servidor remoto

Uso: bore local [OPCIONES] --to <TO> <PUERTO_LOCAL>

Argumentos:
  <PUERTO_LOCAL>  El puerto local a exponer [env: BORE_LOCAL_PORT=]

Opciones:
  -l, --local-host <HOST>  El host local a exponer [predeterminado: localhost]
  -t, --to <TO>            Dirección del servidor remoto para exponer puertos locales [env: BORE_SERVER=]
  -p, --port <PORT>        Puerto opcional en el servidor remoto a seleccionar [predeterminado: 0]
  -s, --secret <SECRET>    Secreto opcional para autenticación [env: BORE_SECRET]
  -h, --help               Muestra la ayuda

Autoalojamiento

Como se mencionó en las instrucciones de inicio, hay una instancia pública del servidor bore ejecutándose en bore.pub. Sin embargo, si quieres autoalojar bore en tu propia red, puedes hacerlo con el siguiente comando:

root@kitploit:~
bore server

¡Eso es todo lo que se necesita! Después de que el servidor comience a ejecutarse en una dirección determinada, puedes actualizar el comando bore local con la opción --to <DIRECCIÓN> para reenviar un puerto local a este servidor remoto.

Es posible especificar diferentes direcciones IP para el servidor de control y para los túneles. Esta configuración es útil para casos donde podrías querer que el servidor de control esté en una red privada mientras permites conexiones de túnel a través de una interfaz pública, o viceversa.

Las opciones completas para el comando bore server se muestran a continuación.

root@kitploit:~
Ejecuta el servidor proxy remoto

Uso: bore server [OPCIONES]

Opciones:
      --min-port <PUERTO_MIN>          Número de puerto TCP mínimo aceptado [env: BORE_MIN_PORT=] [predeterminado: 1024]
      --max-port <PUERTO_MAX>          Número de puerto TCP máximo aceptado [env: BORE_MAX_PORT=] [predeterminado: 65535]
  -s, --secret <SECRET>              Secreto opcional para autenticación [env: BORE_SECRET]
      --bind-addr <DIRECCIÓN_DE_ENLACE>  Dirección IP a la que vincularse, los clientes deben alcanzar esta [predeterminado: 0.0.0.0]
      --bind-tunnels <ENLACE_TÚNELES>  Dirección IP donde los túneles escucharán, por defecto es --bind-addr
  -h, --help                         Muestra la ayuda

Protocolo

Hay un puerto de control implícito en 7835, utilizado para crear nuevas conexiones bajo demanda. En la inicialización, el cliente envía un mensaje "Hello" al servidor en el puerto de control TCP, solicitando hacer proxy de un puerto remoto seleccionado. El servidor responde con un acuse de recibo y comienza a escuchar conexiones TCP externas.

Cada vez que el servidor obtiene una conexión en el puerto remoto, genera un UUID seguro para esa conexión y lo envía de vuelta al cliente. El cliente entonces abre un flujo TCP separado hacia el servidor y envía un mensaje "Accept" que contiene el UUID en ese flujo. El servidor luego hace proxy de las dos conexiones entre sí.

Por razones de corrección y para evitar fugas de memoria, las conexiones entrantes solo son almacenadas por el servidor durante un máximo de 10 segundos antes de ser descartadas si el cliente no las acepta.

Autenticación

En un despliegue personalizado de bore server, puedes requerir opcionalmente un secreto para evitar que otros usen el servidor. El protocolo requiere que los clientes verifiquen la posesión del secreto en cada conexión TCP respondiendo desafíos aleatorios en forma de códigos HMAC. (Este secreto solo se usa para el handshake inicial, y ningún tráfico adicional está cifrado por defecto.)

root@kitploit:~
# en el servidor
bore server --secret mi_cadena_secreta

# en el cliente
bore local <PUERTO_LOCAL> --to <TO> --secret mi_cadena_secreta

Si no se proporciona un secreto en los argumentos, bore también intentará leer desde la variable de entorno BORE_SECRET.

Agradecimientos

Creado por Eric Zhang (@ekzhang1). Licenciado bajo la licencia MIT.

El autor agradece a los contribuyentes y mantenedores del proyecto Tokio por hacer posible escribir servicios de red ergonómicos y eficientes en Rust.

Descargar herramienta