
Générateur de chargeur PE chiffré
Huan est un générateur de chargeur PE chiffré que j'ai développé pour apprendre la structure des fichiers PE et les processus de chargement PE. Il chiffre le fichier PE à exécuter avec des clés différentes à chaque fois et l'incorpore dans une nouvelle section du binaire du chargeur. Actuellement, il fonctionne sur les fichiers PE 64 bits.
Tout d'abord, Huan lit le fichier PE donné et le chiffre avec l'algorithme de chiffrement AES-128 en mode CBC. Pour le chiffrement, j'ai utilisé Tiny AES in C et préparé un code de padding pour répondre aux exigences de cette bibliothèque. Une fois le chiffrement terminé, il compile le chargeur en utilisant le compilateur Visual Studio (MsBuild.exe) et crée un exécutable. Ensuite, il crée une section (appelée .huan) sur cet exécutable et y intègre le contenu chiffré, les informations de taille, l'IV et la clé symétrique. Les deux clés sont créées aléatoirement pour chaque copie du chargeur. La disposition de cette section peut être vue ci-dessous.
Lorsque le chargeur est exécuté, il obtient d'abord la base d'image de lui-même en lisant le Process Environment Block. Après avoir connu la base d'image, il analyse la copie chargée de lui-même pour trouver la section .huan. Ensuite, il déchiffre tout le contenu, le met en mémoire tampon et charge le binaire qui repose sur la mémoire.
Pour des tests de sécurité autorisés uniquement. L'utilisation inappropriée de cet outil contre des systèmes sans autorisation explicite est illégale.