Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
BinProxy — BinProxy es un proxy para conexiones TCP arbitrarias. Puede definir formatos de mensajes personalizados usando la gema BinData. | Kitploit
Herramientas/GitHubGitHub/nccgroup/binproxy
Sniffing y Análisis de PaquetesProxies Web e InterceptaciónSeguridad de RedesPruebas de Penetración
GitHubnccgroup/binproxy

BinProxy

BinProxy es un proxy para conexiones TCP arbitrarias. Puede definir formatos de mensajes personalizados usando la gema BinData.

Ver Repositorio
1764425hace 8 añosRevisado por Kitploit
Sitio web

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

Resumen

BinProxy es un proxy para conexiones TCP arbitrarias. Puede definir formatos de mensaje personalizados usando la gema BinData.

Instalación

Requisitos previos

  • Ruby 2.3 o posterior
  • Se necesitan un compilador C, cabeceras de Ruby, etc., para compilar varias dependencias.
    • En Ubuntu, sudo apt install build-essential ruby-dev debería ser suficiente.
    • Si has instalado un Ruby personalizado (por ejemplo, con RVM), probablemente ya tengas lo necesario.
  • El binario openssl para --tls sin un certificado/clave explícito.
  • Para construir la interfaz de usuario, node.js y npm. (No necesario en tiempo de ejecución)

Desde Rubygems

gem install binproxy

Puede que necesites usar sudo, dependiendo de tu instalación de Ruby.

Desde el código fuente

git clone https://github.com/nccgroup/BinProxy.git binproxy
cd binproxy

# Install ruby dependencies.
# Depending on your setup, one or both of these may require sudo.
gem install bundler && bundle

# The UI is built with a webpack/babel toolchain:
(cd ui && npm install) \
  && rake build-ui

# Confirm that everything works
# run.sh sets up the environment and passes all args to binproxy
./run.sh --help

Para construir e instalar el paquete gem:

gem build binproxy.gemspec

# Again, you may need sudo here
gem install binproxy-1.0.0.gem

¡Los informes de errores sobre problemas de instalación son bienvenidos!

Uso

Uso básico

  1. Ejecuta binproxy sin argumentos.
  2. Navega a http://localhost:4567/
  3. Introduce nombres de host o direcciones IP y puertos locales y remotos, y haz clic en 'update'
  4. Apunta un cliente al servicio local y observa cómo fluyen los paquetes.

Banderas de línea de comandos

Consulta --help para la lista completa, pero en resumen:

binproxy -c <class> [<local-host>] <local-port> <remote-host> <remote-port>

Si omites el argumento -c, se muestra un volcado hexadecimal simple.

Si omites el host local, binproxy asume localhost.

Con las opciones --socks-proxy o --http-proxy, el host y puerto remotos se determinan dinámicamente y no deben especificarse.

Ejemplos

# Proxy from localhost:9000 -> example.com:9000
binproxy localhost 9000 example.com 9000

# Act as a SOCKS proxy on localhost:1080
# MITM and unwrap TLS on the proxied traffic, using a self-signed cert and key
binproxy -S --tls 1080

# "Poor substitute for Burp" mode:
#
# HTTP proxy; MITM TLS w/ pre-generated cert; simple header parsing
# Note: this will only work on HTTPS traffic, not plain HTTP!
# If you're working with the source repo, you generate the certs with:
#   rake makecert[example.com]
# And then import certs/ca-cert.pem into your browser or OS's trust store.
binproxy -H --tls \
  --tls-cert certs/example.com-cert.pem \
  --tls-key certs/example.com-key.pem \
  --class-name DumbHttp::Message \
  localhost 8080

Personalización

Por defecto, el proxy utiliza la clase incorporada RawMessage, que simplemente te da un volcado hexadecimal de cada mensaje (asumiendo una relación 1:1 entre mensajes y paquetes TCP).

Puedes ver la información del protocolo analizado especificando una subclase de BinData::Record† con el argumento de línea de comandos --class.

También puedes definir lo siguiente en tu clase:

def summary
  # return a single-line description of this record
end

# currently supported options are
#   - nil : use default display
#   - "anon" : for structs, show contents directly
#   - "hex" : for numbers, display as 0x1234ABCD
#   - "hexdump" : for strings, display like `hexdump -C`
default_parameter display_as: "..."

# TODO: document state stuff
def self.initial_state
end

def current_state
end

def update_state
end

† Técnicamente, cualquier subclase de BinData::Base funcionará.

Proxy dinámico

Por defecto, BinProxy retransmite todo el tráfico a un host y puerto ascendente estático. También se puede configurar para actuar como un proxy SOCKS (v4 o v4a) o HTTP con las banderas --socks-proxy y --http-proxy, respectivamente.

Nota: Actualmente, el proxy HTTP solo soporta conexiones tunelizadas con el verbo HTTP CONNNECT; no puede proxyizar solicitudes HTTP sin procesar como GET, POST, etc. En la práctica, esto significa que el tráfico HTTPS funcionará, pero el tráfico HTTP simple no, a menos que el cliente soporte una bandera para forzar el túnel, como curl -p.

TLS / SSL

Usa la bandera --tls para desenvolver el cifrado TLS antes de procesar los mensajes. Por defecto, BinProxy generará un certificado autofirmado. Puedes especificar archivos PEM que contengan un certificado y una clave con --tls-cert y --tls-key. (Si has clonado el repositorio fuente, usa rake makecert[example.com] para generar una CA estática y un certificado con el nombre de host apropiado).

Problemas conocidos

  • La funcionalidad de proxy HTTP se armó a última hora y no es particularmente robusta.

Consulta también el archivo TODO para ideas aleatorias y elementos deseados.

Créditos

La funcionalidad principal del proxy TCP de BinProxy se originó en un proxy de propósito especial escrito por Sean Devlin. Rusty Burchfield contribuyó con la interfaz de usuario HTML para ese proxy. Aunque el código ha cambiado lo suficiente como para que ya no se les pueda culpar de los errores actuales, es probable que BinProxy no existiría sin el trabajo de ambos.

Descargar herramienta