Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
matrix-rs — Rusty Hypervisor — гипервизор типа 2 «Blue Pill» (синяя пилюля) уровня ядра Windows, написанный на Rust (кодовое имя: Matrix) | Kitploit
Инструменты/GitHubGitHub/memn0ps/matrix-rs
Криминалистика памятиДинамический анализ кода (DAST)Обход IDS/IPSОбратная инженерияВиртуализация для безопасностиОбучение и ОбразованиеArchived
GitHubmemn0ps/matrix-rs

matrix-rs

Rusty Hypervisor — гипервизор типа 2 «Blue Pill» (синяя пилюля) уровня ядра Windows, написанный на Rust (кодовое имя: Matrix)

Репозиторий
35642204 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

Windows Kernel Blue Pill Type-2 Hypervisor в Rust (кодовое имя: Matrix)

License Issues Forks Stars

Блог: https://memn0ps.github.io/hypervisors-for-memory-introspection-and-reverse-engineering/

Лёгкий, безопасный с точки зрения памяти и молниеносно быстрый исследовательский гипервизор второго типа на Rust с хуками для Intel VT-x, ориентированный на изучение базовых концепций виртуализации.

Примечание: Гипервизор Illusion (Windows UEFI Blue Pill Type-1 Hypervisor на Rust) более стабилен, поддерживает больше функций и в целом имеет лучший дизайн. Гипервизор Matrix (Windows Kernel Blue Pill Type-2 Hypervisor на Rust) — более старая экспериментальная версия и не предназначен для промышленного использования. Оба проекта служат шаблонами, которые помогают новичкам начать разработку гипервизоров на Rust.

EPT Hooks Рисунок 0: Перехваты расширенных таблиц страниц (EPT) (Matrix)

Возможности

  • ✅ Расширенные таблицы страниц (EPT): поддержка регистров диапазона типов памяти (MTRR).
  • ✅ Обработка VM Exit: обработка ExceptionOrNmi (#GP, #PF, #BP, #UD), Cpuid, Getsec, Vmcall, Vmclear, Vmlaunch, Vmptrld, Vmptrst, Vmresume, Vmxon, Vmxoff, Rdmsr, Wrmsr, Invd, Rdtsc, EptViolation, EptMisconfiguration, Invept, Invvpid, Xsetbv.
  • ✅ Скрытые инлайн-хуки ядра: совместимые с PatchGuard хуки, использующие точки останова (int3).
  • ✅ Скрытые перехваты системных вызовов (Syscall): совместимые с PatchGuard хуки для записей функций в таблице дескрипторов системных служб (SSDT).
  • ✅ Изоляция и безопасность: собственная реализация глобальной таблицы дескрипторов (GDT), таблицы дескрипторов прерываний (IDT) и таблиц страниц для повышения безопасности и изоляции гипервизора. Благодарность @namazso за привлечение внимания к этой теме.

Поддерживаемое оборудование

  • ✅ Процессоры Intel с поддержкой VT-x и расширенных таблиц страниц (EPT).
  • ❌ Процессоры AMD с поддержкой AMD-V (SVM) и вложенных таблиц страниц (NPT).

Поддерживаемые платформы

  • ✅ Windows 10 — Windows 11, только x64.

Установка

  1. Установите Rust отсюда.
  2. Переключитесь на Rust Nightly: rustup toolchain install nightly и rustup default nightly.
  3. Установите LLVM: winget install LLVM.LLVM.
  4. Установите инструменты: cargo install cargo-make cargo-expand cargo-edit cargo-workspaces.
  5. Установите WDK/SDK/EWDK: шаги здесь.
  6. Задайте переменную окружения WDKContentRoot, указывающую на путь установки WDK, если она не была задана автоматически при установке WDK:
[System.Environment]::SetEnvironmentVariable("WDKContentRoot", "C:\Program Files (x86)\Windows Kits\10", [System.EnvironmentVariableTarget]::User)

Сборка проекта

  • Разработка: cargo make --profile development.
  • Релиз: cargo make --profile release.

Отладка

Включение режимов отладки

  • Тестовый режим: включите тестовую подпись с помощью bcdedit.exe /set testsigning on.
  • Отладка Windows: следуйте шагам из этого руководства Microsoft.
bcdedit.exe /bootdebug {bootmgr} on
bcdedit.exe /bootdebug on
bcdedit.exe /debug on

Сетевая отладка с помощью Windbg

Настройка: bcdedit.exe /dbgsettings net hostip:w.x.y.z port:n.

Фильтр отладочного вывода

  1. Откройте regedit.exe.
  2. Перейдите в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager.
  3. Создайте Debug Print Filter с параметром DEFAULT типа DWORD = 8.

Отладка через последовательный порт VMware

  1. Добавьте последовательный порт в VMware: «Use output file».
  2. Настройте в виртуальной машине Windows: $serialPort = New-Object System.IO.Ports.SerialPort COM2,9600,None,8,One; $serialPort.Open().

Управление службой

Используйте диспетчер служб (sc.exe) для создания службы гипервизора и управления ею:

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

Использование

  1. Настройка для VMware Workstation

    Соберите проект: следуйте инструкциям по сборке из предыдущих разделов, чтобы скомпилировать проект.

  2. Настройка VMware Workstation

    Настройте последовательный порт VMware для отладки.

VMware Serial Port Settings Рисунок 1: Настройки последовательного порта VMware

Убедитесь, что "Virtualize Intel VT-x/EPT or AMD-V/RVI" включена, а "Virtualize IOMMU (IO memory management unit)" также включена.

VMware Processors Settings Рисунок 2: Настройки процессора VMware

  1. Скопируйте драйвер

    Скопируйте драйвер matrix.sys в каталог C:\Windows\System32\drivers.

  2. Отладка через последовательный порт VMware

    Выполните сценарий PowerShell из раздела «Отладка через последовательный порт VMware», чтобы открыть последовательный порт.

  3. Загрузите гипервизор

    Используйте сценарий PowerShell load.ps1, показанный в разделе «Управление службой», чтобы создать и запустить службу гипервизора.

Load Hypervisor Рисунок 3: Загрузка гипервизора

PoC

Hypervisor PoC Setup Рисунок 4: Журналы и настройка PoC с Windbg

Hypervisor PoC Execute Рисунок 5: Журналы и выполнение PoC с Windbg

Благодарности, ссылки и мотивация

Огромное спасибо замечательным людям и ресурсам, которые сформировали этот проект. Особая благодарность всем перечисленным ниже. Хотя в своей работе я использовал не все эти ресурсы, они стали настоящими золотыми жилами информации и очень полезны всем, кто погружается в разработку гипервизоров, включая меня.

  • Daax (@daaximus): За его выдающийся бесплатный цикл материалов о разработке гипервизоров, который является одним из лучших доступных ресурсов и оказал огромное влияние на мою работу благодаря глубоким исследованиям и понятным объяснениям. Его поддержка и ответы на мои вопросы были неоценимы, когда я делал первые шаги в разработке гипервизоров:
    • 7 дней до виртуализации.
    • Виртуализация MMU через Intel EPT.
Скачать инструмент