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

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

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

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

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

Категории

Все категории
Loading categories
ghostlock-myron-tw — GhostLock (CVE-2026-43499) — порт эксплойта ядра для тайваньской прошивки REDMI K90 Pro Max (myron, WPMTWXM): смещения, руководство по сборке, готовый бинарный файл | Kitploit
Инструменты/GitHubGitHub/jason5545/ghostlock-myron-tw
Безопасность AndroidПовышение привилегийЭксплуатацияОбратная инженерияМобильная безопасностьЭксплуатация Бинарных Файлов
GitHubjason5545/ghostlock-myron-tw

ghostlock-myron-tw

GhostLock (CVE-2026-43499) — порт эксплойта ядра для тайваньской прошивки REDMI K90 Pro Max (myron, WPMTWXM): смещения, руководство по сборке, готовый бинарный файл

Репозиторий
52 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

GhostLock для POCO F8 Ultra / REDMI K90 Pro Max — глобальная и тайваньская версия (myron, WPMTWXM)

Порт эксплойта ядра GhostLock (CVE-2026-43499) для глобальной/тайваньской прошивки POCO F8 Ultra / REDMI K90 Pro Max (кодовое имя myron, Snapdragon 8 Elite Gen 5 / SM8850).

Цель: HyperOS OS3.0.6.0.WPMTWXM — ядро 6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k

English summary below / 下方有英文摘要。


Зачем нужен этот порт

Один и тот же телефон, одно и то же кодовое имя, но ядра международной/тайваньской версии (WPMTWXM, то есть POCO F8 Ultra) и китайской версии (WPMCNXM) — не один и тот же бинарник:

ROMверсия ядравремя сборки
Тайваньская 3.0.1.0.WPMTWXM...-ga5f232d1ead0-ab14083253-4k2025-09-11
Тайваньская 3.0.6.0.WPMTWXM...-g5a0e85dd9db0-ab14499855-4k2025-11-26
Китайская 3.0.306/308.WPMCNXM...-g16e473de48a3-abogki462654244-4k2025-11-19
  • Тайваньская версия отслеживает официальную ветку GKI от Google (abogki*), а китайская версия — это собственная интегрированная ветка Xiaomi
  • У обеих сторон разные git commit, конфигурация отличается на 7 опций, и всё компилируется с +pgo +bolt +lto — любое различие в коде полностью перемешает раскладку символов
  • Практическая проверка: init_task/init_cred отличаются на 0x10000, selinux_state — на 0x120c8 (нефиксированное смещение)

Для data-only эксплойтов вроде GhostLock нужны точные адреса из конкретной сборки, поэтому все payload'ы, рассчитанные для китайской версии, полностью неработоспособны на международной. Этот репозиторий как раз восполняет недостающую для международной версии таблицу смещений.

Содержимое

  • offsets/myron_tw/offsets.h — полная цель для тайваньской версии 3.0.6.0 (для JoinChang/ghostlock-oneplus)
  • scripts/device_step1.sh — скрипт резервного копирования ABL после получения root + прошивки unlock EFI
  • В Releases есть собранный бинарник ghostlock (arm64)

Проверенные результаты анализа

  1. Корректность статического извлечения kallsyms: перекрёстная проверка путём обратного чтения бинарника относительно _text — init_task.comm="swapper", init_cred.usage=4, init_uts_ns.release посимвольно совпадает с uname. Надёжные смещения можно получить без root на реальном устройстве.
  2. Раскладка структур полностью совпадает с китайской версией (проверка по BTF): task_struct 5184 байт, cred@0x900, pi_blocked_on@0xA18 и т. д., совпадает с вышестоящим STRUCT_OFFSETS_6_12.
  3. Осуществимость раскладки стека: futex_wait_requeue_pi (frame 0x1c0, waiter@sp+0x80) и core_sys_select (frame 0x1b0, stack_fds@sp+0x18) полностью совпадают с уже проверенным рабочим Xiaomi 17 (pudding) → PSELECT_SHIFT=0.
  4. selinux_state.enforcing находится по смещению +0, policycap по +2, запись одного байта не повредит policycap.
  5. Rust ashmem → доступен только Path B (прямая запись PI), Path A (UMH) недоступен.

Сборка

