Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
matrix-rs — Rusty Hypervisor - Hipervisor Tipo 2 Blue Pill de kernel do Windows em Rust (Codinome: Matrix) | Kitploit
Ferramentas/GitHubGitHub/memn0ps/matrix-rs
Forensia de MemóriaAnálise Dinâmica de Código (DAST)Evasão de IDS/IPSEngenharia ReversaVirtualização para SegurançaAprendizado e EducaçãoArchived
GitHubmemn0ps/matrix-rs

matrix-rs

Rusty Hypervisor - Hipervisor Tipo 2 Blue Pill de kernel do Windows em Rust (Codinome: Matrix)

Ver Repositório
356428há 3 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

Hipervisor Windows Kernel Blue Pill Tipo-2 em Rust (Codename: Matrix)

License Issues Forks Stars

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

Um hipervisor de pesquisa tipo-2 baseado em Rust, leve, seguro em relação à memória e extremamente rápido, com hooks para Intel VT-x, focado no estudo dos conceitos centrais de virtualização.

Nota: O hipervisor Illusion (Hipervisor Windows UEFI Blue Pill Tipo-1 em Rust) é mais estável, suporta mais recursos e é, no geral, melhor projetado. O hipervisor Matrix (Hipervisor Windows Kernel Blue Pill Tipo-2 em Rust) é uma versão mais antiga e experimental, não sendo destinado ao uso em produção. Ambos os projetos servem como modelos para ajudar as pessoas a começarem no desenvolvimento de hipervisores em Rust.

EPT Hooks Figura 0: Extended Page Tables (EPT) Hooks (Matrix)

