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

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

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ghostlock-a17 — Samsung Galaxy A17 における CVE-2026-43499 のカーネルエクスプロイト。KDPバイパス、KASLR復元、偽造workqueue実行によりroot権限を取得し、永続的なシェルを実現します。 | Kitploit
ツール/GitHubGitHub/mobilehackinglab/ghostlock-a17
Androidセキュリティ特権昇格永続化メカニズムエクスプロイトポストエクスプロイトモバイルセキュリティバイナリエクスプロイト
GitHubmobilehackinglab/ghostlock-a17

ghostlock-a17

Samsung Galaxy A17 における CVE-2026-43499 のカーネルエクスプロイト。KDPバイパス、KASLR復元、偽造workqueue実行によりroot権限を取得し、永続的なシェルを実現します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

GhostLock — Samsung Galaxy A17 における CVE-2026-43499

Samsung Galaxy A17 SM-A175F(Android 16 / GKI 6.12 搭載)における CVE-2026-43499(「GhostLock」) の完全なユーザーから root へのエクスプロイトチェーン。

このチェーンは公開されている GhostLock プリミティブから始まり、以下のユーザーとして実行されるユーザーモードヘルパーで終了します:

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

また、g4d / g4sh を介して起動ごとに永続的な root シェルを起動し、カーネルパニックを起こさずに終了します。

📖 完全な技術解説:
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
対応ファームウェアA175FXXS3BZA5 (カーネル 6.12.23) および A175FXXS6CZG1 (カーネル 6.12.38、SPL 2026-07-05) — いずれも実機で検証済み、同一チェーン

この移植の違いは何か?

元の ghostlock 研究は侵入プリミティブを提供します:

pselect reclaim
      ↓
fake rt_mutex_waiter
      ↓
constrained rb-tree pointer write

しかし Galaxy A17 では、標準的な認証情報パッチによる最終段階が機能しません。

Samsung KDP が通常の認証情報書き込みを阻止する

KDP は EL2 で認証情報に関連するカーネルデータを保護します。

このビルドでは、対象アドレスが正しくても、タスク認証情報を変更しようとする試みは黙って破棄されました。

そのため、この移植版では root 認証情報を書き込む 代わりに、カーネルを 既存の特権認証情報で実行させる ようにしています。

新たな最終段階: 偽造された workqueue 実行

最終ステージ:

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 の割り当て/解放ストームによってトリガーされます。

その結果生じるユーザーモードヘルパーは init の資格情報で実行されます。

タスクの資格情報の上書きは不要です。


エクスプロイトチェーン

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. 新しいKDP互換のルートステージ

資格情報を書き換える最終段階は、usermode-helper実行パスを標的とした偽造workqueueアイテムに置き換えられました。

これにより、保護されたcred構造体への書き込みを完全に回避します。

2. 新しいKASLRスライドオラクル

以前のperf-eventアンカリング手法は、このデバイスでは信頼性が低いものでした。

代わりに、このエクスプロイトではboot_idのctl_tableエントリから得られる3つのスライド済みポインタを使用します:

procname
data
proc_handler

3つすべてがスライドを受け入れる前に相互検証されます。

3. 実行時workqueueの検出

cpu_pwq は以下を辿ることで検出されます:

system_wq → pwqs

固定されたデバイス固有のオフセットに依存するのではなく。

4. クリーンなエクスプロイト終了

元のチャネルは、ティアダウン中に PANIC_ON_OOPS を引き起こす可能性のある struct page 状態への副次的な変更を残します。

現在のチェーンはティアダウン時のクラッシュを回避し、root 取得後にクリーンに終了することが実証されています。

5. root シェル

ユーザーモードヘルパーが起動します:

g4d

抽象 Unix ソケットで待ち受ける:

@ghostlockd

g4sh はそれに接続し、インタラクティブな root シェルまたはワンショットのコマンド実行のいずれかを提供します。

/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 スライド
  • ポインタのみに制約された書き込みプリミティブ

このため、通常とは異なるエクスプロイト戦略を強いられました:

arbitrary RW → patch cred → disable SELinux

代わりに:

arbitrary RW → recover runtime state → forge kernel work → execute usermode helper

ビルド

最新の Android NDK が必要です。

make        # BZA5 firmware (kernel 6.12.23)
make czg1   # CZG1 firmware (kernel 6.12.38): per-target slide anchors,
            # offsets are uname-keyed at runtime

生成内容:

ghostlock   # exploit (ghostlock-czg1 for the CZG1 build)
g4d         # static root-shell daemon
g4sh        # root-shell client

実行

バイナリをプッシュします:

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'

再起動を考慮したエクスプロイトループを実行します:

./scripts/rr_loop4.sh

ROOTED の後:

adb shell /data/local/tmp/a/g4sh

または単一のコマンドを実行します:

adb shell '/data/local/tmp/a/g4sh -c "id"'

期待される結果:

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

信頼性

このプリミティブは確率的であり、起動条件に強く依存します。

悪用の成功には複数回の試行が必要となる場合があります。付属の rr_loop4.sh スクリプトは、リトライと再起動サイクルを自動的に処理します。

これは研究用のエクスプロイトであり、即座に一発で root 化できるツールではありません。


QEMU 検証

qemu-e2e/ には、抽出された Samsung カーネルを使用したエンドツーエンドの検証ハーネスが含まれています。

このハーネスは以下をテストするために使用されました:

  • エクスプロイトチェーンの変更
  • KASLR の処理
  • workqueue の偽造
  • usermode-helper の実行
  • クリーンなエクスプロイトの終了処理
  • g4d / g4sh のラウンドトリップ

Samsung カーネルイメージ自体は含まれていません。

参照:

qemu-e2e/

セットアップ手順についてはこちらを参照してください。


リポジトリのレイアウト

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 取得の証拠

実機での成果物は以下にあります:

examples/

エクスプロイトログやrootコンテキストの検証なども含まれます。

例:

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

免責事項

この概念実証は、教育および許可されたセキュリティ研究の目的のみに提供されています。

ご自身が所有している、またはテストの明示的な許可を得ているデバイスおよび環境でのみ使用してください。

ツールをダウンロード