git clone https://github.com/JoinChang/ghostlock-oneplus.git
cd ghostlock-oneplus
cp /path/to/this-repo/offsets/myron_tw/offsets.h src/devices/myron_tw/offsets.h
# 在 src/devices/offsets.h 的 #include 清單加一行:
#   #include "myron_tw/offsets.h"
make NDK_CC=<你的 NDK>/toolchains/llvm/prebuilt/*/bin/aarch64-linux-android35-clang

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

adb shell uname -r
# 必須是 6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k,否則程式會拒絕執行

adb push ghostlock /data/local/tmp/e
adb shell chmod 755 /data/local/tmp/e
adb shell /data/local/tmp/e
  • Успех → root shell + SELinux permissive (мягкий root, после перезагрузки не действует)
  • Неудача с перезагрузкой = не поймали тайминг, запустите заново; при повторных panic можно попробовать тонкую настройку вроде PSELECT_SHIFT=-1
  • Не допускайте OTA устройства — после обновления ядро заменяется, смещения перестают действовать, и новая версия может уже закрыть уязвимость

Дальнейшие шаги (разблокировка BL)

Международную версию устройства после root можно разблокировать методом замены ABL (без официальной квоты): сделать резервную копию abl_a/b → прошить unlock EFI → через fastboot прошить заводской ABL + spoof → восстановить. Заводской ABL берётся из abl.img имеющегося у вас тайваньского ROM 3.0.1.0 (в этом repo не размещаются проприетарные файлы прошивки Xiaomi). scripts/device_step1.sh — это часть данного процесса, выполняемая на телефоне. Этот процесс не стирает пользовательские данные.

Портирование на другие региональные версии (MIXM / EUXM / INXM…)

Этот репозиторий охватывает только WPMTWXM. Xiaomi компилирует ядро отдельно для каждой региональной ветки, поэтому смещения нельзя использовать совместно — но метод можно. В tools/ находятся три инструмента, которые мы реально используем для генерации тайваньской цели:

# 1. 從你的 OTA 包解出 boot.img(payload.bin 用 payload-dumper),然後:
python3 tools/extract_offsets.py boot.img          # 產生 OFFSETS_ENTRY + 交叉驗證
python3 tools/check_btf.py boot.img                # 驗證 struct 布局(決定 STRUCT_OFFSETS 能否沿用)
python3 tools/check_feasibility.py boot.img        # 驗證 pselect 棧配置(決定 SHIFT)
  • extract_offsets.py: извлекает kallsyms, вычисляет все смещения и выполняет обратное чтение init_task.comm / init_cred.usage / init_uts_ns.release для перекрёстной проверки — если не проходит, не использовать
  • check_btf.py: считывает из встроенного в ядро BTF смещения полей task_struct/cred/selinux_state и поэлементно сравнивает с STRUCT_OFFSETS_6_12
  • check_feasibility.py: дизассемблирует конфигурацию кадра futex_wait_requeue_pi и core_sys_select и сравнивает с заведомо рабочим ядром (требуется pip install capstone)

Все три прошли, ваша версия, скорее всего, сработает. Приглашаем отправить PR с target для новой региональной версии.

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

  • Nebula Security — оригинальное исследование и PoC GhostLock
  • JoinChang/ghostlock-oneplus — основа данного порта
  • Различный опыт портирования из сообщества Coolapk

English Summary

Глобальная прошивка POCO F8 Ultra (REDMI K90 Pro Max) поставляется с другой сборкой ядра, чем прошивка CN (другая ветка, конфигурация и раскладка PGO/BOLT), поэтому все опубликованные сообществом смещения GhostLock — вычисленные на ядрах CN ogki — не подходят на глобальных устройствах. Этот репозиторий предоставляет недостающие целевые смещения для OS3.0.6.0.WPMTWXM (6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k), статически извлечённые из официального OTA-пакета и перекрёстно проверенные (kallsyms + BTF + чтение из образа), а также готовый бинарник в Releases. Структуры данных идентичны сборке CN; различаются только адреса символов. Раскладка стекового кадра совпадает с проверенным рабочим Xiaomi 17 (pudding).

Используйте только на своём собственном устройстве. Уязвимость публична (раскрытие, обязательное по правилам kernelCTF); этот порт существует, чтобы владельцы глобальных вариантов могли получить root на своих телефонах.

Отказ от ответственности / Disclaimer

Только для авторизованных исследований безопасности на собственных устройствах. For authorized security research on your own devices only. Никакие результаты не гарантируются; используйте на свой страх и риск.

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