Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
illusion-rs — Rusty Hypervisor – Windows-UEFI-Blue-Pill-Typ-1-Hypervisor in Rust (Codename: Illusion) | Kitploit
Tools/GitHubGitHub/memn0ps/illusion-rs
DefensivwerkzeugeSpeicherforensikPersistenzmechanismenReverse EngineeringSicherheitsvirtualisierungMalware-AnalyseHardware-SicherheitBinäranalysePapers & ForschungRed TeamingArchived
41360vor 4 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHub
memn0ps/illusion-rs

illusion-rs

Rusty Hypervisor – Windows-UEFI-Blue-Pill-Typ-1-Hypervisor in Rust (Codename: Illusion)

Repository anzeigenWebseite
Teilen

Windows UEFI Blue Pill Type-1 Hypervisor in Rust (Codename: Illusion)

License Issues Forks Stars

Blog: https://memn0ps.github.io/hypervisors-for-memory-introspection-and-reverse-engineering/

Ein leichtgewichtiger, speichersicherer und blitzschneller Rust-basierter Type-1-Forschungshypervisor mit Hooks für Intel VT-x, der sich auf das Studium der Kernkonzepte der Virtualisierung konzentriert.

Hinweis: Der Illusion-Hypervisor (Windows UEFI Blue Pill Type-1 Hypervisor in Rust) ist stabiler, unterstützt mehr Funktionen und ist insgesamt besser konzipiert. Der Matrix-Hypervisor (Windows Kernel Blue Pill Type-2 Hypervisor in Rust) ist eine ältere, experimentelle Version und nicht für den Produktionseinsatz gedacht. Beide Projekte dienen als Vorlagen, um Menschen den Einstieg in die Hypervisor-Entwicklung mit Rust zu erleichtern.

Beschreibung

Paging: Übersetzung von x64-virtuellen Adressen in physische Adressen

Dieses Diagramm veranschaulicht den Mechanismus zur Übersetzung von x64-virtuellen Adressen in physische Adressen in traditionellen Paging-Systemen. In der x64-Architektur umfasst diese Übersetzung vier Ebenen von Seitentabellen: PML4, PDPT, PDT und PT (Page Map Level 4, Page Directory Pointer Table, Page Directory Table und Page Table). Jede Ebene verwendet 9 Bits der virtuellen Adresse, um in die nächste Ebene zu indizieren und letztendlich auf eine bestimmte physische Adresse im RAM zu verweisen. Dieser Prozess wird vom Betriebssystem und der Memory Management Unit (MMU) verwaltet, die von der Software verwendete virtuelle Adressen in von der Hardware verwendete physische Adressen übersetzt.

x64 Virtual Address Translation
Abbildung 1: x64 Virtual Address Translation (Vollständige Credits: Guided Hacking)

Extended Page Tables (EPT): Second Level Address Translation (SLAT)

Extended Page Tables (EPT) sind eine Funktion hardwareunterstützter Virtualisierungstechnologien wie Intel VT-x und AMD-Vs Nested Page Tables (NPT). EPT implementiert Second Level Address Translation (SLAT), die speziell für virtualisierte Umgebungen entwickelt wurde. Während traditionelles Paging virtuelle Adressen in physische Adressen innerhalb des Gast-Betriebssystems übersetzt, fügt EPT eine zusätzliche Ebene hinzu, indem es Gast-physische Adressen (die vom Gast-Betriebssystem verwendet werden) in Host-physische Adressen (die vom Hypervisor verwendet werden) übersetzt. Diese zweite Übersetzungsebene wird vom Hypervisor verwaltet, wodurch Gast-Betriebssysteme ihre eigenen Seitentabellen unabhängig verwalten können. SLAT verbessert die Leistung, indem es die Notwendigkeit von VM-Exits während Speicheroperationen minimiert, was den Overhead reduziert und die Virtualisierungseffizienz erhöht.

Das folgende Diagramm zeigt, wie versteckte EPT-Hooks im Windows UEFI Blue Pill Type-1 Hypervisor (Codename: Illusion) implementiert werden, der in Rust geschrieben ist.

EPT Hooks
Abbildung 2: Extended Page Tables (EPT) Hooks (Illusion)

Funktionen

PatchGuard-kompatible Funktionen

  • ✅ Versteckte System Call (Syscall) Hooks über die System Service Descriptor Table (SSDT).
  • ✅ Versteckte Kernel Inline Hooks.
  • ✅ Versteckte Model Specific Registers (MSR) Hooks.

