
IDPS- & Sandbox- & Antivirus-Stealth-Killer. MorphAES ist die weltweit erste polymorphe Shellcode-Engine mit metamorphen Eigenschaften und der Fähigkeit, Sandboxes zu umgehen, wodurch sie für ein IDPS unerkennbar ist. Sie ist außerdem plattformübergreifend und bibliotheksunabhängig.
IDPS & SandBox & AntiVirus STEALTH KILLER.

MorphAES ist die weltweit erste polymorphe Shellcode-Engine mit metamorphischen Eigenschaften und der Fähigkeit, Sandboxen zu umgehen, was sie für ein IDPS unerkennbar macht. Sie ist plattformunabhängig und bibliotheksunabhängig.
Eigenschaften:
Abhängigkeiten für den Morpher:
Abhängigkeiten für die Codeausführung:
Dennoch gibt es einige Einschränkungen (sogenannte White-Hat-Aspekte):
Sie müssen meine benutzerdefinierte AESNI-128-ECB-Implementierung mit einer Intel x64 CPU assemblieren und in denselben Ordner wie das Python-Skript legen.
Für Linux:
sudo apt-get install python
as --64 AES.s -o AES.o
ld AES.o -o AES
Führen Sie das Python-Skript aus und geben Sie Ihren Shellcode ein oder nichts für eine Standard-Linux-Shell. Sie können auch Ihre eigene Ausführungsadresse angeben.
Es ist auch möglich, unter Windows/BSD/Mac zu bauen und auszuführen, aber ich teste es noch.
Sie können den Linux PoC in Assembler testen:
as --64 shellcodePoC.s -o shellcodePoC.o
ld shellcodePoC.o -o shellcodePoC
./shellcodePoC
oder in C:
gcc -m64 -fno-stack-protector -z execstack shellcode.c -o shellcode
./shellcode
Jede Datei ist kommentiert und erklärt
An diesem Punkt sollte es ziemlich offensichtlich sein, dass die Hashes jedes Mal unterschiedlich wären, aber lassen Sie uns SSDEEPes von 2 Linux-Ausführungsdateien desselben Shellcodes vergleichen:
Nun, es gibt einige Gemeinsamkeiten, aber global gesehen sind das 2 verschiedene Signaturen. Was ist nun mit dem Shellcode selbst:
Fast völlig unterschiedliche Signaturen für denselben gemorphten Shellcode!
Zum Veröffentlichungsdatum wurde die ausführbare Datei nur von 2 von 53 Antivirenprogrammen (AVG und Ikarus) auf virustotal als Shellcode erkannt, aber jetzt schlägt die Analyse einfach fehl.
malwr und cuckoo2 sehen nichts Verdächtiges.
Aus der Sicht des Reverse Engineers wird IDA auch nichts sehen.
Radare2 würde die echten Anweisungen nur zeigen, wenn sie vom Assembler selbst assembliert wurden, erkennt jedoch keine Krypto- oder verdächtige Aktivität für die ausführbare Datei.
Obwohl ich es nicht persönlich getestet habe, denke ich, dass FortiSandbox, Sophos Sandstorm, Blue Coat, GateWatcher und ihre Ableger kläglich scheitern könnten...
Im Grunde kann es den Code eines Script-Kiddies (oder eines bekannten) in einen Zero-Day verwandeln.
IDPS wird scheitern, weil es fast unmöglich ist, eine Signatur zu erstellen und schwierig, einen regulären Ausdruck oder eine heuristische Analyse zu erstellen.
Die meisten Sandboxen verwenden Intels AES-NI-Anweisungen nicht direkt, daher werden sie den Code nicht ausführen, also ist "alles in Ordnung" für sie, obwohl es das nicht ist.
Der einzige Weg, diese Art von Shellcode zu besiegen, ist die Verwendung einer geeigneten Sandbox und/oder einer KI.
Natürlich sollten DEP/NX/CANARY/ASLR auch funktionieren.
Beachten Sie, dass die gesamte Ausführung durch reines Assembler erfolgt, für die Ausführung des Shellcodes wird kein Python (oder OpenSSL) benötigt, da ich nur integrierte Assembleranweisungen verwende, daher ist es systemunabhängig (sicherlich müssen Sie es für jedes System assemblieren, indem Sie die Anweisungen/OpCodes anpassen, aber sie sind immer noch gleich).
Dies ist noch in Arbeit, ich werde Windows- und BSD/Mac-Engines und PoCs so schnell wie möglich implementieren.
IDPSes und Sandboxen sind die Vergangenheit.
„Tradition wird zu unserer Sicherheit, und wenn der Geist sicher ist, verfällt er.“
Jiddu Krishnamurti