Logging my learning journey with Hypervisors and Virtualization. just another hypervisor...
- Hypervisor from Scratch
- CSE 291 - Virtualization
- Red Team Notes - Windows Kernel Internals
- 5 Days to Virtualization: A Series on Hypervisor Development
- Host Setup
- Ensure Windows Debugging Tools are installed on the host.
- Locate
kdnet.exe
andVerifiedNICList.xml
at:C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
- Target Setup (ref)
- Create a directory on the target:
C:\KDNET
- Copy
kdnet.exe
andVerifiedNICList.xml
intoC:\KDNET
from host - Confirm that the output lists a supported NIC with
C:\KDNET>kdnet.exe
- Create a directory on the target:
- Enable Debugging
- Set the IP of the host and specify a unique debug port:
C:\KDNET>kdnet.exe <HostComputerIPAddress> <YourDebugPort>
- Copy the generated key
- Connect to Target from Host
WinDbgX.exe -k net:port=<DebugPort>,key=<GeneratedKey>
- Enabling virtualization passthrough in VMware Workstation requires disabling all virtualization-based features on Windows, however Windows Core Isolation/Memory Integrity requires the hypervisor.
- Solution is to turn off Virtualization-based security (VBS) for enabling Nested Virtualization in VMware
- In Windows Features, turn off Hyper-V, Virtual Machine Platform and Windows Hypervisor Platform
- Turn off Core Isolation in Device Security
- Alternatively, use the Microsoft Device Guard and Credential Guard script to disable and re-enable virtualization and virtualization-based security
- Verify settings in
msinfo32
- Virtualization-based security should be off
- No hypervisor should be detected
- Reference: