0Pricing
Ethical Hacking Academy · Lección

Desempaquetado

Vencer la ofuscación

Desempaquetado es una lección gratuita de Ethical Hacking Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ethical Hacking Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ethical Hacking Academy incluye 4 lecciones en total.

¿Qué es el packing?

El packing comprime o cifra el código real de un programa y lo envuelve en un pequeño stub. Durante la ejecución, el stub desempaqueta el código original en memoria y lo ejecuta.

Los autores de malware usan packing para evadir las firmas y dificultar el análisis estático.

¿Por qué desempaquetar?

Un binario empaquetado muestra pocas cadenas, pocas importaciones y una entropía alta. El código relevante permanece oculto hasta que se ejecuta el stub.

El desempaquetado recupera el código original para que pueda analizarlo estáticamente y extraer IOCs reales.

Detección de un packer

Herramientas como Detect It Easy (DIE) y PEiD identifican packers conocidos mediante su firma. Una entropía alta y una tabla de importaciones pequeña también son indicios importantes.

Entre los packers comunes se incluyen UPX, ASPack y Themida.

die sample.exe
# Packer: UPX(3.96)

Desempaquetado de UPX

UPX es un packer común y no malicioso que puede revertirse con su propia herramienta. La opción -d descomprime el binario y lo devuelve a su forma original.

Muchas muestras del mundo real usan UPX o una versión de UPX ligeramente modificada, por lo que este suele ser el primer intento.

upx -d sample.exe

Desempaquetado manual: la idea

Los packers personalizados no pueden revertirse con una herramienta. En su lugar, debe dejar que el stub se desempaquete en memoria y después capturar el resultado.

El plan es ejecutar la muestra bajo un depurador, detenerla justo después de que termine el desempaquetado y volcar el código recién revelado.

Búsqueda del OEP

El punto de entrada original (OEP) es el lugar al que salta la ejecución cuando termina el desempaquetado. Llegar al OEP significa que el código real ya está en memoria.

Entre las técnicas para encontrarlo se incluyen observar un salto lejano fuera del stub o establecer un punto de interrupción en la memoria que el stub escribe y luego ejecuta.

Puntos de interrupción para el desempaquetado

Un truco habitual consiste en establecer un punto de interrupción de hardware en la pila (el stub suele restaurar los registros justo antes de saltar al OEP) o un punto de interrupción en llamadas comunes a la API que utiliza el código desempaquetado.

Cuando el punto de interrupción se activa en el OEP, el código original está completamente decodificado.

Volcado del proceso

En el OEP, vuelque la memoria del proceso a un archivo nuevo. Herramientas como Scylla (integrada en x64dbg) o PE-sieve capturan la imagen desempaquetada.

El volcado ya contiene las instrucciones reales, pero es posible que todavía no se ejecute por sí solo.

Reconstrucción de las importaciones

Después del volcado, la tabla de direcciones de importación suele estar dañada porque el packer resolvió las importaciones durante la ejecución. Scylla puede reconstruir la IAT para que el archivo volcado se pueda analizar.

Una vez corregidas las importaciones, puede cargar el volcado limpio en Ghidra o IDA.

Otras técnicas de ofuscación

Además del packing, el malware utiliza otras técnicas de ofuscación: cadenas cifradas que se descodifican durante la ejecución, instrucciones basura, aplanamiento del flujo de control y comprobaciones antidepuración.

Estas técnicas se neutralizan caso por caso, a menudo combinando el seguimiento dinámico con una lectura estática minuciosa.

Verificación de la muestra desempaquetada

Después de volcar la memoria y reconstruir las importaciones, confirme que el proceso tuvo éxito repitiendo el análisis estático: ahora debería ver muchas más cadenas y una tabla de importaciones poblada.

Si la entropía ha vuelto a la normalidad y las API son visibles, el desempaquetado funcionó y el código real está listo para analizarse.

Comprobación rápida

Recuerde qué representa el OEP durante el desempaquetado manual.

Resumen

Ahora comprende el desempaquetado:

  • El packing oculta el código real; puede detectarlo con DIE/PEiD, una entropía alta y pocas importaciones.
  • Los packers conocidos, como UPX, se desempaquetan con una herramienta (upx -d).
  • Para los packers personalizados, ejecute la muestra bajo un depurador, encuentre el OEP, haga un volcado con Scylla y reconstruya las importaciones.
  • Las demás técnicas de ofuscación (cadenas cifradas y antidepuración) se tratan caso por caso.

Ha completado el curso de ingeniería inversa de malware.

Preguntas frecuentes

¿La lección «Desempaquetado» es gratis?

Sí — el texto completo de «Desempaquetado» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ethical Hacking Academy, actualiza a CoddyKit PRO. El curso de Ethical Hacking Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Desempaquetado»?

Vencer la ofuscación Practicas Ethical Hacking Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Ethical Hacking Academy?

No se requiere experiencia previa. Ethical Hacking Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Desempaquetado»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Ethical Hacking Academy?

Sí. Cada lección de Ethical Hacking Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Análisis estático
  2. Análisis dinámico
  3. Fundamentos del desensamblado
  4. Desempaquetado
← Volver a Ethical Hacking Academy