Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
BinProxy — BinProxy est un proxy pour des connexions TCP arbitraires. Vous pouvez définir des formats de message personnalisés en utilisant la gemme BinData. | Kitploit
Outils/GitHubGitHub/nccgroup/binproxy
Sniffing et Analyse de PaquetsProxies Web et InterceptionSécurité RéseauTests d'Intrusion
GitHubnccgroup/binproxy

BinProxy

BinProxy est un proxy pour des connexions TCP arbitraires. Vous pouvez définir des formats de message personnalisés en utilisant la gemme BinData.

Voir le dépôt
17644il y a 8 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Aperçu

BinProxy est un proxy pour des connexions TCP arbitraires. Vous pouvez définir des formats de messages personnalisés en utilisant la gemme BinData.

Installation

Prérequis

  • Ruby 2.3 ou ultérieur
  • Un compilateur C, les en-têtes Ruby, etc., sont nécessaires pour compiler plusieurs dépendances.
    • Sur Ubuntu, sudo apt install build-essential ruby-dev devrait suffire.
    • Si vous avez installé un Ruby personnalisé (par exemple avec RVM), vous avez probablement déjà ce qu'il faut.
  • Binaire openssl pour --tls sans certificat/clé explicite.
  • Pour construire l'interface utilisateur, node.js et npm. (Non nécessaire à l'exécution)

Depuis Rubygems

root@kitploit:~
gem install binproxy

Vous devrez peut-être utiliser sudo, selon votre installation Ruby.

Depuis les sources

root@kitploit:~
git clone https://github.com/nccgroup/BinProxy.git binproxy
cd binproxy

# Installer les dépendances ruby.
# Selon votre configuration, l'une ou les deux peuvent nécessiter sudo.
gem install bundler && bundle

# L'interface utilisateur est construite avec une chaîne d'outils webpack/babel :
(cd ui && npm install) \
  && rake build-ui

# Confirmer que tout fonctionne
# run.sh configure l'environnement et passe tous les arguments à binproxy
./run.sh --help

Pour construire et installer le paquet gem :

root@kitploit:~
gem build binproxy.gemspec

# Encore une fois, sudo peut être nécessaire ici
gem install binproxy-1.0.0.gem

Les rapports de bugs sur les problèmes d'installation sont les bienvenus !

Utilisation

Utilisation de base

  1. Exécutez binproxy sans arguments.
  2. Accédez à http://localhost:4567/
  3. Saisissez les noms d'hôtes ou adresses IP locaux et distants, ainsi que les ports, puis cliquez sur 'update'
  4. Pointez un client vers le service local et regardez les paquets défiler.

Options en ligne de commande

Voir --help pour la liste complète, mais en résumé :

root@kitploit:~
binproxy -c <classe> [<hôte-local>] <port-local> <hôte-distant> <port-distant>

Si vous omettez l'argument -c, un simple affichage hexadécimal est présenté.

Si vous omettez l'hôte local, binproxy suppose localhost.

Avec les options --socks-proxy ou --http-proxy, l'hôte et le port distants sont déterminés dynamiquement et ne doivent pas être spécifiés.

Exemples

root@kitploit:~
# Proxy de localhost:9000 -> example.com:9000
binproxy localhost 9000 example.com 9000

# Agir comme un proxy SOCKS sur localhost:1080
# MITM et déchiffrer TLS sur le trafic proxy, en utilisant un certificat et une clé auto-signés
binproxy -S --tls 1080

# Mode "Pauvre substitut de Burp" :
#
# Proxy HTTP ; MITM TLS avec certificat pré-généré ; analyse simple des en-têtes
# Note : cela ne fonctionnera que pour le trafic HTTPS, pas pour le HTTP simple !
# Si vous travaillez avec le dépôt source, vous pouvez générer les certificats avec :
#   rake makecert[example.com]
# Puis importer certs/ca-cert.pem dans le magasin de confiance de votre navigateur ou OS.
binproxy -H --tls \
  --tls-cert certs/example.com-cert.pem \
  --tls-key certs/example.com-key.pem \
  --class-name DumbHttp::Message \
  localhost 8080

Personnalisation

Par défaut, le proxy utilise la classe intégrée RawMessage, qui vous donne simplement un hexdump de chaque message (en supposant une correspondance 1:1 entre les messages et les paquets TCP).

Vous pouvez visualiser les informations de protocole analysées en spécifiant une sous-classe de BinData::Record† avec l'argument --class.

Vous pouvez également définir les éléments suivants dans votre classe :

root@kitploit:~
def summary
  # retourner une description sur une ligne de cet enregistrement
end

# les options actuellement supportées sont
#   - nil : utiliser l'affichage par défaut
#   - "anon" : pour les structures, afficher le contenu directement
#   - "hex" : pour les nombres, afficher comme 0x1234ABCD
#   - "hexdump" : pour les chaînes, afficher comme `hexdump -C`
default_parameter display_as: "..."

# TODO : documenter les choses relatives à l'état
def self.initial_state
end

def current_state
end

def update_state
end

† Techniquement, toute sous-classe de BinData::Base fonctionnera.

Proxification dynamique

Par défaut, BinProxy relaie tout le trafic vers un hôte et un port amont statiques. Il peut également être configuré pour agir comme un proxy SOCKS (v4 ou v4a) ou HTTP avec les drapeaux --socks-proxy et --http-proxy, respectivement.

Remarque : Actuellement, le proxy HTTP ne supporte que les connexions tunnelisées avec le verbe HTTP CONNECT ; il ne peut pas proxifier les requêtes HTTP GET, POST, etc., brutes. En pratique, cela signifie que le trafic HTTPS fonctionnera, mais pas le trafic HTTP simple à moins que le client ne supporte un drapeau forçant le tunneling, comme curl -p.

TLS / SSL

Utilisez le drapeau --tls pour déchiffrer le chiffrement TLS avant de traiter les messages. Par défaut, BinProxy générera un certificat auto-signé. Vous pouvez spécifier des fichiers PEM contenant un certificat et une clé avec --tls-cert et --tls-key. (Si vous avez cloné le dépôt source, utilisez rake makecert[example.com] pour générer une CA statique et un certificat avec le nom d'hôte approprié.)

Problèmes connus

  • La fonctionnalité de proxy HTTP a été bricolée à la dernière minute et n'est pas particulièrement robuste.

Voir aussi le fichier TODO pour des idées aléatoires et une liste de souhaits.

Crédits

La fonctionnalité de proxy TCP central de BinProxy provient d'un proxy à usage spécial écrit par Sean Devlin. Rusty Burchfield a contribué à l'interface utilisateur HTML de ce proxy. Bien qu'assez de code ait changé pour qu'ils ne puissent plus être tenus responsables des bugs actuels, BinProxy n'existerait probablement pas sans le travail de l'un et de l'autre.

Télécharger l’outil