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
Strumenti/GitLabGitLab/aurh1l-42-projects/woody-woodpacker
Strumenti di Crittografia/DecrittografiaReverse EngineeringAnalisi di BinariApprendimento e FormazioneBinary Exploitation
GitLabaurh1l-42-projects/woody-woodpacker

woody-woodpacker

Packer per binari ELF che crittografa le sezioni di codice e inietta uno stub di decrittazione runtime per eseguibili Linux a 64 bit, dimostrando tecniche di code injection e manipolazione binaria.

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
Vedi Repository
8 mesi faNon ancora revisionato

Woody-Woodpacker

42 Project C ELF

Un progetto della scuola 42 che implementa un packer per eseguibili ELF a 64 bit. Il packer cripta le sezioni di codice dell'eseguibile e inietta una routine di decriptazione che viene eseguita a runtime.

🎯 Informazioni

Woody-Woodpacker è un programma che prende un binario ELF a 64 bit come input e crea una nuova versione criptata chiamata woody. Quando viene eseguito, il binario woody:

  1. Si decripta da solo a runtime
  2. Stampa "....WOODY...." su stdout come prova dell'iniezione
  3. Esegue normalmente con il comportamento del binario originale

Questo progetto esplora:

  • Formati di file binari (struttura ELF)
  • Tecniche di iniezione di codice
  • Algoritmi di crittografia/decrittografia
  • Programmazione a basso livello in C
  • Concetti di reverse engineering

⚙️ Come Funziona

Processo di Impacchettamento

root@kitploit:~
Original Binary → [Woody-Woodpacker] → Encrypted Binary (woody)
  1. Analizza l'header ELF - Legge e analizza la struttura del file ELF
  2. Individua le sezioni di codice - Identifica i segmenti/sezioni da criptare
  3. Cripta il codice - Applica l'algoritmo di crittografia al codice
  4. Inietta lo stub di decriptazione - Aggiunge la routine di decriptazione al binario
  5. Modifica il punto di ingresso - Reindirizza l'esecuzione allo stub di decriptazione
  6. Scrive il nuovo binario - Crea l'eseguibile woody

Processo di Esecuzione

root@kitploit:~
./woody → Decrypt code → Print "....WOODY...." → Execute original program

🔧 Prerequisiti

  • GCC o compilatore Clang
  • Make
  • Sistema operativo Linux (per il supporto ai binari ELF)
  • Conoscenze di base di:
    • Programmazione C
    • Formato file ELF
    • Linguaggio assembly (x86-64)

🚀 Installazione

root@kitploit:~
# Clona il repository
git clone https://gitlab.com/Aurh1l/woody-woodpacker.git
cd woody-woodpacker

# Compila il progetto
make

# L'eseguibile woody_woodpacker è ora pronto
./woody_woodpacker

💻 Utilizzo

Utilizzo Base

root@kitploit:~
./woody_woodpacker <binary_file>

Crea un nuovo file chiamato woody nella directory corrente.

Esempio

root@kitploit:~
# Impacchetta un binario
./woody_woodpacker /bin/ls

# Esegui il binario impacchettato
./woody
# Output: ....WOODY....
# [poi il normale output di ls]

Verifica

root@kitploit:~
# Confronta il comportamento del binario originale e di quello impacchettato
/bin/ls -la
./woody -la

# Entrambi dovrebbero produrre lo stesso output (dopo "....WOODY....")

🔍 Dettagli Tecnici

Struttura del File ELF

Il packer manipola i seguenti componenti ELF:

  • ELF Header - Header principale del file contenente i metadati
  • Program Headers - Informazioni sui segmenti per il caricamento
  • Section Headers - Informazioni sulle sezioni per il linking
  • Code Segments - Sezione .text contenente il codice eseguibile

Algoritmo di Criptazione

Il progetto utilizza tipicamente un metodo di crittografia semplice come:

  • RC4 - Cifrario a flusso

Tecnica di Iniezione

Infezione tramite Padding di Segmento (metodo Silvio Cesare):

  1. Aumenta la dimensione del segmento nell'header del programma
  2. Inietta lo stub di decriptazione nell'area di padding
  3. Modifica il punto di ingresso per saltare allo stub
  4. Lo stub decripta il codice e salta al punto di ingresso originale

Layout di Memoria

root@kitploit:~
┌─────────────────────────┐
│   ELF Header            │
├─────────────────────────┤
│   Program Headers       │
├─────────────────────────┤
│   Decryption Stub       │ ← Codice iniettato
├─────────────────────────┤
│   Encrypted .text       │ ← Codice originale (criptato)
├─────────────────────────┤
│   Other sections        │
├─────────────────────────┤
│   Section Headers       │
└─────────────────────────┘

📝 Licenza

Questo progetto fa parte del curriculum della scuola 42 ed è destinato esclusivamente a scopi educativi.

⚠️ Dichiarazione di non responsabilità

Questo strumento è creato per scopi educativi come parte del curriculum della scuola 42. Usalo in modo responsabile e solo su binari di tua proprietà o per cui hai il permesso di modificarli. Gli autori non sono responsabili per qualsiasi uso improprio di questo software.

Scarica lo strumento