Skip to content

Malleable shellcode loader written in C and Assembly utilizing direct or indirect syscalls for evading EDR hooks

Notifications You must be signed in to change notification settings

voidvxvt/HellBunny

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HellBunny 🐇🔥

hopping to the system service call stubs in ntdll.dll or win32u.dll

HellBunny is a malleable shellcode loader written in C and Assembly utilizing direct and indirect syscalls for evading EDR hooks. It can be built as EXE, DLL, or XLL and offers a variety of QoL features that make it more adaptable.

The purpose of this research project was to develop a comprehensive understanding of the architecture and internals of the Windows operating system, including the Native API, the Process and Thread Environment Block, and the PE file format, while also exploring the techniques used by EDR software to collect telemetry and detect malware at runtime.

Features

  • System Calls
    • call the NtAPI directly
    • perform direct system calls
    • perform indirect system calls in ntdll.dll
    • perform indirect system calls in win32u.dll
    • System Service Number (SSN) resolving through Hell's Gate and Halo's Gate + an early hook detection (JMP opcode)
  • Compile as
    • EXE
    • DLL
    • XLL
  • CRT Independence
  • Shellcode Encryption:
    • AES-256-CTR
    • XChaCha20
  • Custom DLL Entrypoint Name ( for sideloading attacks )
  • IAT Camouflage
  • Custom Module and Function Resolving from PEB (for hiding function imports)
  • supports local and remote injection. design is open for implementation of additional injection methods
  • String Hashing Algorithms:
    • CRC32B
    • FNV1A32B
    • DJB2
  • String Encryption: Strings are XOR encrypted using a single byte key to obfuscate them within the binary
  • shellcode is downloaded from a remote webserver
  • commandline arguments are erased if executed by rundll32

Credits