Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
BDFProxy — Patcher des binaires via MITM : BackdoorFactory + mitmProxy. | Kitploit
Outils/GitHubGitHub/secretsquirrel/bdfproxy
Escalade de PrivilègesFrameworks d'ExploitationProxies Web et InterceptionRétro-ingénieriePost-ExploitationAnalyse de MalwareTests d'IntrusionCommandement et ContrôleRed TeamingDéveloppement de Charges UtilesExploitation de Binaires
1.0k19916il y a 5 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
GitHubsecretsquirrel/bdfproxy

BDFProxy

Patcher des binaires via MITM : BackdoorFactory + mitmProxy.

Voir le dépôt

Nouvelle version de BDFProxy disponible ! Réservée aux sponsors ! Accédez ici : https://github.com/sponsors/secretsquirrel

BLOG : http://secureallthethings.blogspot.com/2017/08/closing-door-end-of-backdoor-factory.html

Le Backdoor Factory Proxy (BDFProxy) v0.3.8

Pour les professionnels de la sécurité et les chercheurs uniquement.

Join the chat at https://gitter.im/secretsquirrel/BDFProxy Black Hat Arsenal

###FONCTIONNE MAINTENANT UNIQUEMENT AVEC v.0.17 >= MITMPROXY >= v.0.11

Docker:

root@kitploit:~
 # sudo echo 1 > /proc/sys/net/ipv4/ip_forward  # linux
 # sudo sysctl -w net.inet.ip.forwarding=1 # macOS
 docker pull secretsquirrel/bdfproxy
 docker run -it -p 8080:8080 secretsquirrel/bdfproxy bash
 # ./bdf_proxy.py

Pour installer sur Kali :

root@kitploit:~
apt-get update
apt-get install bdfproxy

Black Hat USA 2015 :

root@kitploit:~
Vidéo : https://www.youtube.com/watch?v=OuyLzkG16Uk

Document : https://www.blackhat.com/docs/us-15/materials/us-15-Pitts-Repurposing-OnionDuke-A-Single-Case-Study-Around-Reusing-Nation-State-Malware-wp.pdf

DerbyCon 2014 :

root@kitploit:~
Vidéo : http://www.youtube.com/watch?v=LjUN9MACaTs

Le passage sur BDFProxy se situe à environ 18 minutes.

Contactez le développeur sur :

root@kitploit:~
IRC :
irc.freenode.net #BDFactory 

Twitter :
@midnite_runr

Ce script utilise deux bibliothèques : The Backdoor Factory (BDF) et mitmProxy.

###Concept : Patcher les binaires pendant le téléchargement façon MITM.

###Pourquoi : Parce que de nombreux sites d'outils de sécurité distribuent encore des binaires via des moyens non-SSL/TLS.

Voici une courte liste :

root@kitploit:~
	sysinternals.com
	Microsoft - MS Security Essentials
	Almost all anti-virus companies
	Malwarebytes
	Sourceforge
	gpg4win
	Wireshark
	etc...

Oui, certaines de ces applications sont protégées par des mécanismes d'auto-vérification. J'ai travaillé sur un moyen de contourner automatiquement les vérifications NSIS à titre de preuve de concept. Cependant, cela ne résout pas le problème initial de la modification de bits pendant le téléchargement et de l'exécution d'une charge utile malveillante. De plus, par défaut, BDF supprime le pointeur de la table de certificats PE Windows pendant le téléchargement, supprimant ainsi la signature du binaire.


##Dépendances :

root@kitploit:~
Pefile - le plus récent
ConfigObj  
mitmProxy - Build Kali .10
BDF - le plus récent
Capstone (fait partie de BDF)

##Environnement pris en charge : Testé sur toutes les builds Kali Linux, que ce soit un ordinateur portable physique puissant, un Raspberry Pi ou une VM, chacune peut exécuter BDFProxy.

##Installation : BDF se trouve dans bdf/

Exécutez la commande suivante pour récupérer la plus récente :

root@kitploit:~
./install.sh

OU :

root@kitploit:~
git clone https://github.com/secretsquirrel/the-backdoor-factory bdf/

Si vous obtenez une erreur de certificat, exécutez la commande suivante :

root@kitploit:~
mitmproxy

Et quittez [Ctr+C] après le chargement de mitmProxy.

##Utilisation : Mettez tout à jour avant chaque utilisation :

root@kitploit:~
./update.sh

LISEZ LA CONFIGURATION !!!

root@kitploit:~
	-->bdfproxy.cfg

