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

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

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

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

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

Категории

Все категории
Loading categories
ghostlock-a17 — Эксплойт ядра для CVE-2026-43499 на Samsung Galaxy A17, обеспечивающий получение root-доступа через обход KDP, восстановление KASLR и выполнение поддельной workqueue с постоянным shell. | Kitploit
Инструменты/GitHubGitHub/mobilehackinglab/ghostlock-a17
Безопасность AndroidПовышение привилегийМеханизмы персистентностиЭксплуатацияПост-эксплуатацияМобильная безопасностьЭксплуатация Бинарных Файлов
GitHubmobilehackinglab/ghostlock-a17

Популярное

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

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

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

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

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

ghostlock-a17

Эксплойт ядра для CVE-2026-43499 на Samsung Galaxy A17, обеспечивающий получение root-доступа через обход KDP, восстановление KASLR и выполнение поддельной workqueue с постоянным shell.

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

GhostLock — CVE-2026-43499 на Samsung Galaxy A17

Полная цепочка эксплуатации user-to-root для CVE-2026-43499 («GhostLock») на Samsung Galaxy A17 SM-A175F под управлением Android 16 / GKI 6.12.

Цепочка начинается с публичных примитивов GhostLock и завершается usermode helper, выполняющимся как:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root)
context=u:r:kernel:s0

Он также запускает постоянную root-оболочку на каждой загрузке через g4d / g4sh и завершается без паники ядра.

📖 Полное техническое описание:
https://www.mobilehackinglab.com/blog/cve-2026-43499-ghostlock-a17-root-shell

Заметка об исследовании

Мы не обнаруживали CVE-2026-43499. Заслуга в обнаружении исходной уязвимости и исследовании IonStack принадлежит Nebula Security.

Этот репозиторий документирует наш независимый порт для Samsung Galaxy A17, изменения, потребовавшиеся из-за защит ядра Samsung, и новый финальный этап эксплуатации.

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


Цель

CVECVE-2026-43499 — "ghostlock"
УстройствоSamsung Galaxy A17 (SM-A175F, mt6789)
GPUMali-G57
Ядро6.12.23-android16-5-abA175FXXS3BZA5-4k
Результатuid=0(root) / u:r:kernel:s0
Root-оболочкадемон g4d + клиент g4sh
ПерсистентностьПри каждой загрузке
Выход эксплойтаЧистый, без паники ядра
Встреченные механизмы защитыSamsung KDP, DEFEX, SELinux, PANIC_ON_OOPS, arm64 KASLR

Чем отличается этот порт?

Оригинальное исследование ghostlock предоставляет входные примитивы:

root@kitploit:~
pselect reclaim
      ↓
fake rt_mutex_waiter
      ↓
constrained rb-tree pointer write

Однако на Galaxy A17 стандартный финальный этап с патчингом учётных данных не работает.

Samsung KDP блокирует обычную запись в cred

KDP защищает связанные с учётными данными данные ядра на EL2.

В этой сборке попытки изменить учётные данные задачи молча отклонялись, даже когда целевые адреса были корректны.

Поэтому вместо записи root-учётных данных этот порт заставляет ядро выполнять код с уже существующими привилегированными учётными данными.

Новый финальный этап: выполнение через поддельную workqueue

Финальный этап:

root@kitploit:~
constrained kernel write
        ↓
physical read/write channel
        ↓
KASLR slide recovery
        ↓
discover system_wq / cpu_pwq
        ↓
forge work_struct
        ↓
call_usermodehelper_exec_work
        ↓
/system/bin/sh
        ↓
uid=0(root), u:r:kernel:s0

Поддельный элемент работы помещается в привязанный пул system_wq и активируется штормом аллокаций/освобождений ptmx.

В результате usermode helper выполняется с учётными данными init.

Перезапись учётных данных задачи не требуется.


Цепочка эксплойта

root@kitploit:~
userspace shell (uid 2000)
        │
        ▼
pselect / PI-futex primitive
        │
        ▼
constrained aligned kernel pointer write
        │
        ▼
forged pipe_buffer channel
        │
        ▼
arbitrary physical read/write
        │
        ├── recover KASLR slide
        │
        ├── locate system_wq / cpu_pwq
        │
        └── prepare forged work_struct
        │
        ▼
queue usermode-helper work
        │
        ▼
ptmx storm wakes worker
        │
        ▼
/system/bin/sh runs with init creds
        │
        ▼
uid=0(root)
        │
        ▼
g4d → @ghostlockd → g4sh

Ключевые инженерные изменения

По сравнению с публичным портом для OnePlus большинство этапов после исходного примитива записи были переработаны.

1. Новый этап получения root, совместимый с KDP

Финальный этап с патчингом учётных данных был заменён поддельным элементом workqueue, нацеленным на путь выполнения usermode helper.

Это полностью исключает запись в защищённые структуры cred.

2. Новый оракул сдвига KASLR

Прежний подход с фиксацией через perf-события был ненадёжен на этом устройстве.

