Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/cryptolok/morphaes
ExplotaciónEvasión de IDS/IPSShellcodePruebas de PenetraciónGeneración de ShellcodeDesarrollo de PayloadsExplotación de Binarios
GitHubcryptolok/morphaes

MorphAES

IDPS & SandBox & AntiVirus STEALTH KILLER. MorphAES es el primer motor de shellcode polimórfico del mundo, con propiedades metamórficas y capacidad de evadir sandboxes, lo que lo hace indetectable para un IDPS, además es multiplataforma e independiente de librerías.

Ver Repositorio
3241035hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

MorphAES

ASESINO SIGILOSO de IDPS, SandBox y Antivirus.

MorphAES es el primer motor de shellcode polimórfico del mundo, con propiedades metamórficas y capacidad de evadir sandboxes, lo que lo hace indetectable para un IDPS, además es multiplataforma e independiente de librerías.

Propiedades:

  • Polimorfismo (cifrado AES)
  • Metamorfismo (cambio de lógica y constantes)
  • Independiente de plataforma (Linux/BSD/Windows)
  • Sigilo para IDPS (el número total de posibles firmas es mayor que el número de átomos en el universo para un código dado)
  • Evasión de sandbox (instrucciones especiales de ensamblador)
  • Evitación de caracteres malos (\x00, \x04, \x05, \x09, \x0a, \x20)
  • Puede producir ejecutables y ser explotado remotamente
  • El código de entrada puede tener longitud arbitraria
  • Posibilidad de un trineo NOP

Dependencias para el morpher:

  • Python 2.7 - motor principal

Dependencias para la ejecución del código:

  • Intel AES-NI de 64 bits - para descifrado

Sin embargo, existen algunas limitaciones (también conocidas como aspectos de sombrero blanco):

  • El metamorfismo no es muy robusto y puede detectarse mediante expresiones regulares (pero se puede mejorar con bastante facilidad)
  • Los bytes nulos Unicode aún podrían funcionar (¿pero a quién le importa?)
  • Solo funcionará en procesadores Intel de 64 bits con soporte AES-NI, pero dado que todos los PC de los usuarios (como Pentium, Celeron, i3, i5, i7) y los servidores de la industria (como Xeon) lo tienen, es más una especificación que una limitación, por lo tanto, una implementación de 32 bits es poco práctica
  • Casi cualquier shellcode está garantizado que funcione, sin embargo, un código arbitrario no (para evitar el abuso de malware)
  • Los PoC y ejecutables para Windows/BSD están en progreso, así como la versión ARM

Cómo funciona

  1. Relleno del shellcode con NOPs (ya que AES es un cifrado de bloques) y adición de un trineo NOP opcional
  2. Cifrado del shellcode con una clave aleatoria usando AES-128-ECB personalizado (no el mejor, pero el más simple) - polimorfismo
  3. Aleatorización de constantes, cambios de lógica, modificación y reescritura de instrucciones - metamorfismo

Cómo hacerlo

Tendrás que ensamblar mi implementación personalizada de AESNI-128-ECB usando una CPU Intel x64 y colocarla en la misma carpeta que el script de Python.

Para Linux:

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

Ejecuta el script de Python e ingresa tu shellcode o nada para un shell Linux predeterminado. También puedes especificar tu propia dirección de ejecución.

También es posible construir y ejecutar en Windows/BSD/Mac, pero todavía lo estoy probando.

Puedes probar el PoC de Linux en ensamblador:

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

o en C:

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

Cada archivo está comentado y explicado

Pruebas

En este punto, debería ser bastante obvio que los hash serían diferentes cada vez, pero comparemos los SSDEEP de 2 ejecutables de Linux del mismo shellcode:

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

Bueno, hay algo en común, pero globalmente son dos firmas diferentes. Ahora, ¿qué hay del shellcode en sí?:

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

¡Firmas casi totalmente diferentes para el mismo shellcode morfeado!

En la fecha de publicación, el ejecutable fue detectado como shellcode solo por 2 de 53 antivirus (AVG e Ikarus) en virustotal, pero ahora simplemente falla al analizar.

malwr y cuckoo2 no ven nada sospechoso.

Desde la perspectiva del reverser, IDA tampoco verá nada.

Radare2 mostraría las instrucciones reales solo si fueran ensambladas por el propio ensamblador, sin embargo, no detecta ninguna actividad criptográfica o sospechosa en el ejecutable.

Aunque no lo probé personalmente, creo que FortiSandbox, Sophos Sandstorm, Blue Coat, GateWatcher y sus derivados podrían fallar gravemente...

En resumen

Básicamente, puede transformar el código de un script-kid (o uno conocido) en un zero-day.

El IDPS fallará porque es casi imposible crear una firma y difícil hacer una expresión regular o un análisis heurístico.

La mayoría de los sandboxes no utilizan directamente las instrucciones Intel AES-NI, por lo que no ejecutarán el código, así que "todo está bien" para ellos, mientras que no lo está.

La única forma de derrotar este tipo de shellcode es usar un sandboxing adecuado o/y una IA.

Por supuesto, DEP/NX/CANARY/ASLR también deberían funcionar.

Ten en cuenta que toda la ejecución se realiza con ensamblador puro, no se necesita Python (ni OpenSSL) para la ejecución del shellcode, ya que solo uso instrucciones de ensamblador integradas, por lo que es independiente del sistema (ciertamente, tendrás que ensamblarlo para cada uno adaptando las instrucciones/opcodes, pero siguen siendo los mismos).

Notas

Esto sigue siendo un trabajo en progreso, implementaré los motores y PoC para Windows y BSD/Mac tan pronto como sea posible.

Los IDPS y sandboxes son cosa del pasado.

"La tradición se convierte en nuestra seguridad, y cuando la mente está segura, está en decadencia."

Jiddu Krishnamurti

Descargar herramienta