Vous devrez configurer vos paramètres d'hôte et de port C2 avant d'exécuter BDFProxy. NE CHEVAUCHEZ PAS les paramètres de PORT C2 entre différentes charges utiles. Vous enverriez des shells Linux vers des machines Windows et les choses planteraient partout. Après l'exécution, un script de ressources metasploit sera créé pour vous aider à configurer vos communications C2. Vérifiez-le attentivement. D'ailleurs, tout ce qui se trouve en dehors de la section [Overall] se met à jour à la volée, vous n'avez donc pas besoin de tuer votre proxy pour modifier les paramètres afin de les adapter à votre environnement.

Mais attendez ! Vous devrez configurer votre machine mitm pour le mitm ! Si vous utilisez un wifiPineapple, j'ai modifié un script créé par hack5 pour vous aider avec la configuration. Exécutez ./wpBDF.sh et entrez les configurations correctes pour votre environnement. Ce script configure iptables pour ne faire passer que le trafic http (non-ssl) via le proxy. Tout autre trafic est transféré normalement.

Ensuite :

root@kitploit:~
./bdf_proxy.py

Voici un peu d'art ASCII sympa pour les configurations physiques possibles du proxy :

Usage LAN :

root@kitploit:~
	<Internet>----<mitmMachine>----<userLan>

Usage WiFi :

root@kitploit:~
	<Internet>----<mitmMachine>----<wifiPineapple>)))

##Test :

root@kitploit:~
Supposons que vous souhaitiez utiliser votre navigateur avec Firefox et FoxyProxy pour tester votre configuration.

	Mettez à jour votre configuration comme suit :
	transparentProxy = None

	Configurez FoxyProxy pour utiliser BDFProxy comme proxy.
	Le port par défaut dans la configuration est 8080.

##Journalisation : Nous en avons. La fenêtre du proxy se remplira rapidement de quantités massives de liens de chat selon le client que vous testez. Utilisez tail -f proxy.log pour voir ce qui est patché et bloqué par vos paramètres de liste noire. Cependant, gardez un œil sur la fenêtre principale du proxy si vous avez choisi de patcher les binaires manuellement, les choses vont vite et en arrière-plan il y a du multi-threading du trafic, mais les requêtes et réponses initiales sont verrouillées pour votre plaisir visuel.

##Scénarios d'attaque (tous avec autorisation des cibles) : -Point d'accès WiFi malveillant -Redirection ARP -Implantation physique dans une armoire de câblage -Implantation logique chez votre FAI préféré

##Signalement de bogues

Les bogues arrivent, mais si je ne comprends pas votre problème, je ne peux pas vous aider.

Soumettez les problèmes ici : https://github.com/secretsquirrel/BDFProxy/issues

Incluez les informations suivantes à partir de la sortie de ces commandes (utilisez pastebin pour les commandes les plus longues) :

root@kitploit:~
# bdfproxy only supports v11 -> v17
$ mitmproxy --version

$ uname -a

# Use pastebin perhaps
$ cat bdfproxy.cfg 
$ ./bdf_proxy.py

###Journal des modifications :

####07/04/2016

Prise en charge du préprocesseur BDF et de mitmProxy v17

####12/20/2015

Ajout d'options de configuration dans bdfproxy.cfg pour prendre en charge la signature de code PE depuis BDF => CODE_SIGN Voir le README de BDF pour plus de détails

####11/13/2015

Suppression des dépendances python-magic car il existe deux bibliothèques portant ce nom. Ce qui prête à confusion.

####10/19/2015

Ajout du support pour le patching du répertoire d'importation BDF dans une code cave plutôt qu'une nouvelle section. Mettez IDA_IN_CAVE à True dans le fichier bdfproxy.cfg pour cela. EXPÉRIMENTAL...

####8/12/2015

Ajout du support pour la méthode de remplacement PE, remplace le binaire téléchargé par un fourni par l'attaquant. Pour l'utiliser, changez PATCH_METHOD en replace et fournissez un SUPPLIED_BINARY

####8/6/2015

Ajout du support pour onionduke. Pour l'utiliser, changez PATCH_METHOD en onionduke et SUPPLIED_BINARY en le binaire que vous souhaitez lier à l'exécutable cible.

Ajout du support pour définir la vérification et le patching du requestedExecutionLevel dans le manifeste PE en tant que highestAvailable pour les binaires PE x86 et x86_64. Mettez RUNAS_ADMIN à True.

Ajout du support pour définir si on prend en charge les machines XP héritées via le drapeau XP_MODE à True. Cela peut permettre d'éviter les antivirus car leurs émulateurs peuvent échouer si ce paramètre est défini sur FALSE.

Télécharger l’outil