
Logra lecturas/escrituras arbitrarias del kernel y llamadas a funciones en entornos protegidos por Hypervisor-Protected Code Integrity (HVCI) llamando sin permisos de administrador ni controladores de kernel.
ZeroHVCI logra lecturas/escrituras/llamadas a funciones arbitrarias del kernel en entornos protegidos por Hypervisor-Protected Code Integrity (HVCI) sin permisos de administrador ni controladores de kernel.

Para comenzar con ZeroHVCI, puedes clonar este repositorio y compilar el proyecto.
//
// Read kernel memory example:
//
ReadKernelMemory(source_address, buffer_address, size);
//
// Write kernel memory example:
//
WriteKernelMemory(source_address, buffer_address, size);
//
// Kernel function calling example via name:
//
KF::CallKernelFunctionViaName<kernel_param_type1, kernel_param_type2, kernel_param_type3>(
"kernel_function_name",
param1,
param2,
param3);
//
// ExAllocatePool example:
//
KF::CallKernelFunctionViaName<PVOID, POOL_TYPE, SIZE_T>("ExAllocatePool", PoolType, Size);
//
// memcpy example:
//
KF::CallKernelFunctionViaName<PVOID, PVOID, PVOID, SIZE_T>("memcpy", Dst, Src, Size);
//
// PsLookupProcessByProcessId example:
//
PEPROCESS Process;
KF::CallKernelFunctionViaName<NTSTATUS, HANDLE, PEPROCESS*>("PsLookupProcessByProcessId", ProcessHandle, &Process);
Dos proyectos principales hacen posible esto
Demuestra cómo los CVE publicados pueden encadenarse para obtener acceso al kernel en entornos protegidos por HVCI. Útil para investigadores de seguridad que estudian la integridad del kernel de Windows y las mitigaciones de bypass de HVCI.
Cr4sh por KernelForge
varwara por su POC POC2
Eric Egsgard por su charla
Solo para fines educativos e investigación de seguridad autorizada. No lo uses en sistemas que no poseas o para los que no tengas permiso explícito de prueba. No soy responsable del mal uso. Úsalo bajo tu propio riesgo.
Todos los nombres de productos, marcas comerciales y marcas registradas mencionados son propiedad de sus respectivos dueños.