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

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

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

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

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

Категории

Все категории
Loading categories
oppo-pgem10-ghostlock — OPPO Find X6 Pro GhostLock (CVE-2026-43499) адаптация эксплойта | Kitploit
Инструменты/GitHubGitHub/thiasap/oppo-pgem10-ghostlock
Безопасность AndroidКриминалистика памятиАнализ уязвимостейЭксплуатацияОбратная инженерияАппаратная БезопасностьЭксплуатация Бинарных Файлов
GitHubthiasap/oppo-pgem10-ghostlock

oppo-pgem10-ghostlock

OPPO Find X6 Pro GhostLock (CVE-2026-43499) адаптация эксплойта

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

Популярное

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

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

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

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

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

OPPO Find X6 Pro GhostLock Проект адаптации

Обзор

Данный проект посвящен адаптации уязвимости CVE-2026-43499 (GhostLock) на устройстве OPPO Find X6 Pro (PGEM10).

Основан на архитектуре оригинального эксплойта NebuSec CyberMeowfia с использованием подхода к адаптации из oppo-ghostlock.

Информация об устройстве

ПараметрЗначение
УстройствоOPPO Find X6 Pro (PGEM10)
ЧипSnapdragon 8 Gen 2 (SM8550)
ЯдроLinux 5.15.149-android13 #1 SMP PREEMPT
Дата сборкиThu Feb 13 2025
Android15 (ColorOS 15.0)
Версия ПЗУPGEM10_15.0.0.600(CN01)
PACCONFIG_ARM64_PTR_AUTH_KERNEL=y
BTICONFIG_ARM64_BTI_KERNEL=y
KASLRCONFIG_RANDOMIZE_BASE=y
VA_BITS39
Смещение VAP0_PAGE_OFFSET = 0xffffff8000000000

Сводка результатов проекта

✅ Выполнено

МодульСтатусОписание
Perf KASLR bypass✅Ключевой прорыв — через perf_event_open + выборка callchain, получение текущего KASLR slide менее чем за 1 секунду
Коррекция MM_STRUCT_SZ✅Исправлено с 0x500 на 0x400 (1024Б), KernelSnitch сразу заработал
Полная верификация смещений в IDA✅Все ключевые символы/структуры/функции перекрёстно верифицированы через IDA
FUTEX_CMP_REQUEUE_PI✅UAF-срабатывание GhostLock выполнено успешно
Верификация ashmem✅C ashmem доступен, путь type confusion теоретически возможен
Анализ цепочек вызовов✅Подтверждено отсутствие в ядре цепочек глубиной ≥ 0x800
Сканирование конфигурации ядра✅Полная оценка поверхности атаки

❌ Заблокировано

МодульСтатусПервопричина
SLIDE перезапись стека❌PAC приводит к расширению фрейма цепочки futex до 0xA70, pselect — всего 0x620
Перезапись fops❌Требуется SLIDE, блокируется PAC
Type confusion❌Зависит от перезаписи fops
Pipe physrw❌Зависит от type confusion
Root❌Зависит от указанной цепочки

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

oppo-pgem10-ghostlock/
├── README.md                      # Данный файл
├── 问题描述.md                     # Подробный анализ проблемы
├── docs/
│   ├── architecture.md            # Архитектура и цепочки вызовов
│   └── adaptation-guide.md        # Руководство по адаптации для PAC-ядра
├── reports/
│   ├── offsets.md                 # Отчёт о верификации смещений в IDA
│   ├── kaslr.md                   # Аналитический отчёт по KASLR
│   └── summary.md                 # Итоговое резюме
├── src/
│   ├── kaslr_perf.h               # Переиспользуемый модуль Perf KASLR
│   └── kaslr_perf.c               # Реализация Perf KASLR
└── analysis/
    └── chains/                     # Скрипты анализа цепочек вызовов

Ключевые различия в конфигурации (PGEM10 vs Pixel 10)

CONFIG_ARM64_PTR_AUTH_KERNEL=y    # ← Основное отличие: PAC напрямую вызывает расширение фрейма
CONFIG_ARM64_BTI_KERNEL=y         # BTI дополнительно увеличивает накладные расходы
CONFIG_SHADOW_CALL_STACK=y        # SCS увеличивает стековый фрейм
CONFIG_VMAP_STACK=y               # Стек может быть перераспределён
CONFIG_KASAN_HW_TAGS=y            # Включено при компиляции
CONFIG_ARM64_VA_BITS=39           # 39-битное VA (не 48-битное)

Первопричина блокировки: расширение стекового фрейма из-за PAC

Функция                 Pixel 10 (без PAC)    PGEM10 (с PAC)
__arm64_sys_futex         0x90              0x4C0
do_futex                  0x70              0x420
futex_wait_requeue_pi     0x1A0             0x1B0
─────────────────────────────────────────────────
Общая глубина цепи futex  0x300             0xA70  ← ×3.5
Глубина стека pselect     0x620             0x620
Возможность перезаписи?   ✅ ДА             ❌ НЕТ (0xA70 > 0x620)

Анализ цепочек вызовов подтверждает: в ядре 0 цепочек глубиной ≥ 0x800 (2048Б). Максимальный одиночный фрейм: 0x1F0 (496Б).

Справочные ресурсы

  • Оригинальный проект: https://github.com/NebuSec/CyberMeowfia
  • Адаптация для OPPO Find N2: https://github.com/pubglite55/oppo-ghostlock
  • Исследование NebuSec: https://nebusec.ai/research/ionstack-part-2/
  • Исходный код ядра: https://github.com/oppo-source/android_kernel_oppo_sm8550
  • Общий исходный код ядра: https://github.com/oppo-source/android_kernel_common_oppo_sm8550
Скачать инструмент