
IDPS & SandBox & AntiVirus 隐形杀手。MorphAES 是世界上首个多态 shellcode 引擎,具有变形特性,并具备绕过沙箱的能力,这使得它对于 IDPS 而言无法被检测;它同时也是跨平台的,且不依赖任何库。
IDPS 与沙盒与反病毒 隐形杀手。

MorphAES 是世界上第一款多态 shellcode 引擎,具有变形特性并能绕过沙盒,使其对 IDPS 无法检测。它同样跨平台且不依赖库。
特性:
变形器的依赖:
代码执行的依赖:
尽管如此,仍有一些限制(即白帽方面):
你需要使用 Intel x64 CPU 汇编我自定义的 AESNI-128-ECB 实现,并将其放在与 Python 脚本相同的文件夹中。
对于 Linux:
sudo apt-get install python
as --64 AES.s -o AES.o
ld AES.o -o AES
执行 Python 脚本,输入你的 shellcode 或留空以使用默认的 Linux shell。你也可以指定自己的执行地址。
也可以在 Windows/BSD/Mac 上构建并执行,但我仍在测试中。
你可以用汇编测试 Linux PoC:
as --64 shellcodePoC.s -o shellcodePoC.o
ld shellcodePoC.o -o shellcodePoC
./shellcodePoC
或者用 C:
gcc -m64 -fno-stack-protector -z execstack shellcode.c -o shellcode
./shellcode
每个文件都有注释和说明
此时,哈希值每次都会不同应该是显而易见的,但我们比较一下同一 shellcode 的两个 Linux 可执行文件的 SSDEEP:
嗯,有些共同点,但总体上是两个不同的签名。那么 shellcode 本身呢:
对于相同的变形 shellcode,签名几乎完全不同!
在发布之日,该可执行文件在 virustotal 上仅被 53 个杀毒软件中的 2 个(AVG 和 Ikarus)检测为 shellcode,但现在它甚至无法分析。
从逆向工程师的角度看,IDA 也不会看到任何内容。
Radare2 只有在汇编器自身汇编时才会显示真实指令,但不会检测到该可执行文件的任何加密或可疑活动。
虽然我没有亲自测试过,但我认为 FortiSandbox、Sophos Sandstorm、Blue Coat、GateWatcher 及其衍生品可能会严重失效……
基本上,它可以将脚本小子的代码(或 已知代码)转化为零日漏洞。
IDPS 将会失效,因为几乎不可能制作签名,且难以进行正则表达式或启发式分析。
大多数沙盒不直接使用 Intel 的 AES-NI 指令,因此它们不会执行代码,所以“一切正常”,而实际上并非如此。
击败此类 shellcode 的唯一方法是使用适当的沙盒技术和/或人工智能。
当然,DEP/NX/CANARY/ASLR 也应该有效。
请注意,整个执行过程由纯汇编完成,shellcode 的执行不需要 Python(或 OpenSSL),因为我只使用内置汇编指令,因此它是系统无关的(当然,你需要为每个系统调整指令/操作码进行汇编,但它们仍然是相同的)。
这仍是一项进行中的工作,我将尽快实现 Windows 和 BSD/Mac 引擎及 PoC。
IDPS 和沙盒已成为过去。
“传统成为我们的安全,当心智安全时,它就在衰败。”
吉杜·克里希那穆提