Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
MorphAES — IDPS & SandBox & AntiVirus TUEUR FURTIF. MorphAES est le premier moteur de shellcode polymorphe au monde, doté de propriétés métamorphiques et de la capacité de contourner les sandboxes, ce qui le rend indétectable pour un IDPS ; il est également multiplateforme et indépendant des bibliothèques. | Kitploit
Outils/GitHubGitHub/cryptolok/morphaes
ExploitationÉvasion IDS/IPSShellcodeTests d'IntrusionGénération de ShellcodeDéveloppement de Charges UtilesExploitation de Binaires
GitHubcryptolok/morphaes

MorphAES

Voir le dépôt
3241035il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

IDPS & SandBox & AntiVirus TUEUR FURTIF. MorphAES est le premier moteur de shellcode polymorphe au monde, doté de propriétés métamorphiques et de la capacité de contourner les sandboxes, ce qui le rend indétectable pour un IDPS ; il est également multiplateforme et indépendant des bibliothèques.

Partager

MorphAES

IDPS & SandBox & AntiVirus : Tueur furtif.

MorphAES est le premier moteur de shellcode polymorphe au monde, avec des propriétés métamorphiques et la capacité de contourner les sandboxes, ce qui le rend indétectable pour un IDPS. Il est également multiplateforme et indépendant des bibliothèques.

Propriétés :

  • Polymorphisme (chiffrement AES)
  • Métamorphisme (changement de logique et de constantes)
  • Indépendant de la plateforme (Linux/BSD/Windows)
  • Furtivité IDPS (le nombre total de signatures possibles est supérieur au nombre d'atomes dans l'univers pour un code donné)
  • Contournement de sandbox (instructions assembleur spéciales)
  • Évitement des caractères indésirables (\x00, \x04, \x05, \x09, \x0a, \x20)
  • Peut produire des exécutables et être exploité à distance
  • Le code d'entrée peut avoir une longueur arbitraire
  • Possibilité d'un NOP sled

Dépendances pour le morpheur :

  • Python 2.7 - moteur principal

Dépendances pour l'exécution du code :

  • Intel AES-NI 64 bits - pour le déchiffrement

