Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
BinProxy — BinProxy è un proxy per connessioni TCP arbitrarie. Puoi definire formati di messaggi personalizzati utilizzando la gemma BinData. | Kitploit
Strumenti/GitHubGitHub/nccgroup/binproxy
Sniffing e Analisi dei PacchettiProxy Web e IntercettazioneSicurezza di RetePenetration Testing
GitHubnccgroup/binproxy

BinProxy

BinProxy è un proxy per connessioni TCP arbitrarie. Puoi definire formati di messaggi personalizzati utilizzando la gemma BinData.

Vedi Repository
176448 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

Panoramica

BinProxy è un proxy per connessioni TCP arbitrarie. Puoi definire formati di messaggio personalizzati usando la gemma BinData.

Installazione

Prerequisiti

  • Ruby 2.3 o successivo
  • Un compilatore C, header Ruby, ecc., sono necessari per compilare diverse dipendenze.
    • Su Ubuntu, sudo apt install build-essential ruby-dev dovrebbe funzionare.
    • Se hai installato un Ruby personalizzato (ad esempio con RVM), probabilmente hai già ciò che ti serve.
  • Il binario openssl per --tls senza un certificato/chiave esplicito.
  • Per costruire l'interfaccia utente, node.js e npm. (Non necessari a runtime)

Da Rubygems

root@kitploit:~
gem install binproxy

Potresti aver bisogno di usare sudo, a seconda della tua installazione di Ruby.

Dal sorgente

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

Per costruire e installare il pacchetto gem:

root@kitploit:~
gem build binproxy.gemspec

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

Segnalazioni di bug su problemi di installazione sono benvenute!

Utilizzo

Utilizzo Base

  1. Esegui binproxy senza argomenti.
  2. Naviga su http://localhost:4567/
  3. Inserisci hostname o indirizzi IP e porte locali e remoti, e clicca 'update'
  4. Punta un client verso il servizio locale, e guarda i pacchetti fluire.

Flag della riga di comando

Vedi --help per la lista completa, ma in breve:

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

Se ometti l'argomento -c, viene mostrato un semplice dump esadecimale.

Se ometti l'host locale, binproxy assume localhost.

Con le opzioni --socks-proxy o --http-proxy, l'host e la porta remoti sono determinati dinamicamente e non dovrebbero essere specificati.

Esempi

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

Personalizzazione

Per impostazione predefinita, il proxy usa la classe integrata RawMessage, che fornisce solo un dump esadecimale di ogni messaggio (assumendo una corrispondenza 1:1 tra messaggi e pacchetti TCP)

Puoi visualizzare le informazioni del protocollo analizzato specificando una sottoclasse di BinData::Record† con l'argomento della riga di comando --class.

Potresti anche voler definire quanto segue nella tua 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, qualsiasi sottoclasse di BinData::Base funzionerà.

Proxy dinamico

Per impostazione predefinita, BinProxy inoltra tutto il traffico a un host e una porta upstream statici. Può anche essere configurato per agire come proxy SOCKS (v4 o v4a) o HTTP rispettivamente con i flag --socks-proxy e --http-proxy.

Nota: Attualmente, il proxy HTTP supporta solo connessioni tunnelizzate con il verbo HTTP CONNNECT; non può fare da proxy a richieste HTTP raw GET, POST, ecc. In pratica, ciò significa che il traffico HTTPS funzionerà, ma il traffico HTTP semplice no, a meno che il client non supporti un flag per forzare il tunneling, come curl -p.

TLS / SSL

Usa il flag --tls per rimuovere la crittografia TLS prima di elaborare i messaggi. Per impostazione predefinita, BinProxy genererà un certificato autofirmato. Puoi specificare file PEM contenenti un certificato e una chiave con --tls-cert e --tls-key. (Se hai clonato il repository sorgente, usa rake makecert[example.com] per generare una CA statica e un certificato con il nome host appropriato.)

Problemi noti

  • La funzionalità del proxy HTTP è stata messa insieme all'ultimo minuto e non è particolarmente robusta.

Vedi anche il file TODO per idee casuali e elementi della lista dei desideri.

Crediti

La funzionalità del proxy TCP principale di BinProxy ha avuto origine in un proxy per scopi speciali scritto da Sean Devlin. Rusty Burchfield ha contribuito con l'interfaccia utente HTML per quel proxy. Sebbene il codice sia cambiato abbastanza da non poterli più incolpare per eventuali bug attuali, BinProxy probabilmente non esisterebbe senza il lavoro di entrambi.

Scarica lo strumento