Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

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シリーズ向けアプリ

リポジトリを見る
1643051ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

GhostLock - Android ラッパー(indev.ghostlock.s26)

polygraphene/ghostlock-s26 のワンクリック Android ラッパー: GhostLock(CVE-2026-43499)を Samsung Galaxy S26 シリーズ全体 (Android 16 / GKI 6.12)に移植したもの。単一の APK、3 つのカーネルライン、実行時パラメータ マッチング - ビルドごとのアプリバリアントは不要。

所有しているデバイス、または明示的にテストを許可されたデバイスでのみ使用してください。 一時 root は再起動で消えます。同じ起動中に 2 回目のエクスプロイトを実行すると デバイスがクラッシュする可能性があります - 再試行する前に再起動してください。

免責事項: このソフトウェアを試すことは、低レベルのカーネル エクスプロイト、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 は上流の params.c とまったく同じようにフォールバックします:まず完全一致のビルド、 次に同じモデル + 3 文字の CSC(OTA 再利用)、次に同じデバイスの最新エントリ (未検証としてフラグ付け)、それ以外はフェイルクローズド(アプリは UNSUPPORTED を表示し、 ネイティブ層は終了コード 2 で終了)。完全に未知のモデルは拒否されます - 強制実行は決して行いません。

アプリの動作

大きなボタンが 1 つ - Root my S26 - これがパイプライン全体を実行し、Output カードに 進行状況を表示します:

  1. デバイスチェック - モデル/デバイス/インクリメンタル/フィンガープリントに加え、シリーズ 判定(完全一致 / OTA 再利用 / 未検証の推測 / 非対応)。非対応の ビルドはここで停止します(フェイルクローズド、起動時の主張は消費されません)。
  2. Shizuku - 接続時は自動的に使用されます(uid 2000 のシェル、README の adb shell フローと 同じコンテキストファミリー)。権限は起動時に一度要求され(サーバーが再起動した場合は再度要求)、 Root フローは中断せずに許可を待ちます。サーバーが停止している場合、アプリは Shizuku マネージャーを開いて起動できるようにし、その後アプリ内シェルにフォールバックします。 アプリを Shizuku の許可リストに追加すると、プロンプトが完全に表示されなくなります。
  3. ステージング - preload.so、su_daemon、ksud を /data/local/tmp にコピーし (preload.so、cve-2026-43499-root、ksud)、chmod を実行します。上流の README に従って すでに adb push でファイルを転送済みの場合、それらはそのまま使用されます。
  4. 実行 - 上流のドキュメントに記載されたとおりに実行します: env LD_PRELOAD=/data/local/tmp/preload.so sh(.so のコンストラクタが チェーンを実行して _exit します。stdout がそのままエクスプロイトログです)。最大 5 回試行します - レースは確率的です。BOOT_FORCE=1 スイッチも利用可能ですが、 再起動する方が安全です。
  5. 検証 - いずれかのチャネルを通じて id が uid=0 を報告することを確認します: まず一時デーモンソケット、次に KernelSU 形式の su。これが重要なのは、完全に成功した場合 su_daemon が設計上ソケットをアンリンクして終了するためです (KernelSU への引き継ぎ)- 一時ソケットが死んでいても su が機能していれば root 化されており、壊れているわけではありません。起動時の主張のログ末尾を出力し、root 化済み / 終了コードに関するアドバイスを報告します。

その下には、単一のコマンドフィールド + root として実行行(su デーモンの C プロトコル経由のワンショットコマンド。対話型 PTY は v1 の対象外)と、/data/local/tmp/ghostlock-boot.log をクリアする小さなリセットリンクがあり、再起動せずに実行を再試行できます(上流ではパニックを引き起こす可能性があると警告されています。再起動が安全な方法です)。

プロジェクト構成

exploit/                  vendored upstream (Makefile + src/, authoritative)
ksud                      upstream prebuilt KernelSU loader (ARM64 PIE, also in 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。

# 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 では 2 つの NDK 出力のみが生成されます。app/src/main/cpp/CMakeLists.txt の CMake ターゲットは、フォールバックとして APK 内の同じソースから libpreload.so を追加で再ビルドできます。

CI ビルド(デバイス / SoC に合わせて調整)

.github/workflows/build.yml ワークフローは、ターゲットデバイスのコードネーム / プロセッサタイプに合わせて調整されたアプリをビルドします - ローカルに SDK、NDK、Docker は不要です。リポジトリをフォークし、リポジトリの Actions タブ → GhostLock-S26 Device Build → Run workflow を開き、以下を設定します:

入力選択肢デフォルト効果
deviceall / m1q / m2q / m3q / m1s / m2sallデバイスのコードネーム(ビルドターゲット)
processorall / snapdragon / exynosallSoC ファミリー(カーネル行をフィルタリング)
kernel_lineauto / cn / intl / exynosauto正確なパラメータ行を固定(auto はデバイス/プロセッサから導出)
tailoron / offoffparams_table.c + ParamsTable.kt を選択したデバイス/行に絞り込み、単一ターゲット向けのより小さなペイロードにする
build_typedebug / releasedebugAPK バリアント
rebuild_ksudon / offonksud_ref の polygraphene/KernelSU から ksud + kernelsu.ko を再ビルドするか、ベンダー化されたプリビルドを保持する
kmiandroid16-6.12 / android15-6.6android16-6.12モジュールをコンパイルする KMI(S26 = GKI 6.12)
samsung_hardeningon / offonCONFIG_KSU_SAMSUNG_KDP/RKP/DEFEX=y(Samsung kdp 認証情報、RKP/DEFEX 同期)
no_patch_texton / offoffライブテキストパッチングを無効化(Samsung Exynos EL2 ターゲット)

さらに、KernelSU のソース ref / DDK イメージ / バンドルされた Manager APK を固定するための ksud_ref、ddk_release、ksu_manager_apk、および KEYSTORE_BASE64 / KEY_ALIAS / シークレットで署名するための sign_release があります。

例えば、Snapdragon のみの Galaxy S26 Ultra ビルド(カーネル行 cn + intl、他のデバイスは除外)は、device=m3q、processor=snapdragon、tailor=on となります。

パイプラインはネイティブペイロード(preload.so + su_daemon)を NDK clang でクロスコンパイルし、アセットをステージングし、Gradle で APK をアセンブルします。成果物(ghostlock-s26-<devices>-<lines>-<tailored|full>-debug.apk に加えて preload.so、su_daemon、ksud の成果物とチェックサム)は、実行の Summary ページにアップロードされます。GitHub Actions がチェックアウト + Gradle/SDK のセットアップを処理します - 上記のシークレットが設定されていれば、Release ビルドは自動的に署名されます。

KernelSU Manager APK(me.weishu.kernelsu)は、アプリ内の「Install KernelSU Manager」フロー用に app/src/main/assets/kernelsu-manager.apk にバンドルされています。CI はこれを自動的に取得します。ローカルビルドの場合は、./stage-assets.sh を実行する前に Manager APK を exploit/build/bin/kernelsu-manager.apk に配置してください(存在しない場合は警告が表示されます - これがないとインストールプロンプトは表示できません)。

オンデバイスビルド(Termux、aarch64)

SDK の aapt2/NDK は x86_64 であり、オンデバイスでは実行できません。検証済みの手順(SDK は ~/android-sdk、Gradle 8.9 - AGP 8.5.2 はシステムの Gradle 9.x を拒否します):

# 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)

実行

ツールをダウンロード