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

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

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

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

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

Категории

Все категории
Loading categories
HyperLoader — Изолированная гипервизором среда выполнения шелл-кода. Отображает память хост-процесса в гостевой vCPU, перехватывает ошибки выполнения DLL и проксирует вызовы API к хосту, совместимо с PIC-шелл-кодом Stardust | Kitploit
Инструменты/GitHubGitHub/s12cybersecurity/hyperloader
ЭксплуатацияОбход IDS/IPSШелл-кодПост-эксплуатацияВиртуализация для безопасностиАнализ вредоносных программRed TeamingРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubs12cybersecurity/hyperloader

HyperLoader

Изолированная гипервизором среда выполнения шелл-кода. Отображает память хост-процесса в гостевой vCPU, перехватывает ошибки выполнения DLL и проксирует вызовы API к хосту, совместимо с PIC-шелл-кодом Stardust

Репозиторий
6510208 дней назадЕщё не проверено

Популярное

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

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

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

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

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

HyperLoader

Изолированная гипервизором среда выполнения шелл-кода. Отображает память хост-процесса в гостевой vCPU, перехватывает ошибки выполнения DLL и проксирует вызовы API на хост; совместима с PIC-шелл-кодом Stardust.


Обзор

HyperLoader выполняет позиционно-независимый шелл-код внутри изолированного виртуального процессора, созданного с помощью Windows Hypervisor Platform API (WHvP). vCPU работает в собственном адресном пространстве.

Пользовательские хуки EDR (inline-хуки, хуки IAT) обходятся по самой архитектуре — они находятся в адресном пространстве хост-процесса, а шелл-код там никогда не выполняется. Разрешение API, обход PEB и логика принятия решений шелл-кода полностью выполняются внутри vCPU, невидимо для любого пользовательского инструментирования.

Данная техника не обходит некоторые обнаружения на уровне ядра. WHvCreatePartition и WHvRunVirtualProcessor видны сенсорам EDR уровня ядра, а любые вызовы API, которые хост-прокси выполняет от имени гостя, проходят через обычную цепочку обратных вызовов ядра (уведомления о загрузке образов, minifilter, ETW-TI).

Host process
 ├── WHvCreatePartition / WHvMapGpaRange
 │    └── identity VA -> GPA map: ntdll, kernel32, PEB, TEB (read only, noexec)
 ├── Exception interception (#PF + execute faults)
 └── Exit loop: DLL call proxy
      └── executes DLL functions natively on the host

vCPU guest (isolated)
 └── Stardust PIC shellcode
      ├── PEB walk -> resolves ntdll / kernel32 (read only view)
      ├── API resolution via FNV1a hash over EAT
      └── DLL call -> execute fault -> host proxies -> result returned

Как это работает

1. Раскладка памяти

Выделяется и отображается в гостевую систему по GPA 0 регион нижней памяти размером 2 МБ. Здесь размещаются гостевые таблицы страниц (PML4/PDPT/PD), а также шелл-код, стек, трамплин LSTAR и буфер системных вызовов.

GPA 0x0000   Stack / page tables (identity mapped 2MB, RWX)
GPA 0x1000   PML4
GPA 0x2000   PDPT
GPA 0x3000   PD (2MB large page)
GPA 0x4000   Shellcode (Stardust binary)
GPA 0x5000   Output buffer (RCX arg on entry)
GPA 0x6000   LSTAR trampoline
GPA 0x7000   Syscall buffer (SSN + args + retval)
GPA 0x8000+  PT pool (4KB pages for VA→GPA mappings)

2. Отображение памяти хоста

Перед запуском vCPU HyperLoader отображает структуры хост-процесса в гостевую систему с помощью WHvMapGpaRange:

  • ntdll.dll, kernel32.dll, kernelbase.dll: только чтение, без исполнения
  • TEB, PEB, Ldr, ProcessParameters, блок окружения
  • Записи InLoadOrderModuleList и InMemoryOrderModuleList + буферы имён DLL
  • SharedUserData (0x7FFE0000)
  • Куча процесса

Страницы DLL намеренно отображаются без флага исполнения. Гостевая система может их читать (обход EAT, разрешение импортов), но не может их исполнять.

3. Проксирование вызовов DLL

Когда Stardust вызывает функцию DLL, vCPU генерирует ошибку исполнения (WHvRunVpExitReasonMemoryAccess, тип доступа 2). Цикл обработки выхода:

  1. Читает RIP для определения целевой функции
  2. Проверяет, попадает ли она в известный диапазон DLL
  3. Читает RCX/RDX/R8/R9 и аргументы из стека гостевой системы
  4. Транслирует указатели нижней памяти (GPA -> хост-VA)
  5. Вызывает функцию нативно на хосте
  6. Записывает RAX = возвращаемое значение, продвигает RIP к адресу возврата, извлекает стек

Шелл-код продолжает выполнение так, как если бы вызов завершился нормально. Всё исполнение DLL происходит на хосте через реальные (потенциально перехваченные) функции, но решение о том, что вызывать и когда, принималось внутри изолированной vCPU.

4. Подкачка по требованию

Страницы, не отображённые при запуске, обрабатываются по требованию через перехват #PF (WHvPartitionPropertyCodeExceptionExitBitmap). Когда шелл-код обращается к неотображённой странице, хост разрешает её, отображает в гостевую систему и прозрачно возобновляет выполнение.

5. Трамплин LSTAR (резервный путь)

LSTAR указывает на небольшой трамплин по адресу GPA 0x6000, который сохраняет номер системного вызова и аргументы в буфер по адресу GPA 0x7000 и выполняет HLT. Это обрабатывает любые прямые инструкции syscall, которые достигают трамплина вместо прохождения через путь проксирования DLL.


Требования

  • Windows 10 / 11 с включённым HyperV (WHVP требует наличия гипервизора)
  • WinHvPlatform.dll / WinHvPlatform.lib
  • Шелл-код Stardust, скомпилированный с помощью Cracked5pider/Stardust

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

Замените sc_stardust[] в HyperLoader.cpp на ваш бинарник Stardust:

xxd -i bin/stardust.x64.bin

Вставьте массив байтов и перекомпилируйте. При входе шелл-код получает указатель на выходной буфер в RCX.


Благодарности

  • Cracked5pider/Stardust: шаблон PIC-шелл-кода
  • Windows Hypervisor Platform API (WinHvPlatform.h)

Этот проект предназначен для образовательных и исследовательских целей.

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