
نفّذ قراءات/كتابات/استدعاءات وظائف عشوائية على مستوى النواة في بيئات محمية بسلامة الكود المحمية بالمراقب الافتراضي (Hypervisor-Protected Code Integrity - HVCI) دون صلاحيات المسؤول أو برامج تشغيل النواة.
يحقق ZeroHVCI قراءة/كتابة/استدعاء دوال kernel تعسفية في البيئات المحمية بـ Hypervisor-Protected Code Integrity (HVCI) دون صلاحيات المسؤول أو برامج تشغيل kernel.

للبدء مع ZeroHVCI، يمكنك استنساخ هذا المستودع وبناء المشروع.
//
// 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);
مشروعان رئيسيان مسؤولان عن جعل هذا ممكنًا
يوضح كيف يمكن ربط الثغرات المنشورة (CVEs) معًا للوصول إلى kernel في البيئات المحمية بـ HVCI. مفيد لباحثي الأمن الذين يدرسون سلامة نواة ويندوز وتخفيفات تجاوز HVCI.
Cr4sh على KernelForge
varwara على POC POC2
Eric Egsgard على محاضرته
لأغراض تعليمية وبحوث أمنية مصرّح بها فقط. لا تستخدمه على أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها. لست مسؤولًا عن إساءة الاستخدام. استخدمه على مسؤوليتك الخاصة.
جميع أسماء المنتجات والعلامات التجارية والعلامات التجارية المسجلة المذكورة هي ملك لأصحابها المعنيين.