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

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

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

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

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

Категории

Все категории
Loading categories
ghostlock-s26 — GhostLock (CVE-2026-43499) — приложение для серии Galaxy S26 | Kitploit
Инструменты/GitHubGitHub/1ndevelopment/ghostlock-s26
Безопасность AndroidПовышение привилегийМеханизмы персистентностиЭксплуатацияПентестинг мобильных приложенийПост-эксплуатацияМобильная безопасностьРазработка Полезной Нагрузки
GitHub1ndevelopment/ghostlock-s26

ghostlock-s26

GhostLock (CVE-2026-43499) — приложение для серии Galaxy S26

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

Популярное

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

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

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

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

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

GhostLock — обёртка для Android (indev.ghostlock.s26)

Обёртка для Android в один клик для 1ndevelopment/ghostlock-s26: GhostLock (CVE-2026-43499), портированный на всю серию Samsung Galaxy S26 (Android 16 / GKI 6.12). Один APK, три линии ядра, сопоставление параметров во время выполнения — без вариантов приложения под каждую сборку.

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

Покрытие: вся линейка S26

Эксплойт сопоставляет по линии ядра, а не по отдельной сборке (exploit/src/params_table.c — источник истины; ParamsTable.kt дублирует его только для вердикта в UI):

Кодовое имя устройстваМаркетинговое названиеSoCЛиния ядра
m1qGalaxy S26 (SM-S942x)Snapdragoncn или intl (по CSC)
m2qGalaxy S26+ (SM-S947x)Snapdragoncn или intl (по CSC)
m3qGalaxy S26 Ultra (SM-S948x)Snapdragoncn или intl (по CSC)
m1sGalaxy S26 (SM-S942B)Exynosexynos
m2sGalaxy S26+ (SM-S947B)Exynosexynos

Протестированные сборки (17): S9420ZCS4AZG1, S9470ZCS4AZG1, S9480ZCS3AZF1, S9480ZCS4AZG1, S942BXXS4AZG5, S947BXXS3AZF1, S947BXXS4AZG5, S942QOPU1AZDE, S942U1UES4AZG3, S942USQS4AZG3, S947USQS4AZG3, S9480ZHS4AZG1, S948BXXS4AZG5/6, S948NKSS4AZG3, S948U1UES2AZE1, S948USQS4AZG3.

Неизвестные OTA обрабатываются точно так же, как в upstream params.c: сначала точная сборка, затем та же модель + 3-символьный CSC (переиспользование OTA), затем последняя запись для того же устройства (помечается как непроверенная), иначе fail-closed (приложение показывает UNSUPPORTED, а нативный слой завершается с кодом 2). Полностью неизвестные модели отклоняются — никогда не форсируются.

Что делает приложение

Одна большая кнопка — Root my S26 — запускает весь конвейер и ведёт повествование в карточке Output:

  1. Проверка устройства — модель/устройство/incremental/fingerprint плюс вердикт по линейке (точное совпадение / переиспользование OTA / непроверенная догадка / не поддерживается). Неподдерживаемые сборки останавливаются здесь (fail-closed, boot-claim не сжигается).
  2. Shizuku — используется автоматически при подключении (uid 2000 shell, то же семейство контекстов, что и в потоке adb shell из README). Разрешение запрашивается один раз при запуске (и снова, если сервер перезапускается); поток Root ждёт предоставления разрешения, а не прерывается. Если сервер не работает, приложение открывает менеджер Shizuku, чтобы вы могли его запустить, затем переключается на встроенный shell. Добавление приложения в белый список Shizuku полностью убирает запрос.
  3. Stage — копирует preload.so, su_daemon, ksud в /data/local/tmp (preload.so, cve-2026-43499-root, ksud) и выполняет chmod. Если вы уже сделали adb push файлов согласно upstream README, они подхватываются на месте.
  4. Run — выполняет ровно то, что задокументировано в upstream: (конструктор запускает цепочку и вызывает ; stdout лог эксплойта), до 5 попыток — гонка вероятностная. Доступен переключатель , но перезагрузка безопаснее.

Ниже: одна строка поле команды + Run as root (одноразовые команды через протокол C su-демона; интерактивный PTY вне области охвата v1), и небольшая ссылка Reset, которая очищает /data/local/tmp/ghostlock-boot.log, чтобы можно было повторить запуск без перезагрузки (upstream предупреждает, что это может вызвать панику — перезагрузка безопаснее).

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

root@kitploit:~
exploit/                  vendored upstream (Makefile + src/, источник истины)
ksud                      upstream prebuilt KernelSU loader (ARM64 PIE, также в assets)
app/src/main/assets/ksud  staged copy shipped in the APK
app/src/main/assets/      + preload.so / su_daemon after stage-assets.sh
app/src/main/cpp/         optional CMake rebuild of preload.so from exploit/src
app/src/main/java/indev/ghostlock/s26/
  MainActivity.kt         UI (device / stage / run / shell / boot guard)
  ParamsTable.kt          series table mirror (17 builds, 3 lines, 5 codenames)
  DeviceCompat.kt         Build.* identity + series verdict
  ShellRunner.kt          Shizuku (uid 2000) + local fallback, staging
  SuClient.kt             /data/local/tmp/temp_su.sock 'C'-mode client
  GhostlockManager.kt     exit-code interpreter (0/1/2/3/4)