Prozessorspezifische Funktionen

  • ✅ Extended Page Tables (EPT).
  • ✅ Memory Type Range Registers (MTRRs).
  • ❌ Intel Processor Trace (PT).

Microsoft Hyper-V-kompatible Funktionen

  • ❌ Unterstützung für die Ausführung als verschachtelter Hypervisor unter Microsoft Hyper-V (Type-2) mit aktivierter Virtualization Based Security (VBS).
  • ❌ Unterstützung für die Ausführung als primärer Hypervisor auf Microsoft Hyper-V (Type-1) mit aktivierter Virtualization Based Security (VBS).

VM-Exit-Behandlung

  • ✅ VM-Exit-Behandlung: ExceptionOrNmi (#GP, #PF, #BP, #UD) (0), InitSignal (3), StartupIpi (4), Cpuid (10), Getsec (11), Hlt (12), Invd (13), Vmcall (18), Vmclear (19), Vmlaunch (20), Vmptrld (21), Vmptrst (22), Vmresume (24), Vmxon (27), Vmxoff (26), ControlRegisterAccesses (28), Rdmsr (31), Wrmsr (32), MonitorTrapFlag (37), Rdtsc (49), EptViolation (48), EptMisconfiguration (50), Invept (53), Invvpid (55), Xsetbv (55).

Hypervisor-Erkennung

  • ✅ Hypervisor-Speicher vor dem Gast verbergen mithilfe von EPT (Gast-Speicher, der auf Host-Speicher verweist, auf eine mit 0xFF gefüllte Dummy-Seite umleiten).
  • ✅ Benutzerdefinierte Umgehung der Hypervisor-Erkennung auf Basis von Seitentabellen (bietet Isolation und Sicherheit vor dem Gast, einschließlich CR3-Trashing).
  • ✅ Benutzerdefinierte Umgehung der Hypervisor-Erkennung auf Basis von GDT und IDT (gewährleistet Isolation und Sicherheit vor dem Gast).
  • ✅ Umgehung der Hypervisor-Erkennung auf CPUID-Basis (HypervisorPresent zurücksetzen und Vendor-ID-Signatur für Feature Information und Hypervisor Vendor entfernen).
  • ✅ Umgehung der Hypervisor-Erkennung auf MSR-Basis (#GP für ungültige, nicht unterstützte und reservierte Hyper-V-MSR-Vmexits injizieren).
  • ✅ Umgehung der Hypervisor-Erkennung auf CR-Basis (CR0 und CR4 shadowen, um hypervisorspezifische Bits zu verbergen).
  • ✅ Umgehung der Hypervisor-Erkennung auf XSETBV-Basis (#GP für ungültige oder nicht unterstützte XSETBV-Vmexits injizieren).
  • ✅ Umgehung der Hypervisor-Erkennung auf VMCALL-Basis (#GP für ungültige oder nicht unterstützte VMCALL-Vmexits injizieren).
  • ✅ Umgehung der Hypervisor-Erkennung auf ExceptionOrNMI-Basis (#GP, #PF, #BP, #UD für bestimmte Exception-Vmexits injizieren).
  • ✅ Unbedingte Vmexits (#UD für unbedingte Vmexits injizieren, aber für Vmxon #UD injizieren, wenn es kein VMXE enthält; andernfalls #GP injizieren, wenn es VMXE enthält).
  • ❌ Umgehung der Hypervisor-Erkennung auf EPT-Basis (Write-Check, Timing-Check und Thread-Check).
  • ❌ Umgehung der Hypervisor-Erkennung auf RDTSC-Basis.
  • ✅ Hypervisor-Speicher aus der UEFI-Speicherkarte/-tabelle entfernen (die vom Hypervisor belegten Speicherbereiche identifizieren und die UEFI-Speicherkarte ändern, um diese Bereiche als UNUSABLE zu markieren).

Isolation und Sicherheit

  • ✅ Benutzerdefinierte Implementierungen der Global Descriptor Table (GDT), Interrupt Descriptor Table (IDT) und Seitentabellen zur Verbesserung der Sicherheit und Isolation des Hypervisors.

Unterstützte Hardware

  • ✅ Intel-Prozessoren mit VT-x- und Extended Page Tables (EPT)-Unterstützung.
  • ❌ AMD-Prozessoren mit AMD-V (SVM)- und Nested Page Tables (NPT)-Unterstützung.

Unterstützte Plattformen

  • ✅ Windows 10 - Windows 11, nur x64.

Installation

  • Rust von hier installieren.
  • cargo-make installieren: cargo install cargo-make.

Erstellen des Projekts

Tool herunterladen