Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
illusion-rs — Rusty Hypervisor - Hypervisor Tipo-1 Blue Pill UEFI para Windows em Rust (Codename: Illusion) | Kitploit
Ferramentas/GitHubGitHub/memn0ps/illusion-rs
Ferramentas DefensivasForensia de MemóriaMecanismos de PersistênciaEngenharia ReversaVirtualização para SegurançaAnálise de MalwareSegurança de HardwareAnálise de BináriosPapers e PesquisaRed TeamingArchived
41360há 4 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 →
GitHub
memn0ps/illusion-rs

illusion-rs

Rusty Hypervisor - Hypervisor Tipo-1 Blue Pill UEFI para Windows em Rust (Codename: Illusion)

Ver RepositórioSite
Compartilhar

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

License Issues Forks Stars

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

Um hypervisor de pesquisa tipo-1 baseado em Rust, leve, com segurança de memória e extremamente rápido, com hooks para Intel VT-x, focado no estudo dos conceitos centrais de virtualização.

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

Descrição

Paginação: Traduzindo Endereços Virtuais x64 para Endereços Físicos

Este diagrama ilustra o mecanismo de tradução de endereços virtuais x64 para endereços físicos em sistemas de paginação tradicionais. Na arquitetura x64, essa tradução envolve quatro níveis de tabelas de páginas: PML4, PDPT, PDT e PT (Page Map Level 4, Page Directory Pointer Table, Page Directory Table e Page Table). Cada nível usa 9 bits do endereço virtual para indexar o próximo nível, apontando, em última análise, para um endereço físico específico na RAM. Esse processo é gerenciado pelo sistema operacional e pela Memory Management Unit (MMU), que traduz os endereços virtuais usados pelo software em endereços físicos usados pelo hardware.

x64 Virtual Address Translation
Figura 1: x64 Virtual Address Translation (Créditos completos: Guided Hacking)

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

As Extended Page Tables (EPT) são um recurso de tecnologias de virtualização assistidas por hardware, como o Intel VT-x e as Nested Page Tables (NPT) do AMD-V. A EPT implementa a Second Level Address Translation (SLAT), projetada especificamente para ambientes virtualizados. Enquanto a paginação tradicional traduz endereços virtuais para endereços físicos dentro do sistema operacional convidado, a EPT adiciona uma camada adicional ao traduzir endereços físicos do convidado (usados pelo sistema operacional convidado) para endereços físicos do host (usados pelo hypervisor). Essa segunda camada de tradução é gerenciada pelo hypervisor, permitindo que os sistemas operacionais convidados gerenciem suas próprias tabelas de páginas de forma independente. A SLAT melhora o desempenho ao minimizar a necessidade de VM exits durante operações de memória, o que reduz a sobrecarga e aumenta a eficiência da virtualização.

O diagrama abaixo demonstra como implementar hooks EPT ocultos no Windows UEFI Blue Pill Type-1 Hypervisor (Codename: Illusion) escrito em Rust.

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

Recursos

Recursos Compatíveis com PatchGuard

  • ✅ Hooks ocultos de System Call (Syscall) via System Service Descriptor Table (SSDT).
  • ✅ Hooks inline ocultos no kernel.
  • ✅ Hooks ocultos de Model Specific Registers (MSR).

Recursos Específicos do Processador

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

Recursos Compatíveis com Microsoft Hyper-V

  • ❌ Suporte para execução como hypervisor aninhado sob o Microsoft Hyper-V (Tipo-2) com Virtualization Based Security (VBS) habilitado.
  • ❌ Suporte para execução como hypervisor primário sobre o Microsoft Hyper-V (Tipo-1) com Virtualization Based Security (VBS) habilitado.

Tratamento de VM Exit

  • ✅ Tratamento de VM Exit: 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).

Detecção de Hypervisor

  • ✅ Ocultar a memória do hypervisor do convidado usando EPT (redirecionar a memória do convidado que aponta para a memória do host para uma página fictícia preenchida com 0xFFs).
  • ✅ Bypass de detecção de hypervisor baseado em Page Table personalizada (fornece isolamento e segurança em relação ao convidado, incluindo CR3 trashing).
  • ✅ Bypass de detecção de hypervisor baseado em GDT e IDT personalizados (garante isolamento e segurança em relação ao convidado).
  • ✅ Bypass de detecção de hypervisor baseado em CPUID (desativa HypervisorPresent e remove a assinatura do vendor ID para Feature Information e Hypervisor Vendor).
  • ✅ Bypass de detecção de hypervisor baseado em MSR (injeta #GP para vmexits de MSR do Hyper-V inválidos, não suportados e reservados).
  • ✅ Bypass de detecção de hypervisor baseado em CR (faz shadow de CR0 e CR4 para ocultar bits específicos do hypervisor).
  • ✅ Bypass de detecção de hypervisor baseado em XSETBV (injeta #GP para vmexits de XSETBV inválidos ou não suportados).
  • ✅ Bypass de detecção de hypervisor baseado em VMCALL (injeta #GP para vmexits de VMCALL inválidos ou não suportados).
  • ✅ Bypass de detecção de hypervisor baseado em ExceptionOrNMI (injeta #GP, #PF, #BP, #UD para vmexits de exceções específicas).
  • ✅ vmexits incondicionais (injeta #UD para vmexits incondicionais, mas para Vmxon, injeta #UD se não contiver VMXE; caso contrário, injeta #GP se contiver VMXE).
  • ❌ Bypass de detecção de hypervisor baseado em EPT (verificação de escrita, verificação de timing e verificação de thread).
  • ❌ Bypass de detecção de hypervisor baseado em RDTSC.
  • ✅ Remover a memória do hypervisor do mapa/tabela de memória UEFI (identifica as regiões de memória ocupadas pelo hypervisor e modifica o mapa de memória UEFI para marcar essas regiões como UNUSABLE).

Isolamento e Segurança

  • ✅ Implementações personalizadas da Global Descriptor Table (GDT), Interrupt Descriptor Table (IDT) e Page Tables para aumentar a segurança e o isolamento do hypervisor.

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

  • Instale o Rust aqui.
  • Instale o cargo-make: cargo install cargo-make.

Compilando o Projeto

  • Debug: cargo make build-debug.
  • Release: cargo make build-release.

Executando o Projeto

  • Debug: cargo make run-debug.
  • Release: cargo make run-release.

Depuração

Baixar ferramenta