MemoryEvasion
Un loader di evasione della memoria per Cobalt Strike pensato per red teamer, supporta payload x86/x64 stager/stagerless con profilo (testato su windows7/10, winserver 2012)
Come avviene l'evasione?
- Hook delle funzioni Sleep, CreateProcessA, CreateHeap, GetProcessHeap prima che lo shellcode venga caricato in memoria.
- Creazione di un nuovo heap per il profilo del beacon. Quando il beacon chiama le funzioni GetProcessHeap o CreateHeap, viene restituito l'handle del nuovo heap.
- Quando il beacon chiama la funzione sleep, crittografiamo le memorie in cui si trovano il beacon e il profilo e, al termine del sleep, le decrittografiamo.
Perché hookare GetProcessheap e CreateHeap
- Il beacon a 64 bit chiama GetProcessHeap per ottenere la memoria per il profilo del beacon.
- Il beacon a 32 bit non chiama GetProcessHeap per ottenere la memoria per il profilo del beacon. Utilizza CreateHeap per creare un nuovo heap e ottenere da esso la memoria per memorizzare il profilo del beacon.
Demo

Riferimenti
Questo progetto non sarebbe stato possibile senza i seguenti: