MemoryEvasion
Ein Cobalt Strike Memory-Evasion-Loader für Redteamers, unterstützt x86/x64-Stager/Stagerless-Payloads mit Profil (getestet auf Windows 7/10, Windows Server 2012)
Wie funktioniert die Evasion?
- Hookt die Funktionen Sleep, CreateProcessA, CreateHeap und GetProcessHeap, bevor der Shellcode in den Speicher geladen wird.
- Erstellt einen neuen Heap für das Profil des Beacons. Wenn das Beacon die Funktion GetProcessHeap oder CreateHeap aufruft, wird das Handle des neuen Heaps zurückgegeben.
- Wenn das Beacon die Sleep-Funktion aufruft, verschlüsseln wir den Speicher, in dem sich Beacon und Profil befinden. Wenn der Sleep abgeschlossen ist, entschlüsseln wir sie wieder.
Warum GetProcessHeap und CreateHeap hooken?
- Das 64-Bit-Beacon ruft GetProcessHeap auf, um den Speicher für das Profil des Beacons zu erhalten.
- Das 32-Bit-Beacon ruft GetProcessHeap nicht auf, um den Speicher für das Profil des Beacons zu erhalten. Es verwendet CreateHeap, um einen neuen Heap zu erstellen und den Speicher für das Beacon-Profil aus diesem Heap zu beziehen.
Demo

Referenzen