Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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権限を取得し、永続的なシェルを実現します。

リポジトリを見る
12日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

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

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

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

root@kitploit:~
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
ルートシェル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 では、標準的な credential パッチ方式の最終段階は機能しません。

Samsung KDP は通常の cred 書き込みをブロックする

KDP は EL2 で credential 関連のカーネルデータを保護します。

このビルドでは、ターゲットアドレスが正しい場合でも、タスクの credential を変更する試みは静かに破棄されました。

そのため、このポートは root credential を書き込む 代わりに、カーネルに 既存の特権 credential で実行させる ようにしています。

新しい最終段階:偽造 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

偽造した work アイテムは、bound された system_wq プールに配置され、ptmx の確保/解放ストームによってトリガーされます。

その結果、ユーザーモードヘルパーが init の credential で実行されます。

タスクの credential の上書きは一切不要です。


エクスプロイトチェーン

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. 新しい KDP 互換の root 段階

credential パッチ方式の最終段階は、ユーザーモードヘルパーの実行パスをターゲットにした偽造 workqueue アイテムに置き換えられました。

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

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

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

代わりに、このエクスプロイトは boot_id の ctl_table エントリにある 3 つのスライドされたポインタを使用します:

root@kitploit:~
procname
data
proc_handler

3 つすべてを相互検証してから、スライドとして採用します。

3. 実行時の workqueue 探索

cpu_pwq は、固定のデバイス固有オフセットに依存するのではなく、次のように走査して発見されます:

root@kitploit:~
system_wq → pwqs

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

元のチャネルは struct page の状態に付随する変更を残すため、ティアダウン中に PANIC_ON_OOPS を引き起こす可能性があります。

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

5. ルートシェル

ユーザーモードヘルパーが次のものを起動します:

root@kitploit:~
g4d

これは abstract 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 で credential 関連のカーネルデータを保護
  • 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/ には、抽出した Samsung カーネルを使用したエンドツーエンドの検証ハーネスが含まれています。

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

  • エクスプロイトチェーンの変更
  • KASLR の処理
  • workqueue の偽造
  • ユーザーモードヘルパーの実行
  • クリーンなエクスプロイトのティアダウン
  • 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

免責事項

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

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

ツールをダウンロード