Néanmoins, il existe certaines limitations (alias aspects white-hat) :

  • Le métamorphisme n'est pas très robuste et peut être détecté par des expressions régulières (mais peut être amélioré assez facilement)
  • Les octets nuls Unicode pourraient encore fonctionner (mais qui s'en soucie ?)
  • Il fonctionnera uniquement sur les processeurs Intel 64 bits avec support AES-NI, mais comme tous les PC des utilisateurs (comme Pentium, Celeron, i3, i5, i7) et les serveurs industriels (comme Xeon) en sont équipés, c'est plus une spécification qu'une limitation, donc une implémentation 32 bits est peu pratique.
  • Presque n'importe quel shellcode est garanti de fonctionner, cependant un code arbitraire non (pour éviter les abus de malware)
  • Les PoC et exécutables Windows/BSD sont en cours, ainsi que la version ARM
  • Comment ça marche

    1. Remplissage du shellcode avec des NOP (car AES est un chiffrement par blocs) et ajout d'un NOP sled optionnel
    2. Chiffrement du shellcode avec une clé aléatoire utilisant AES-128-ECB personnalisé (pas le meilleur, mais le plus simple) - polymorphisme
    3. Randomisation des constantes, changements de logique, modification et réécriture des instructions - métamorphisme

    HowTo

    Vous devrez assembler mon implémentation personnalisée AESNI-128-ECB en utilisant un CPU Intel x64 et la placer dans le même dossier que le script Python.

    Pour Linux :

    root@kitploit:~
    sudo apt-get install python
    as --64 AES.s -o AES.o
    ld AES.o -o AES
    

    Exécutez le script Python et entrez votre shellcode ou rien pour un shell Linux par défaut. Vous pouvez également spécifier votre propre adresse d'exécution.

    Il est également possible de compiler et d'exécuter sur Windows/BSD/Mac, mais je suis encore en phase de test.

    Vous pouvez tester le PoC Linux en assembleur :

    root@kitploit:~
    as --64 shellcodePoC.s -o shellcodePoC.o
    ld shellcodePoC.o -o shellcodePoC
    ./shellcodePoC
    

    ou en C :

    root@kitploit:~
    gcc -m64 -fno-stack-protector -z execstack shellcode.c -o shellcode
    ./shellcode
    

    Chaque fichier est commenté et expliqué

    Tests

    À ce stade, il devrait être assez évident que les hachages seront différents à chaque fois, mais comparons les SSDEEP de 2 exécutables Linux du même shellcode :

    • 96:GztTHyKGQh3lo6Olv4W4zS/2WnDf74i4a4B7UEoB46keWJl09:Gzty6VOlvqSTDflmNroh,
    • 96:GQtT23yKmFUh3lo6OlOnIrFS4rkoPPf74i4a4B7UEoB46keWJ5:GQtCGWVOlOWFSsPflmNroh,

    Eh bien, il y a quelque chose en commun, mais globalement ce sont deux signatures différentes. Qu'en est-il du shellcode lui-même :

    • 6:Cq8bnJYn4Xkm3qECaADATyEnT8snTiETiTCfhUaAP6mYGexCKdKZzX+rqVCKdKTc:xuJ0Zp2xRZof79G/KVyk/KTbA,
    • 6:vrg+T1RfLEQD/zD1DZzDJ3zDBfjDcDRJDULUwzWq0Cgk3g4zE/Yq0Cgk3gy12Ots:vLjjEszWCp3w/YCp3Nts,

    Des signatures presque totalement différentes pour le même shellcode morphe !

    À la date de publication, l'exécutable n'était détecté comme shellcode que par 2 antivirus sur 53 (AVG et Ikarus) sur virustotal, mais maintenant, il échoue tout simplement à analyser.

    malwr et cuckoo2 ne voient rien de suspect.

    Du point de vue du reverser, IDA ne verra rien non plus.

    Radare2 ne montrerait les vraies instructions que si assemblé par l'assembleur lui-même, cependant il ne détecte aucune activité crypto ou suspecte pour l'exécutable.

    Bien que je ne l'aie pas testé personnellement, je pense que FortiSandbox, Sophos Sandstorm, Blue Coat, GateWatcher et leurs dérivés pourraient échouer lamentablement...

    Pour résumer

    En gros, il peut transformer le code d'un script-kid (ou d'un code connu) en un zero-day.

    Les IDPS échoueront car il est presque impossible de créer une signature et difficile de faire une analyse par expressions régulières ou heuristique.

    La plupart des sandboxes n'utilisent pas directement les instructions AES-NI d'Intel, donc elles n'exécuteront pas le code, donc « tout va bien » pour elles, alors que ce n'est pas le cas.

    La seule façon de vaincre ce type de shellcode est d'utiliser un sandboxing approprié et/ou une IA.

    Bien sûr, DEP/NX/CANARY/ASLR devraient également fonctionner.

    Notez que l'exécution entière est réalisée en assembleur pur, aucun Python (ou OpenSSL) n'est nécessaire pour l'exécution du shellcode car j'utilise uniquement des instructions assembleur intégrées, il est donc indépendant du système (certes, vous devrez l'assembler pour chaque système en adaptant les instructions/opcodes, mais ils restent les mêmes).

    Notes

    C'est encore un travail en cours, je vais implémenter les moteurs Windows et BSD/Mac et les PoCs dès que possible.

    Les IDPS et les sandboxes appartiennent au passé.

    "La tradition devient notre sécurité, et lorsque l'esprit est en sécurité, il est en décadence."

    Jiddu Krishnamurti

    Télécharger l’outil