Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
matrix-rs — Rusty Hypervisor - Hyperviseur Blue Pill de type 2 du noyau Windows en Rust (Nom de code : Matrix) | Kitploit
Outils/GitHubGitHub/memn0ps/matrix-rs
Criminalistique MémoireAnalyse Dynamique de Code (DAST)Évasion IDS/IPSRétro-ingénierieVirtualisation de SécuritéApprentissage et ÉducationArchived
GitHubmemn0ps/matrix-rs

matrix-rs

Rusty Hypervisor - Hyperviseur Blue Pill de type 2 du noyau Windows en Rust (Nom de code : Matrix)

Voir le dépôt
356428il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Hyperviseur Blue Pill de type 2 du noyau Windows en Rust (Nom de code: Matrix)

License Issues Forks Stars

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

Un hyperviseur de recherche de type 2 écrit en Rust, léger, sûr en matière de mémoire et extrêmement rapide, avec des hooks pour Intel VT-x, axé sur l'étude des concepts fondamentaux de la virtualisation.

Remarque: L'hyperviseur Illusion (hyperviseur Blue Pill de type 1 pour UEFI Windows en Rust) est plus stable, prend en charge davantage de fonctionnalités et est globalement mieux conçu. L'hyperviseur Matrix (hyperviseur Blue Pill de type 2 du noyau Windows en Rust) est une version plus ancienne et expérimentale qui n'est pas destinée à une utilisation en production. Les deux projets servent de modèles pour aider les personnes à démarrer dans le développement d'hyperviseurs en Rust.

Hooks EPT Figure 0: Hooks de tables de pages étendues (EPT) (Matrix)

