
Generador de Cargador PE Encriptado
Huan es un generador de cargadores PE cifrados que desarrollé para aprender la estructura de archivos PE y los procesos de carga de PE. Cifra el archivo PE que se ejecutará con diferentes claves cada vez y lo incrusta en una nueva sección del binario del cargador. Actualmente, funciona con archivos PE de 64 bits.
Primero, Huan lee el archivo PE proporcionado y lo cifra con el algoritmo de cifrado AES-128 en modo CBC. Para el cifrado, utilicé Tiny AES in C y preparé un código de relleno para los requisitos de esta librería. Cuando el cifrado se completa, compila el cargador usando el compilador de Visual Studio (MsBuild.exe) y crea un ejecutable. Después de eso, crea una sección (llamada .huan) en ese ejecutable, e incrusta el contenido cifrado, la información de tamaño, el IV y la clave simétrica. Ambas claves se crean aleatoriamente para cada copia del cargador. El diseño de esta sección se puede ver a continuación.
Cuando se ejecuta el cargador, primero toma la base de la imagen de sí mismo leyendo el Process Environment Block. Después de conocer la base de la imagen, analiza la copia cargada de sí mismo para encontrar la sección .huan. Luego, descifra todo el contenido, lo almacena en un búfer y carga el binario que reside en la memoria.
Solo para pruebas de seguridad autorizadas. El uso indebido de esta herramienta contra sistemas sin permiso explícito es ilegal.