
Generatore di Loader PE Crittografato
Huan è un generatore di loader PE crittografato che ho sviluppato per apprendere la struttura dei file PE e i processi di caricamento dei PE. Crittografa il file PE da eseguire con chiavi diverse ogni volta e lo incorpora in una nuova sezione del binario del loader. Attualmente, funziona su file PE a 64 bit.
Innanzitutto, Huan legge il file PE fornito e lo crittografa con l'algoritmo di crittografia AES-128 in modalità CBC. Per la crittografia, ho usato Tiny AES in C e ho preparato un codice di padding per i requisiti di questa libreria. Quando la crittografia è completa, compila il loader usando il compilatore Visual Studio (MsBuild.exe) e crea un eseguibile. Successivamente, crea una sezione (chiamata .huan) in quell'eseguibile e incorpora il contenuto crittografato, le informazioni sulla dimensione, l'IV e la chiave simmetrica. Entrambe le chiavi vengono create casualmente per ogni copia del loader. Il layout di questa sezione può essere visto qui sotto.
Quando il loader viene eseguito, prima ottiene la base immagine di sé stesso leggendo il Process Environment Block. Dopo aver appreso la base immagine, analizza la copia caricata di sé stesso per trovare la sezione .huan. Quindi, decrittografa l'intero contenuto, lo bufferizza e carica il binario che risiede in memoria.
Solo per test di sicurezza autorizzati. L'uso improprio di questo strumento contro sistemi senza esplicita autorizzazione è illegale.