Skip to content

frkngksl/Huan

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
August 12, 2021 23:27
August 11, 2021 21:58
August 12, 2021 23:27
August 12, 2021 23:27
August 12, 2021 08:08
August 13, 2021 13:48

Huan

Huan is an encrypted PE Loader Generator that I developed for learning PE file structure and PE loading processes. It encrypts the PE file to be run with different keys each time and embeds it in a new section of the loader binary. Currently, it works on 64 bit PE files.

How It Works?

First, Huan reads the given PE file and encrypts it with CBC mode AES-128 encryption algorithm. For the encryption, I used Tiny AES in C and prepared a padding code for the requirement of this library. When the encryption is complete, it compiles the loader using the Visual Studio compiler (MsBuild.exe) and creates an executable. After that, it creates a section (called .huan) on that executable, and embed the encrypted content, size information, IV and symmetric key. Both keys are created randomly for each copy of the loader. The layout of this section can be seen below.

When the loader is executed, it first takes the image base of itself by reading the Process Environment Block. After learning the image base, it parses the loaded copy of itself to find .huansection. Then, it decrypts the whole content, buffers it, and loads the binary which relies on the memory.

Quick Demo

TO-DO List

  • 32 Bit support
  • Improvements on PE loader
  • Blog post about PE loading process
  • Reducing the detection rate of the loader

References

Disclaimer

I shared this tool only for showing the code snippets of well known TTPs. I'm not responsible for the use of this tool for malicious activities.

About

Encrypted PE Loader Generator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published