Fonctionnalités

  • ✅ Tables de pages étendues (EPT): prise en charge des registres de plage de types de mémoire (MTRR).
  • ✅ Gestion des VM Exit: gestion de ExceptionOrNmi (#GP, #PF, #BP, #UD), Cpuid, Getsec, Vmcall, Vmclear, Vmlaunch, Vmptrld, Vmptrst, Vmresume, Vmxon, Vmxoff Rdmsr, Wrmsr, Invd, Rdtsc, , , , , .

Matériel pris en charge

  • ✅ Processeurs Intel avec prise en charge de VT-x et des tables de pages étendues (EPT).
  • ❌ Processeurs AMD avec prise en charge d'AMD-V (SVM) et des tables de pages imbriquées (NPT).

Plateformes prises en charge

  • ✅ Windows 10 - Windows 11, x64 uniquement.

Installation

  1. Installez Rust à partir d'ici.
  2. Passez à Rust Nightly: rustup toolchain install nightly et rustup default nightly.
  3. Installez LLVM: winget install LLVM.LLVM.
  4. Installez les outils: cargo install cargo-make cargo-expand cargo-edit cargo-workspaces.
  5. Installez WDK/SDK/EWDK: étapes ici.
  6. Définissez la variable d'environnement WDKContentRoot pour qu'elle pointe vers votre chemin d'installation du WDK, si elle n'a pas été définie automatiquement lors de l'installation du WDK:
root@kitploit:~
[System.Environment]::SetEnvironmentVariable("WDKContentRoot", "C:\Program Files (x86)\Windows Kits\10", [System.EnvironmentVariableTarget]::User)

Compilation du projet

  • Développement: cargo make --profile development.
  • Production: cargo make --profile release.

Débogage

Activation des modes de débogage

  • Mode test: activez la signature de test avec bcdedit.exe /set testsigning on.
  • Débogage Windows: suivez les étapes de ce guide Microsoft.
root@kitploit:~
bcdedit.exe /bootdebug {bootmgr} on
bcdedit.exe /bootdebug on
bcdedit.exe /debug on

Débogage réseau avec Windbg

Configuration: bcdedit.exe /dbgsettings net hostip:w.x.y.z port:n.

Filtre d'impression de débogage

  1. Ouvrez regedit.exe.
  2. Accédez à HKLM\SYSTEM\CurrentControlSet\Control\Session Manager.
  3. Créez Debug Print Filter avec le DWORD DEFAULT = 8.

Débogage par port série VMware

  1. Ajoutez un port série dans VMware: 'Utiliser un fichier de sortie'.
  2. Configurez dans la VM Windows: $serialPort = New-Object System.IO.Ports.SerialPort COM2,9600,None,8,One; $serialPort.Open().

Gestion du service

Utilisez le contrôleur de services (sc.exe) pour créer et gérer le service de l'hyperviseur:

root@kitploit:~
sc.exe create matrix type= kernel binPath= C:\Windows\System32\drivers\matrix.sys
sc.exe query matrix
sc.exe start matrix

Utilisation

  1. Configuration pour VMware Workstation

    Compilez le projet: suivez les instructions de compilation fournies dans les sections précédentes pour compiler le projet.

  2. Configurer VMware Workstation

    Configurez le port série VMware pour le débogage.

Paramètres du port série VMware Figure 1: Paramètres du port série VMware

Assurez-vous que "Virtualize Intel VT-x/EPT or AMD-V/RVI" est activé et que "Virtualize IOMMU (IO memory management unit)" est activé.

Paramètres des processeurs VMware Figure 2: Paramètres des processeurs VMware

  1. Copier le pilote

    Copiez le pilote matrix.sys dans le répertoire C:\Windows\System32\drivers.

  2. Débogage par port série VMware

    Exécutez le script PowerShell de la section Débogage par port série pour ouvrir le port série.

  3. Charger l'hyperviseur

    Utilisez le script PowerShell load.ps1 présenté dans la section Gestion du service pour créer et démarrer le service de l'hyperviseur.

Chargement de l'hyperviseur Figure 3: Chargement de l'hyperviseur

PoC

Configuration du PoC de l'hyperviseur Figure 4: Configuration du PoC avec les journaux et Windbg

Exécution du PoC de l'hyperviseur Figure 5: Exécution du PoC avec les journaux et Windbg

Remerciements, références et motivation

Un grand merci aux personnes et aux ressources exceptionnelles qui ont façonné ce projet. Un merci tout particulier à toutes les personnes énumérées ci-dessous. Bien que je n'aie pas utilisé toutes ces ressources dans mon travail, elles ont été de véritables mines d'or d'informations, extrêmement utiles pour quiconque se lance dans le développement d'hyperviseurs, y compris moi-même.

  • Daax (@daaximus): Pour son excellente série gratuite sur le développement d'hyperviseurs, qui est l'une des meilleures ressources disponibles et qui a grandement influencé mon travail grâce à ses recherches approfondies et ses explications claires. Son soutien et ses réponses à mes questions ont été inestimables pour me lancer dans le développement d'hyperviseurs:

    • 7 Days to Virtualization.
    • MMU Virtualization via Intel EPT.
  • Satoshi Tanda (@tandasat): Les conseils, les projets et les programmes de formation structurés de Satoshi Tanda ont été incroyablement utiles. Ses explications détaillées et ses contributions sur GitHub ont considérablement enrichi ma compréhension, faisant de lui un excellent mentor tout au long de mon parcours:

    • Hypervisor Development for Security Researchers.
    • Hypervisor 101 in Rust.
    • Projets supplémentaires: Hello-VT-rp, DdiMon, HyperPlatform, MiniVisorPkg.
  • Jess (@jessiep_): Pour son soutien inestimable et sa collaboration dans plusieurs domaines de ce projet, apportant des perspectives et une expertise essentielles, ainsi que pour ses réponses rapides à mes questions.

  • Drew (@drew): Pour son aide, ses conseils et ses réponses rapides à mes questions sur divers aspects du développement d'hyperviseurs.

  • Sina Karvandi (@Intel80x86): Pour sa série gratuite et détaillée Hypervisor From Scratch:

    • Série de tutoriels.

Ressources communautaires et techniques

  • Secret Club: Des éclairages sur les systèmes anti-triche et la détection d'hyperviseurs, qui ont également inspiré ce projet:

    • System emulation detection par @Daax, @iPower, @ajkhoury, @drew.
    • BattlEye hypervisor detection par @vmcall, @Daax.
  • Autres ressources essentielles:

    • Intel's Software Developer's Manual.
    • Detecting Hypervisor-Assisted Hooking de Maurice Heumann (@momo5502).
    • x64 Virtual Address Translation de Guided Hacking sur YouTube.
    • UnKnoWnCheaTs publication du forum par @namazso.
    • RVM1.5, Barbervisor, rustyvisor, orange_slice, mythril, uhyve, maystorm.
    • AMD-V Hypervisor Development by Back Engineering, .

Aides et collaborateurs

Un merci spécial à:

  • Daax.
  • Satoshi Tanda (@tandasat).
  • Drew (@drew).
  • iPower (@iPower).
  • Namazso (@namazso).
  • Jess (@jessiep_).
  • Matthias @not-matthias.
  • @felix-rs / @joshuа.
  • Ryan McCrystal / @rmccrystal.
  • Jim Colerick (@vmprotect).

Licence

Ce projet est sous licence MIT. Pour plus d'informations, consultez les détails de la licence MIT.

Télécharger l’outil
EptViolation
EptMisconfiguration
Invept
Invvpid
Xsetbv
  • ✅ Hooks inline cachés du noyau: hooks de points d'arrêt (int3) compatibles PatchGuard.
  • ✅ Hooks d'appels système (Syscall) cachés: hooks compatibles PatchGuard pour les entrées de fonctions de la table de descripteurs de services système (SSDT).
  • ✅ Isolation et sécurité: implémentations personnalisées de la table de descripteurs globaux (GDT), de la table de descripteurs d'interruptions (IDT) et des tables de pages afin d'améliorer la sécurité et l'isolation de l'hyperviseur. Merci à @namazso pour avoir sensibilisé à ce sujet.
  • Dépôt GitHub.
  • Matthias (@not-matthias): Pour son travail marquant sur le projet amd_hypervisor, qui a grandement inspiré et influencé cette recherche.

  • Nick Peterson (@everdox) et Aidan Khoury (@ajkhoury): Pour leurs explorations perspicaces de l'introspection d'hyperviseurs et du hooking d'appels système:

    • Patchguard: Hypervisor Based Introspection [P1].
    • Patchguard: Hypervisor Based Introspection [P2].
    • Syscall Hooking Via Extended Feature Enable Register (EFER).
  • bluepill by @_xeroxz
  • hvpp by @wbenny.
  • HyperHide by @Air14.
  • How AetherVisor works under the hood by M3ll0wN1ght.
  • Rust library to use x86 (amd64) specific functionality and registers (x86 crate for Rust).
  • HyperBone de DarthTon (basé sur la version légendaire d'Alex Ionescu) sur UnknownCheats.
  • Joanna Rutkowska: Pioneering the Blue Pill Hypervisor Concept, one of the earliest proofs of concept.