
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.
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:
Dependencias para el morpher:
Dependencias para la ejecución del código:
Sin embargo, existen algunas limitaciones (también conocidas como aspectos de sombrero blanco):
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:
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:
as --64 shellcodePoC.s -o shellcodePoC.o
ld shellcodePoC.o -o shellcodePoC
./shellcodePoC
o en C:
gcc -m64 -fno-stack-protector -z execstack shellcode.c -o shellcode
./shellcode
Cada archivo está comentado y explicado
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:
Bueno, hay algo en común, pero globalmente son dos firmas diferentes. Ahora, ¿qué hay del shellcode en sí?:
¡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...
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).
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