Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
BinProxy — BinProxy é um proxy para conexões TCP arbitrárias. Você pode definir formatos de mensagem personalizados usando a gem BinData. | Kitploit
Ferramentas/GitHubGitHub/nccgroup/binproxy
Sniffing e Análise de PacotesProxies Web e InterceptaçãoSegurança de RedeTestes de Penetração
GitHubnccgroup/binproxy

BinProxy

BinProxy é um proxy para conexões TCP arbitrárias. Você pode definir formatos de mensagem personalizados usando a gem BinData.

Ver Repositório
17644há 8 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

Visão Geral

BinProxy é um proxy para conexões TCP arbitrárias. Você pode definir formatos de mensagem personalizados usando a gem BinData.

Instalação

Pré-requisitos

  • Ruby 2.3 ou posterior
  • Um compilador C, cabeçalhos do Ruby, etc., são necessários para compilar várias dependências.
    • No Ubuntu, sudo apt install build-essential ruby-dev deve resolver.
    • Se você instalou um Ruby personalizado (ex.: com RVM), provavelmente já tem o que precisa.
  • Binário openssl para --tls sem um certificado/chave explícito.
  • Para construir a interface, node.js e npm. (Não necessário em tempo de execução)

A partir do Rubygems

root@kitploit:~
gem install binproxy

Pode ser necessário usar sudo, dependendo da sua instalação do Ruby.

A partir do código fonte

root@kitploit:~
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 o pacote gem:

root@kitploit:~
gem build binproxy.gemspec

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

Relatos de bugs sobre problemas de instalação são bem-vindos!

Uso

Uso Básico

  1. Execute binproxy sem argumentos.
  2. Navegue até http://localhost:4567/
  3. Insira os nomes de hosts locais e remotos ou endereços IP e portas, e clique em 'update'
  4. Aponte um cliente para o serviço local e observe os pacotes fluírem.

Flags de Linha de Comando

Consulte --help para a lista completa, mas resumindo:

root@kitploit:~
binproxy -c <class> [<local-host>] <local-port> <remote-host> <remote-port>

Se você omitir o argumento -c, um simples hex dump é mostrado.

Se você omitir o host local, binproxy assume localhost.

Com as opções --socks-proxy ou --http-proxy, o host e a porta remotos são determinados dinamicamente e não devem ser especificados.

Exemplos

root@kitploit:~
# 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

Personalizando

Por padrão, o proxy usa a classe RawMessage embutida, que apenas fornece um hexdump de cada mensagem (assumindo 1:1 entre mensagens e pacotes TCP)

Você pode visualizar informações de protocolo analisado especificando uma subclasse BinData::Record† com o argumento de linha de comando --class.

Você também pode desejar definir o seguinte em sua classe:

root@kitploit:~
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

† Tecnicamente, qualquer subclasse de BinData::Base funcionará.

Proxy Dinâmico

Por padrão, o BinProxy retransmite todo o tráfego para um host e porta upstream estáticos. Ele também pode ser configurado para atuar como um proxy SOCKS (v4 ou v4a) ou HTTP com as flags --socks-proxy e --http-proxy, respectivamente.

Nota: Atualmente, o proxy HTTP suporta apenas conexões tuneladas com o verbo HTTP CONNNECT; ele não pode fazer proxy de requisições HTTP puras GET, POST, etc. Na prática, isso significa que o tráfego HTTPS funcionará, mas o tráfego HTTP simples não, a menos que o cliente suporte uma flag para forçar o tunelamento, como curl -p.

TLS / SSL

Use a flag --tls para desembrulhar a criptografia TLS antes de processar mensagens. Por padrão, o BinProxy gerará um certificado autoassinado. Você pode especificar arquivos PEM contendo um certificado e chave com --tls-cert e --tls-key. (Se você clonou o repositório fonte, use rake makecert[example.com] para gerar uma CA estática e um certificado com o nome de host apropriado.)

Problemas conhecidos

  • A funcionalidade de proxy HTTP foi montada de última hora e não é particularmente robusta.

Veja também o arquivo TODO para ideias aleatórias e itens desejados.

Créditos

A funcionalidade central de proxy TCP do BinProxy originou-se de um proxy de propósito especial escrito por Sean Devlin. Rusty Burchfield contribuiu com a interface HTML para esse proxy. Embora o código tenha mudado o suficiente para que eles não possam mais ser responsabilizados por quaisquer bugs atuais, o BinProxy provavelmente não existiria sem o trabalho de ambos.

Baixar ferramenta