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

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

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

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

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

Категории

Все категории
Loading categories
Byepervisor — Эксплойт гипервизора PS5 для прошивок 1.xx-2xx. | Kitploit
Инструменты/GitHubGitHub/ps5dev/byepervisor
Безопасность встроенных системПовышение привилегийАнализ уязвимостейЭксплуатацияОбратная инженерияВиртуализация для безопасностиЭксплуатация Бинарных Файлов
GitHubps5dev/byepervisor

Byepervisor

Эксплойт гипервизора PS5 для прошивок 1.xx-2xx.

Репозиторий
3552361 год назадПроверено Kitploit

Популярное

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

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

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

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

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

Byepervisor


Краткое описание

Эксплойт гипервизора PS5 для прошивок <= 2.xx. В репозитории содержатся две уязвимости и две цепочки эксплойтов, они независимы друг от друга, и можно использовать любую из них. Один эксплойт предоставлен в основном для сохранения (/_old_jump_table_exploit), использовать нужно только основную цепочку эксплойтов (эксплойт QA-флагов).

Это исследование было представлено на hardwear.io NL 2024, слайды можно найти здесь. Запись выступления будет опубликована позже.

Эксплойт таблицы переходов

Первый эксплойт использует уязвимость, при которой таблицы переходов кода гипервизора являются общими с гостевой ОС, и содержится в /_old_jump_table_exploit/. Перехватив запись в таблице переходов для гипервызова VMMCALL_HV_SET_CPUID_PS4, можно добиться выполнения кода в гипервизоре. Мы запускаем ROP-цепочку, которая отключает Nested Paging (NPT) и Guest Mode Execute Trap (GMET), что позволяет отключить eXecute Only Memory (XOM), также известную как xotext, в записях таблицы страниц (PTEs) ядра, чтобы снять дамп, а также включить запись в PTEs для перехвата/патчинга ядра.

Этот метод требует довольно большого количества гаджетов и смещений, что является основной причиной, по которой этот эксплойт не является основным. Кроме того, в настоящее время он ломает гипервизор только на том ядре, на котором выполняется ROP-цепочка; на других ядрах гипервизор остаётся активным, и его потребуется отключить.

Эксплойт QA-флагов

Основной и рекомендуемый эксплойт использует тот факт, что системные флаги контроля качества (QA) являются общими между гипервизором и гостевой ОС. При инициализации гипервизора код инициализации, создающий вложенные таблицы страниц, проверяет QA-флаги на наличие флага отладки системного уровня (SL). Если этот флаг установлен, вложенные записи таблицы страниц (PTEs) не будут содержать бит xotext для страниц .text ядра, а также страницы .text ядра будут иметь установленный бит записи.

Эти флаги не переинициализируются защищённым загрузчиком при выходе из спящего режима, в отличие от гипервизора. Установив флаг SL, переведя систему в спящий режим и возобновив её работу, мы можем изменить таблицы страниц гостевой ОС, сделав страницы .text ядра читаемыми/записываемыми, что позволяет снять дамп ядра и выполнять перехваты/патчи.

Важные замечания

  • В настоящее время для Homebrew Enabler (HEN) поддерживается только прошивка 2.50, поддержка других версий прошивки будет добавлена позже.
  • Полезная нагрузка эксплойта (byepervisor.elf) должна быть отправлена дважды: один раз до перевода системы в режим ожидания и ещё раз после возобновления работы.
  • Вам придётся вручную перевести систему в режим отдыха.
  • Дамп ядра с помощью эксплойта QA-флагов на данный момент не будет содержать область .data гипервизора; если это для вас важно, снимите дамп с помощью эксплойта таблицы переходов после портирования или сначала отключите вложенное разбиение на страницы (это в TODO).

Что включено в настоящее время

  • Код для снятия дампа ядра (закомментирован; запуск этого кода вызовет панику системы, так как он будет пытаться снять как можно больший дамп, пока не достигнет неотображённой памяти)
  • Код для расшифровки системных библиотек SELF по TCP
  • Homebrew enabler (HEN) для прошивки 2.50 (fself+fpkg)

Замечания по сборке

Эта полезная нагрузка эксплойта собирается с использованием PS5-Payload-Dev SDK. Также обратите внимание, что сборка для hen/ немного особенная, так как она компилируется в плоский бинарный файл, который копируется в кодовый кейв ядра. Весь код в hen/ выполняется в режиме супервизора/ядра.

Как использовать

  1. Запустите цепочку эксплойтов UMTX в webkit или BD-J и запустите ELF-загрузчик
  2. Отправьте byepervisor.elf
  3. Переведите систему в режим отдыха
  4. Снова включите систему
  5. Отправьте byepervisor.elf снова (если вы используете ELF-загрузчик Джона Торнблума, загрузчик должен продолжать принимать полезные нагрузки после возобновления работы; если нет, эксплойт UMTX нужно будет запустить снова)

Планы на будущее

  • Поддержка большего количества прошивок (смещения)
  • Сделать так, чтобы byepervisor.elf нужно было отправлять только один раз
  • Автоматически переводить систему в режим ожидания?
  • Патчить vmcbs с помощью эксплойта QA-флагов для снятия дампа данных гипервизора

Благодарности / Приветствия

  • ChendoChap
  • flatz
  • fail0verflow
  • Znullptr
  • kiwidog
  • sleirsgoevy

Discord

Те, кто заинтересован в участии в исследованиях/разработке для PS5, могут присоединиться к Discord-серверу, который я создал, здесь.

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