Recursos

  • ✅ Extended Page Tables (EPT): Suporte para Memory Type Range Registers (MTRR).
  • ✅ Tratamento de VM Exit: Tratamento de ExceptionOrNmi (#GP, #PF, #BP, #UD), Cpuid, Getsec, Vmcall, Vmclear, Vmlaunch, Vmptrld, Vmptrst, Vmresume, Vmxon, Vmxoff Rdmsr, Wrmsr, Invd, Rdtsc, , , , , .

Hardware Suportado

  • ✅ Processadores Intel com suporte a VT-x e Extended Page Tables (EPT).
  • ❌ Processadores AMD com suporte a AMD-V (SVM) e Nested Page Tables (NPT).

Plataformas Suportadas

  • ✅ Windows 10 - Windows 11, somente x64.

Instalação

  1. Instale o Rust a partir de aqui.
  2. Alterne para o Rust Nightly: rustup toolchain install nightly e rustup default nightly.
  3. Instale o LLVM: winget install LLVM.LLVM.
  4. Instale as Ferramentas: cargo install cargo-make cargo-expand cargo-edit cargo-workspaces.
  5. Instale o WDK/SDK/EWDK: Passos aqui.
  6. Defina a variável de ambiente WDKContentRoot para apontar para o caminho da sua instalação do WDK, caso não tenha sido definida automaticamente durante a instalação do WDK:
root@kitploit:~
[System.Environment]::SetEnvironmentVariable("WDKContentRoot", "C:\Program Files (x86)\Windows Kits\10", [System.EnvironmentVariableTarget]::User)

Compilando o Projeto

  • Desenvolvimento: cargo make --profile development.
  • Produção: cargo make --profile release.

Depuração

Habilitando Modos de Depuração

  • Modo de Teste: Ative a assinatura de teste com bcdedit.exe /set testsigning on.
  • Depuração do Windows: Siga os passos deste guia da Microsoft.
root@kitploit:~
bcdedit.exe /bootdebug {bootmgr} on
bcdedit.exe /bootdebug on
bcdedit.exe /debug on

Depuração em Rede com Windbg

Configuração: bcdedit.exe /dbgsettings net hostip:w.x.y.z port:n.

Filtro de Saída de Depuração

  1. Abra regedit.exe.
  2. Vá para HKLM\SYSTEM\CurrentControlSet\Control\Session Manager.
  3. Crie Debug Print Filter com o DWORD DEFAULT = 8.

Depuração da Porta Serial no VMware

  1. Adicione a Porta Serial no VMware: 'Use output file'.
  2. Configure na VM Windows: $serialPort = New-Object System.IO.Ports.SerialPort COM2,9600,None,8,One; $serialPort.Open().

Gerenciamento do Serviço

Use o Service Controller (sc.exe) para criar e gerenciar o serviço do hipervisor:

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

Uso

  1. Configuração para VMware Workstation

    Compile o Projeto: Siga as instruções de compilação fornecidas nas seções anteriores para compilar o projeto.

  2. Configurar o VMware Workstation

    Configure a porta serial do VMware para depuração.

VMware Serial Port Settings Figura 1: Configurações da Porta Serial no VMware

Certifique-se de que "Virtualize Intel VT-x/EPT or AMD-V/RVI" esteja habilitado e que "Virtualize IOMMU (IO memory management unit)" esteja habilitado.

VMware Processors Settings Figura 2: Configurações de Processadores no VMware

  1. Copiar o Driver

    Copie o driver matrix.sys para o diretório C:\Windows\System32\drivers.

  2. Depuração da Porta Serial no VMware

    Execute o script PowerShell na seção Depuração da Porta Serial para abrir a porta serial.

  3. Carregar o Hipervisor

    Use o script PowerShell load.ps1 mostrado na seção Gerenciamento do Serviço para criar e iniciar o serviço do hipervisor.

Load Hypervisor Figura 3: Carregar Hipervisor

PoC

Hypervisor PoC Setup Figura 4: Configuração do PoC com Logs e Windbg

Hypervisor PoC Execute Figura 5: Execução do PoC com Logs e Windbg

Agradecimentos, Referências e Motivação

Muito obrigado às pessoas e recursos incríveis que moldaram este projeto. Um agradecimento especial a todos listados abaixo. Embora eu não tenha utilizado todos esses recursos no meu trabalho, eles têm sido minas de ouro de informação, super úteis para qualquer pessoa que esteja mergulhando no desenvolvimento de hipervisores, inclusive eu.

  • Daax (@daaximus): Pela sua excelente série gratuita sobre desenvolvimento de hipervisores, que é um dos melhores recursos disponíveis e influenciou muito meu trabalho com sua pesquisa aprofundada e explicações claras. Seu apoio e respostas às minhas perguntas foram inestimáveis para me ajudar a começar no desenvolvimento de hipervisores:

    • 7 Days to Virtualization.
    • MMU Virtualization via Intel EPT.
  • Satoshi Tanda (@tandasat): A orientação, os projetos e os programas de treinamento estruturados de Satoshi Tanda foram incrivelmente úteis. Suas explicações detalhadas e contribuições no GitHub aprimoraram significativamente meu entendimento, tornando-o um grande mentor ao longo da minha jornada:

    • Hypervisor Development for Security Researchers.
    • Hypervisor 101 in Rust.
    • Projetos Adicionais: Hello-VT-rp, DdiMon, HyperPlatform, MiniVisorPkg.
  • Jess (@jessiep_): Pelo seu apoio e colaboração inestimáveis em várias áreas deste projeto, fornecendo percepções e conhecimentos essenciais, e pelas suas respostas rápidas às minhas perguntas.

  • Drew (@drew): Pela sua ajuda, orientação e respostas rápidas às minhas perguntas em vários aspectos do desenvolvimento de hipervisores.

  • Sina Karvandi (@Intel80x86): Pela sua detalhada série gratuita Hypervisor From Scratch:

    • Série de Tutoriais.

Recursos Comunitários e Técnicos

  • Secret Club: Percepções sobre sistemas anti-cheat e detecção de hipervisores, que também inspiraram este projeto:

    • System emulation detection por @Daax, @iPower, @ajkhoury, @drew.
    • BattlEye hypervisor detection por @vmcall, @Daax.
  • Outros Recursos Essenciais:

    • Intel's Software Developer's Manual.
    • Detecting Hypervisor-Assisted Hooking de Maurice Heumann (@momo5502).
    • x64 Virtual Address Translation no YouTube, da Guided Hacking.
    • Post no fórum da UnKnoWnCheaTs por @namazso.
    • RVM1.5, Barbervisor, rustyvisor, orange_slice, mythril, uhyve, maystorm.
    • AMD-V Hypervisor Development by Back Engineering, .

Ajudantes e Colaboradores

Agradecimentos especiais a:

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

Licença

Este projeto está licenciado sob a Licença MIT. Para mais informações, consulte os detalhes da Licença MIT.

Baixar ferramenta
EptViolation
EptMisconfiguration
Invept
Invvpid
Xsetbv
  • ✅ Hooks de Inline Kernel Ocultos: Hooks de breakpoint (int3) compatíveis com PatchGuard.
  • ✅ Hooks de System Call (Syscall) Ocultos: Hooks compatíveis com PatchGuard para entradas de funções da System Service Descriptor Table (SSDT).
  • ✅ Isolamento e Segurança: Implementações personalizadas da Global Descriptor Table (GDT), Interrupt Descriptor Table (IDT) e Page Tables para melhorar a segurança e o isolamento do hipervisor. Créditos ao @namazso por aumentar a conscientização.
  • Repositório no GitHub.
  • Matthias (@not-matthias): Pelo seu trabalho impactante no projeto amd_hypervisor, que inspirou e influenciou muito esta pesquisa.

  • Nick Peterson (@everdox) e Aidan Khoury (@ajkhoury): Pelas suas explorações perspicazes sobre introspecção de hipervisores e hooking de syscalls:

    • 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 do DarthTon (baseado na lendária versão de Alex Ionescu) no UnknownCheats.
  • Joanna Rutkowska: Pioneira do Conceito Blue Pill Hypervisor, um dos primeiros proofs of concept.