Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
woody-woodpacker — Empaquetador de binarios ELF que cifra secciones de código e inyecta un stub de descifrado en tiempo de ejecución para ejecutables Linux de 64 bits, demostrando técnicas de inyección de código y manipulación de binarios. | Kitploit
Herramientas/GitLabGitLab/aurh1l-42-projects/woody-woodpacker
Herramientas de Cifrado/DescifradoIngeniería InversaAnálisis de BinariosAprendizaje y EducaciónExplotación de Binarios
GitLabaurh1l-42-projects/woody-woodpacker

woody-woodpacker

Empaquetador de binarios ELF que cifra secciones de código e inyecta un stub de descifrado en tiempo de ejecución para ejecutables Linux de 64 bits, demostrando técnicas de inyección de código y manipulación de binarios.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
5hace 9 mesesAún no revisado

Woody-Woodpacker

42 Project C ELF

Un proyecto de la escuela 42 que implementa un empaquetador de binarios para ejecutables ELF de 64 bits. El empaquetador cifra las secciones de código del ejecutable e inyecta una rutina de descifrado que se ejecuta en tiempo de ejecución.

🎯 Acerca de

Woody-Woodpacker es un programa que toma un binario ELF de 64 bits como entrada y crea una nueva versión cifrada llamada woody. Cuando se ejecuta, el binario woody:

  1. Se descifra a sí mismo en tiempo de ejecución
  2. Imprime "....WOODY...." en stdout como prueba de inyección
  3. Se ejecuta normalmente con el comportamiento del binario original

Este proyecto explora:

  • Formatos de archivos binarios (estructura ELF)
  • Técnicas de inyección de código
  • Algoritmos de cifrado/descifrado
  • Programación de bajo nivel en C
  • Conceptos de ingeniería inversa

⚙️ Cómo funciona

Proceso de empaquetado

root@kitploit:~
Original Binary → [Woody-Woodpacker] → Encrypted Binary (woody)
  1. Analizar cabecera ELF - Leer y analizar la estructura del archivo ELF
  2. Localizar secciones de código - Identificar segmentos/secciones a cifrar
  3. Cifrar código - Aplicar algoritmo de cifrado al código
  4. Inyectar stub de descifrado - Añadir rutina de descifrado al binario
  5. Modificar punto de entrada - Redirigir la ejecución al stub de descifrado
  6. Escribir nuevo binario - Crear el ejecutable woody

Proceso de ejecución

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

🔧 Requisitos previos

  • Compilador GCC o Clang
  • Make
  • Sistema operativo Linux (para soporte de binarios ELF)
  • Conocimientos básicos de:
    • Programación en C
    • Formato de archivo ELF
    • Lenguaje ensamblador (x86-64)

🚀 Instalación

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

# Compile the project
make

# The woody_woodpacker executable is now ready
./woody_woodpacker

💻 Uso

Uso básico

root@kitploit:~
./woody_woodpacker <binary_file>

Esto crea un nuevo archivo llamado woody en el directorio actual.

Ejemplo

root@kitploit:~
# Pack a binary
./woody_woodpacker /bin/ls

# Execute the packed binary
./woody
# Output: ....WOODY....
# [then normal ls output]

Verificación

root@kitploit:~
# Compare original and packed binary behavior
/bin/ls -la
./woody -la

# Both should produce the same output (after "....WOODY....")

🔍 Detalles técnicos

Estructura del archivo ELF

El empaquetador manipula los siguientes componentes ELF:

  • Cabecera ELF - Cabecera principal del archivo que contiene metadatos
  • Cabeceras de programa - Información de segmentos para la carga
  • Cabeceras de sección - Información de secciones para el enlace
  • Segmentos de código - Sección .text que contiene código ejecutable

Algoritmo de cifrado

El proyecto típicamente usa un método de cifrado simple como:

  • RC4 - Cifrado de flujo

Técnica de inyección

Infección por relleno de segmento (método de Silvio Cesare):

  1. Aumentar el tamaño del segmento en la cabecera de programa
  2. Inyectar stub de descifrado en el área de relleno
  3. Modificar el punto de entrada para saltar al stub
  4. El stub descifra el código y salta al punto de entrada original

Disposición de memoria

root@kitploit:~
┌─────────────────────────┐
│   ELF Header            │
├─────────────────────────┤
│   Program Headers       │
├─────────────────────────┤
│   Decryption Stub       │ ← Injected code
├─────────────────────────┤
│   Encrypted .text       │ ← Original code (encrypted)
├─────────────────────────┤
│   Other sections        │
├─────────────────────────┤
│   Section Headers       │
└─────────────────────────┘

📝 Licencia

Este proyecto es parte del currículo de la escuela 42 y está destinado únicamente a fines educativos.

⚠️ Aviso legal

Esta herramienta ha sido creada con fines educativos como parte del currículo de la escuela 42. Úsela de manera responsable y solo en binarios que posea o tenga permiso para modificar. Los autores no se responsabilizan por el mal uso de este software.

Descargar herramienta