Вместо этого эксплойт использует три сдвинутых указателя из записи ctl_table boot_id:

root@kitploit:~
procname
data
proc_handler

Все три перекрёстно проверяются перед принятием сдвига.

3. Обнаружение workqueue в рантайме

cpu_pwq обнаруживается обходом:

root@kitploit:~
system_wq → pwqs

вместо опоры на фиксированное смещение, специфичное для устройства.

4. Чистый выход эксплойта

Исходный канал оставляет побочные изменения состояния struct page, которые могут вызывать PANIC_ON_OOPS при завершении работы.

Текущая цепочка позволяет избежать краха при завершении и была продемонстрирована с чистым выходом после получения root.

5. Root-оболочка

Usermode helper запускает:

root@kitploit:~
g4d

который прослушивает абстрактный Unix-сокет:

root@kitploit:~
@ghostlockd

g4sh подключается к нему и предоставляет либо интерактивную root-оболочку, либо разовое выполнение команд.

root@kitploit:~
/data/local/tmp/a/g4sh
/data/local/tmp/a/g4sh -c "id"

Почему Galaxy A17 интересен

Это устройство сочетает несколько механизмов защиты, которые ломают распространённые техники эксплуатации ядра Android:

  • Samsung KDP — защищает связанные с учётными данными данные ядра на EL2
  • DEFEX — ограничивает привилегированное выполнение из недоверенных путей
  • SELinux
  • PANIC_ON_OOPS / PANIC_ON_BUG
  • Большие сдвиги arm64 KASLR
  • Ограниченный примитив записи только указателем

Это вынудило использовать иную стратегию эксплуатации по сравнению с обычной:

root@kitploit:~
arbitrary RW → patch cred → disable SELinux

Вместо этого:

root@kitploit:~
arbitrary RW → recover runtime state → forge kernel work → execute usermode helper

Сборка

Требуется свежий Android NDK.

root@kitploit:~
make

Создаёт:

root@kitploit:~
ghostlock   # exploit
g4d         # static root-shell daemon
g4sh        # root-shell client

Запуск

Загрузите бинарники:

root@kitploit:~
adb push ghostlock /data/local/tmp/a/g4
adb push g4d /data/local/tmp/a/g4d
adb push g4sh /data/local/tmp/a/g4sh

adb shell 'chmod 755 /data/local/tmp/a/g4 /data/local/tmp/a/g4d /data/local/tmp/a/g4sh'

Запустите цикл эксплойта с учётом перезагрузок:

root@kitploit:~
./scripts/rr_loop4.sh

После ROOTED:

root@kitploit:~
adb shell /data/local/tmp/a/g4sh

Или выполните одну команду:

root@kitploit:~
adb shell '/data/local/tmp/a/g4sh -c "id"'

Ожидаемый результат:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0

Надёжность

Примитив вероятностный и сильно зависит от условий загрузки.

Успешная эксплуатация может потребовать многократных попыток. Прилагаемый скрипт rr_loop4.sh автоматически обрабатывает повторные попытки и циклы перезагрузки.

Это исследовательский эксплойт, а не мгновенный одноразовый инструмент для получения root.


Проверка в QEMU

qemu-e2e/ содержит стенд сквозной проверки (end-to-end) с использованием извлечённого ядра Samsung.

Стенд использовался для проверки:

  • изменений в цепочке эксплойта
  • обработки KASLR
  • подделки workqueue
  • выполнения usermode helper
  • чистого завершения эксплойта
  • циклов обмена g4d / g4sh

Сам образ ядра Samsung не включён.

Смотрите:

root@kitploit:~
qemu-e2e/

для инструкций по настройке.


Структура репозитория

root@kitploit:~
Makefile
src/                  exploit source and device profiles
src/daemon/           g4d root daemon + g4sh client
docs/OFFSETS.md       validated device offsets
docs/PORTING.md       porting notes
examples/             proof-of-root artifacts
scripts/rr_loop4.sh   reboot-aware exploit loop
qemu-e2e/             end-to-end QEMU validation

Связанные исследования

Оригинальное исследование GhostLock / IonStack

NebuSec:

https://nebusec.ai/research/ionstack-part-3/

https://github.com/NebuSec/CyberMeowfia/tree/main/IonStack

Порт для OnePlus

https://github.com/JoinChang/ghostlock-oneplus

Статья Mobile Hacking Lab

Более детальный разбор порта для Samsung Galaxy A17, ограничений KDP, восстановления KASLR, финального этапа на основе workqueue и реализации root-оболочки:

https://www.mobilehackinglab.com/blog/cve-2026-43499-ghostlock-a17-root-shell


Подтверждение root

Артефакты с реального устройства доступны в:

root@kitploit:~
examples/

включая журналы эксплойта и проверку root-контекста.

Пример:

root@kitploit:~
uid=0(root)
gid=0(root)
groups=0(root)
context=u:r:kernel:s0

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

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

Используйте его только на устройствах и в окружениях, которыми вы владеете или на тестирование которых имеете явное разрешение.

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