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

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

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

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

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

Категории

Все категории
Loading categories
illusion-rs — Rusty Hypervisor — Windows UEFI Blue Pill гипервизор Type-1 на Rust (кодовое имя: Illusion) | Kitploit
Инструменты/GitHubGitHub/memn0ps/illusion-rs
Оборонительные ИнструментыКриминалистика памятиМеханизмы персистентностиОбратная инженерияВиртуализация для безопасностиАнализ вредоносных программАппаратная БезопасностьАнализ Бинарных ФайловСтатьи и ИсследованияRed TeamingArchived
413604 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
GitHub
memn0ps/illusion-rs

illusion-rs

Rusty Hypervisor — Windows UEFI Blue Pill гипервизор Type-1 на Rust (кодовое имя: Illusion)

РепозиторийСайт
Поделиться

Windows UEFI Blue Pill гипервизор Type-1 на Rust (кодовое имя: Illusion)

License Issues Forks Stars

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

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

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

Описание

Страничная адресация: преобразование x64 виртуальных адресов в физические

Эта диаграмма иллюстрирует механизм преобразования x64 виртуальных адресов в физические адреса в традиционных системах страничной адресации. В архитектуре x64 это преобразование включает четыре уровня таблиц страниц: PML4, PDPT, PDT и PT (Page Map Level 4, Page Directory Pointer Table, Page Directory Table и Page Table). Каждый уровень использует 9 бит виртуального адреса для индексации на следующем уровне, в конечном итоге указывая на конкретный физический адрес в оперативной памяти. Этот процесс управляется операционной системой и блоком управления памятью (MMU), который преобразует виртуальные адреса, используемые программным обеспечением, в физические адреса, используемые аппаратным обеспечением.

x64 Virtual Address Translation
Рисунок 1: Преобразование x64 виртуальных адресов (Полные заслуги: Guided Hacking)

Расширенные таблицы страниц (EPT): трансляция адресов второго уровня (SLAT)

Расширенные таблицы страниц (EPT) — это функция технологий аппаратно-ускоренной виртуализации, таких как Intel VT-x и вложенные таблицы страниц (NPT) AMD-V. EPT реализует трансляцию адресов второго уровня (SLAT), специально разработанную для виртуализированных сред. В то время как традиционная страничная адресация преобразует виртуальные адреса в физические адреса внутри гостевой ОС, EPT добавляет дополнительный уровень, преобразуя гостевые физические адреса (используемые гостевой ОС) в хост-физические адреса (используемые гипервизором). Этот второй уровень трансляции управляется гипервизором, что позволяет гостевым операционным системам независимо управлять своими собственными таблицами страниц. SLAT повышает производительность за счёт минимизации необходимости в VM exits во время операций с памятью, что снижает накладные расходы и повышает эффективность виртуализации.

Диаграмма ниже демонстрирует, как реализовать скрытые EPT-хуки в Windows UEFI Blue Pill гипервизоре Type-1 (кодовое имя: Illusion), написанном на Rust.

EPT Hooks
Рисунок 2: Хуки расширенных таблиц страниц (EPT) (Illusion)

Возможности

Функции, совместимые с PatchGuard

  • ✅ Скрытые хуки системных вызовов (Syscall) через таблицу дескрипторов системных сервисов (SSDT).
  • ✅ Скрытые встроенные хуки ядра.
  • ✅ Скрытые хуки модельно-специфичных регистров (MSR).

Функции, специфичные для процессора

  • ✅ Расширенные таблицы страниц (EPT).
  • ✅ Регистры диапазона типов памяти (MTRRs).
  • ❌ Intel Processor Trace (PT).

Функции, совместимые с Microsoft Hyper-V

  • ❌ Поддержка работы в качестве вложенного гипервизора под управлением Microsoft Hyper-V (Type-2) с включённой виртуализацией на основе безопасности (VBS).
  • ❌ Поддержка работы в качестве основного гипервизора поверх Microsoft Hyper-V (Type-1) с включённой виртуализацией на основе безопасности (VBS).

Обработка VM Exit

  • ✅ Обработка 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).

Обнаружение гипервизора

  • ✅ Скрытие памяти гипервизора от гостя с помощью EPT (перенаправление гостевой памяти, указывающей на хост-память, на фиктивную страницу, заполненную 0xFF).
  • ✅ Обход обнаружения гипервизора на основе пользовательских таблиц страниц (обеспечивает изоляцию и безопасность от гостя, включая затирание CR3).
  • ✅ Обход обнаружения гипервизора на основе пользовательских GDT и IDT (обеспечивает изоляцию и безопасность от гостя).
  • ✅ Обход обнаружения гипервизора на основе CPUID (сброс HypervisorPresent и удаление подписи идентификатора производителя для Feature Information и Hypervisor Vendor).
  • ✅ Обход обнаружения гипервизора на основе MSR (инъекция #GP для недействительных, неподдерживаемых и зарезервированных Hyper-V MSR vmexit).
  • ✅ Обход обнаружения гипервизора на основе CR (затенение CR0 и CR4 для скрытия специфичных для гипервизора битов).
  • ✅ Обход обнаружения гипервизора на основе XSETBV (инъекция #GP для недействительных или неподдерживаемых XSETBV vmexit).
  • ✅ Обход обнаружения гипервизора на основе VMCALL (инъекция #GP для недействительных или неподдерживаемых VMCALL vmexit).
  • ✅ Обход обнаружения гипервизора на основе ExceptionOrNMI (инъекция #GP, #PF, #BP, #UD для конкретных исключительных vmexit).
  • ✅ Безусловные vmexit (инъекция #UD для безусловных vmexit, но для Vmxon инъекция #UD, если он не содержит VMXE; в противном случае инъекция #GP, если он содержит VMXE).
  • ❌ Обход обнаружения гипервизора на основе EPT (проверка записи, проверка тайминга и проверка потока).
  • ❌ Обход обнаружения гипервизора на основе RDTSC.
  • ✅ Удаление памяти гипервизора из карты/таблицы памяти UEFI (идентификация областей памяти, занятых гипервизором, и модификация карты памяти UEFI для пометки этих областей как UNUSABLE).

Изоляция и безопасность

  • ✅ Пользовательские реализации глобальной таблицы дескрипторов (GDT), таблицы дескрипторов прерываний (IDT) и таблиц страниц для повышения безопасности и изоляции гипервизора.

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

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

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

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

Установка

  • Установите Rust отсюда.
  • Установите cargo-make: cargo install cargo-make.

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

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

Запуск проекта

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

Отладка

Скачать инструмент