TL;DR

If you’ve poked around in the world of penetration testing—especially if you’ve dabbled with Georgia Weidman’s “Penetration Testing” book—you’ve likely come across Hyperion, a Windows-based PE crypter that can “encrypt” or obfuscate payloads. The idea is to reduce antivirus detections or to play around with obfuscation techniques. But actually getting Hyperion to compile and run properly on Kali Linux can be confusing, especially when you encounter different Hyperion versions (1.0 vs. 1.2), 32-bit vs. 64-bit compilers, missing instructions, weird errors, and so forth.

Don’t worry—you’re not alone. Below are the highlights from a big community conversation about making Hyperion work in Kali. We’ll talk about installing the right packages, dealing with cross-compilers, and dealing with those dreaded “command not found” or “no input files” errors.

Why Hyperion?

Hyperion is basically a PE (Portable Executable) crypter that was initially designed to be run on Windows’ command line to encrypt malicious payloads (like a Meterpreter exe) so that antivirus software might have a harder time spotting them. People often try to do this within Kali using Wine and the MinGW cross-compiler, so you don’t have to move everything over to a Windows machine. In older guides (like Weidman’s book or other references), you might see instructions for Hyperion 1.0 with some simpler steps. But with Hyperion 1.2, you’ll notice it no longer includes a precompiled .exe, nor does it provide a super-detailed README.

Downloading Hyperion 1.2

  1. The best place to grab Hyperion 1.2 nowadays is often the nullsecurity.net site or their GitHub. For example:

bash

wget https://github.com/nullsecuritynet/tools/raw/master/binary/hyperion/release/Hyperion-1.2.zip

unzip Hyperion-1.2.zip

  1. You should see a Src/Crypter folder in there with multiple .cpp files. That’s your source code.

Installing the Right Cross-Compiler in Kali

To turn that source code into a Windows-friendly .exe, you need MinGW (the Windows cross-compiler). Depending on your Kali version (and whether it’s 32-bit or 64-bit), you might need different packages. On newer Kali releases, you can usually do:

bash

sudo apt-get update

sudo apt-get install mingw-w64

On older ones, people used mingw32 or mingw32msvc, but those packages might not exist in the same form anymore. So if you get “command not found” with one name, try the other. For 64-bit vs. 32-bit cross-compiles, you’ll see references to i686-w64-mingw32-c++ or i586-mingw32msvc-c++. The gist is:

  • i686 or i586 indicates 32-bit compilation.
  • x86_64 would be for 64-bit.
  • If you see errors about “command not found,” you might need to install the right version of the compiler or check your path.

Compiling Hyperion

The “classic” command to compile is something like:

bash

i686-w64-mingw32-c++ Hyperion-1.2/Src/Crypter/*.cpp -o hyperion.exe

You might see people use -static-libgcc -static-libstdc++ to reduce dependency issues when you eventually run hyperion.exe in Wine. For example:

bash

i686-w64-mingw32-c++ -static-libgcc -static-libstdc++ Hyperion-1.2/Src/Crypter/*.cpp -o hyperion.exe

If you get errors like No such file or directory, verify your paths. Sometimes you’re in the “Hyperion-1.2” directory but you typed the path again, so it’s looking in the wrong place. Or you used *.cpp incorrectly—maybe you typed .cpp (with a dot) instead of *.cpp (with an asterisk).

Running Hyperion with Wine

Once compiled, you can test it in Kali using:

bash

wine hyperion.exe

Hyperion will show some usage options (like -k, -s, etc.) that help you specify key lengths or randomization parameters. You’re supposed to use the crypter on an existing Windows executable, e.g. your payload.exe, but keep in mind that antivirus detection might still be high. Multiple folks mentioned that after encryption, some AV tools flag the payload even more because they already recognize Hyperion’s signature. So, using Hyperion as an “AV bypass” is not a guaranteed success these days—most modern AV solutions have seen it before.

Common Pitfalls

  1. “Command not found”: Usually means you don’t have the right MinGW cross-compiler installed or you typed the wrong command for your Kali version (32-bit vs. 64-bit).
  2. “No input files” or “No such file or directory”: Typically a path issue. Double-check that you’re pointing to the correct Src/Crypter/*.cpp.
  3. Version Confusion: The older Hyperion 1.0 had an .exe included. The new 1.2 doesn’t. That’s why you have to compile it yourself now.
  4. AV Detections: Don’t expect a miracle. Many antivirus engines have signatures for Hyperion’s encryption pattern. It’s primarily a learning exercise or a stepping stone to more advanced crypters.

Final Words

If you’re following Weidman’s book or other older tutorials, you might be used to instructions that reference i586-mingw32msvc-c++ or Hyperion 1.0. On newer Kali systems, everything has shifted to mingw-w64 packages, so your commands may look like i686-w64-mingw32-c++. Once you figure out the right environment, though, it’s fairly straightforward: install MinGW, compile the .cpp files, run the resulting .exe via Wine, and pass your Windows payload for encryption. Just remember that this is largely an educational tool. Real-world antivirus solutions often detect or block Hyperion-encrypted files anyway.

But as so many folks in the community have pointed out, it’s still worth learning—if only to understand how crypters function behind the scenes, how cross-compilation works, and how modern AV engines adapt to these older tricks. Good luck, and happy hacking!

Start learning with Cybrary

Create a free account

Related Posts

All Blogs