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
Outils/GitLabGitLab/aurh1l-42-projects/woody-woodpacker
Outils de Chiffrement/DéchiffrementRétro-ingénierieAnalyse de BinairesApprentissage et ÉducationExploitation de Binaires
GitLabaurh1l-42-projects/woody-woodpacker

woody-woodpacker

Packer binaire ELF qui chiffre les sections de code et injecte un stub de déchiffrement runtime pour les exécutables Linux 64 bits, démontrant des techniques d'injection de code et de manipulation binaire.

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
Voir le dépôt
il y a 8 moisPas encore vérifié

Woody-Woodpacker

42 Project C ELF

Un projet de l'école 42 qui implémente un packer de binaires pour les exécutables ELF 64 bits. Le packer chiffre les sections de code de l'exécutable et injecte une routine de déchiffrement qui s'exécute au moment du lancement.

🎯 À propos

Woody-Woodpacker est un programme qui prend un binaire ELF 64 bits en entrée et crée une nouvelle version chiffrée appelée woody. Lors de son exécution, le binaire woody :

  1. Se déchiffre lui-même au moment du lancement
  2. Affiche "....WOODY...." sur la sortie standard comme preuve d'injection
  3. S'exécute normalement avec le comportement du binaire original

Ce projet explore :

  • Les formats de fichiers binaires (structure ELF)
  • Les techniques d'injection de code
  • Les algorithmes de chiffrement/déchiffrement
  • La programmation bas niveau en C
  • Les concepts de rétro-ingénierie

⚙️ Comment ça marche

Processus d'empaquetage

root@kitploit:~
Binaire original → [Woody-Woodpacker] → Binaire chiffré (woody)
  1. Analyser l'en-tête ELF - Lire et analyser la structure du fichier ELF
  2. Localiser les sections de code - Identifier les segments/sections à chiffrer
  3. Chiffrer le code - Appliquer l'algorithme de chiffrement au code
  4. Injecter le stub de déchiffrement - Ajouter la routine de déchiffrement au binaire
  5. Modifier le point d'entrée - Rediriger l'exécution vers le stub de déchiffrement
  6. Écrire le nouveau binaire - Créer l'exécutable woody

Processus d'exécution

root@kitploit:~
./woody → Déchiffrer le code → Afficher "....WOODY...." → Exécuter le programme original

🔧 Prérequis

  • Compilateur GCC ou Clang
  • Make
  • Système d'exploitation Linux (pour la prise en charge des binaires ELF)
  • Compréhension de base de :
    • La programmation C
    • Le format de fichier ELF
    • Le langage assembleur (x86-64)

🚀 Installation

root@kitploit:~
# Clonez le dépôt
git clone https://gitlab.com/Aurh1l/woody-woodpacker.git
cd woody-woodpacker

# Compilez le projet
make

# L'exécutable woody_woodpacker est maintenant prêt
./woody_woodpacker

💻 Utilisation

Utilisation de base

root@kitploit:~
./woody_woodpacker <fichier_binaire>

Ceci crée un nouveau fichier appelé woody dans le répertoire courant.

Exemple

root@kitploit:~
# Empaqueter un binaire
./woody_woodpacker /bin/ls

# Exécuter le binaire empaqueté
./woody
# Sortie : ....WOODY....
# [puis sortie normale de ls]

Vérification

root@kitploit:~
# Comparer le comportement du binaire original et du binaire empaqueté
/bin/ls -la
./woody -la

# Les deux devraient produire la même sortie (après "....WOODY....")

🔍 Détails techniques

Structure du fichier ELF

Le packer manipule les composants ELF suivants :

  • En-tête ELF - En-tête principal du fichier contenant les métadonnées
  • En-têtes de programme - Informations sur les segments pour le chargement
  • En-têtes de section - Informations sur les sections pour l'édition de liens
  • Segments de code - Section .text contenant le code exécutable

Algorithme de chiffrement

Le projet utilise généralement une méthode de chiffrement simple telle que :

  • RC4 - Chiffrement par flux

Technique d'injection

Segment Padding Infection (méthode de Silvio Cesare) :

  1. Agrandir la taille du segment dans l'en-tête de programme
  2. Injecter le stub de déchiffrement dans la zone de bourrage
  3. Modifier le point d'entrée pour sauter vers le stub
  4. Le stub déchiffre le code et saute vers le point d'entrée original

Disposition en mémoire

root@kitploit:~
┌─────────────────────────┐
│   En-tête ELF           │
├─────────────────────────┤
│   En-têtes de programme │
├─────────────────────────┤
│   Stub de déchiffrement │ ← Code injecté
├─────────────────────────┤
│   Code .text chiffré    │ ← Code original (chiffré)
├─────────────────────────┤
│   Autres sections       │
├─────────────────────────┤
│   En-têtes de section   │
└─────────────────────────┘

📝 Licence

Ce projet fait partie du programme de l'école 42 et est destiné à des fins éducatives uniquement.

⚠️ Avertissement

Cet outil a été créé à des fins éducatives dans le cadre du programme de l'école 42. Utilisez-le de manière responsable et uniquement sur des binaires que vous possédez ou pour lesquels vous avez l'autorisation de modifier. Les auteurs ne sont pas responsables de toute mauvaise utilisation de ce logiciel.

Télécharger l’outil