PORTING.upstream.md       porting notes (new firmware = new device_map row)

Сборка

Требования: Android Studio (JBR 21) / SDK 35 / NDK r26+ / CMake 3.22.1 / JDK 17.

root@kitploit:~
# 1. Build the native payloads with the NDK (upstream flow):
cd exploit && make preload
#   -> build/bin/preload.so, build/embed/su_daemon_aarch64_pie

# 2. Stage them into the APK assets:
./stage-assets.sh

# 3. Build the app:
./gradlew :app:assembleDebug
#   -> app/build/outputs/apk/debug/app-debug.apk

ksud уже включён в репозиторий (ksud + app/src/main/assets/ksud), так что шаги 1–2 создают только два вывода NDK. Цель CMake в app/src/main/cpp/CMakeLists.txt может дополнительно пересобрать libpreload.so из тех же исходников внутри APK в качестве запасного варианта.

Сборка на устройстве (Termux, aarch64)

aapt2/NDK из SDK — x86_64 и не могут выполняться на устройстве. Проверенная процедура (SDK в ~/android-sdk, Gradle 8.9 — AGP 8.5.2 отвергает системный Gradle 9.x):

root@kitploit:~
# Native payloads with the Termux toolchain (API 35 target, system liblog):
cd exploit
clang -O2 --target=aarch64-linux-android35 -fPIE -pie -Isrc src/su_daemon.c \
  -o build/embed/su_daemon_aarch64_pie
clang -O2 --target=aarch64-linux-android35 -fPIC -Isrc \
  -Wno-unused-parameter -Wno-sign-compare -Wno-unused-function -Wno-macro-redefined \
  src/main.c src/util.c src/bootclaim.c src/slide.c src/fops.c src/attr.c \
  src/root.c src/params.c src/params_table.c src/preload.c \
  -L/system/lib64 -llog -shared -o build/bin/preload.so
cd .. && ./stage-assets.sh

# APK (CMake native step auto-skips without SDK cmake; Termux aarch64 aapt2
# is injected via -P so checked-in files stay workstation-clean):
env ANDROID_HOME=~/android-sdk ANDROID_SDK_ROOT=~/android-sdk \
  JAVA_HOME=$PREFIX/lib/jvm/java-21-openjdk \
  ~/gradle-dists/gradle-8.9/bin/gradle :app:assembleDebug --console=plain \
  -Pandroid.aapt2FromMavenOverride=$(command -v aapt2)

Запуск

  1. Установите APK на устройство S26 + установите/запустите Shizuku (беспроводная отладка или ПК).
  2. Откройте GhostLock — разрешение Shizuku запрашивается автоматически при запуске; одобрите его один раз (оно действует до перезапуска сервера Shizuku).
  3. Убедитесь, что карточка Device показывает SUPPORTED/LIKELY для вашей сборки.
  4. Нажмите Stage, затем Run once. Гонка вероятностная — используйте Retry ×5; несколько попыток — это нормально.
  5. Check root → ожидайте uid=0 …. Затем выполняйте команды в карточке Root shell.
  6. После успеха установите/используйте KernelSU Manager (me.weishu.kernelsu); демон автоматически поздне загружает ksud (см. режим K в su_daemon.c).

Shizuku необязателен, но настоятельно рекомендуется: upstream-поток выполняется из adb shell (uid 2000, SELinux-контекст shell), а встроенный запасной вариант (untrusted_app) гораздо чаще блокируется для LD_PRELOAD/exec на /data/local/tmp.

Коды выхода (показываются после каждой попытки)

Происхождение

  • Эксплойт: exploit/ + PORTING.upstream.md + ksud из 1ndevelopment/ghostlock-s26 (Apache-2.0; см. LICENSE.upstream, NOTICE.upstream). Приложение не линкует код эксплойта в свой процесс — оно размещает файлы, собранные NDK, и запускает задокументированный LD_PRELOAD shell.
  • Благодарности (upstream): Nebula Security (обнаружение CVE), polygraphene (базовая линия), monovibe (UMH root / boot-claim), lukasmaar (kernelsnitch), veritas501 (концепция pipe), BuSung-dev (основа companion-приложения).
Скачать инструмент
env LD_PRELOAD=/data/local/tmp/preload.so sh
.so
_exit
и есть
BOOT_FORCE=1
  • Verify — подтверждает, что id сообщает uid=0 через любой канал: сначала сокет временного демона, затем su в стиле KernelSU. Это важно, потому что при полном успехе su_daemon по замыслу удаляет свой сокет и завершается (передача управления KernelSU) — мёртвый временный сокет при работающем su означает, что root получен, а не что всё сломано. Выводит хвост лога boot-claim и сообщает рекомендации по rooted / коду выхода.
  • КодЗначениеЧто делать
    0успех (сокет поднят, поздняя загрузка ksud OK)Check root, используйте shell
    1гонка проиграна / проверка не удаласьпросто повторите (нормально)
    2неподдерживаемая сборка (fail-closed)остановитесь; прошивке нужен порт
    3carrier/root не удалсяперезагрузите перед следующей попыткой
    4уже запускалось в этой загрузкеперезагрузите; BOOT_FORCE=1 переопределяет, но может упасть