MemoryEvasion
Un chargeur d'évasion mémoire Cobalt Strike pour redteamers, prend en charge les payloads x86/x64 stager/stagerless avec profil (testé sur windows7/10, winserver 2012)
- Hooking des fonctions Sleep, CreateProcessA, CreateHeap, GetProcessHeap avant que le shellcode ne soit chargé en mémoire.
- Création d'un nouveau tas (heap) pour le profil du beacon. Lorsque le beacon appelle les fonctions GetProcessHeap ou CreateHeap, retourne le handle du nouveau tas.
- Lorsque le beacon appelle la fonction sleep, nous chiffrons les mémoires où se trouvent le beacon et le profil, et une fois le sleep terminé, nous les déchiffrons.
Pourquoi hooker GetProcessHeap et CreateHeap
- Le beacon 64 bits appelle GetProcessHeap pour obtenir la mémoire du profil du beacon.
- Le beacon 32 bits n'appelle pas GetProcessHeap pour obtenir la mémoire du profil du beacon. Il utilise CreateHeap pour créer un nouveau tas et obtenir la mémoire afin d'y stocker le profil du beacon.
Démo

Références
Ce projet n'aurait pas été possible sans les éléments suivants :