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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ghostlock-app — GhostLock ワンタップ実行アプリ(CVE-2026-43499) | Kitploit
ツール/GitHubGitHub/yukonga/ghostlock-app
Androidセキュリティ特権昇格エクスプロイトフレームワークエクスプロイトリバースエンジニアリングモバイルセキュリティバイナリ解析
GitHubyukonga/ghostlock-app

ghostlock-app

GhostLock ワンタップ実行アプリ(CVE-2026-43499)

リポジトリを見る
1.4k370555日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

GhostLock-App

中文: README_ZH.md

ドキュメント

  • カーネルプロファイル移植ガイド - 新しいカーネルのサポートを追加します。GhostLock は uname -r の完全一致でカーネルを照合し、サポートされていないビルドを拒否して、上部にステータスを表示します。組み込みプロファイルは app/src/main/assets/kernel_profiles/ にあります。リリースごとに 1 つの HOCON ファイル、ランタイムインデックスとしての index.conf、そしてバージョンファミリーのテンプレートである <major.minor>-template.conf です。
  • 対応デバイス - 組み込みカーネルリスト。
  • 共有実行デフォルト - すべての実行チューニングフィールド、そのデフォルト値、およびその理由。
  • プロファイルスキーマ - プロファイルの完全な構造とデータフロー。
  • コンポーネントの追加 - 新しいネイティブミドルウェア / バックエンド / フロントエンドの開発者ガイド(中国語)。

完全なデバイスポーティングワークフロー、カーネルファミリーテンプレートのリンク、チューニングの根拠については、カーネルプロファイル移植ガイドを参照してください。

Shizuku 必須と明示的にマークされた行は、シェル UserService を介して実行されます。ADB で Shizuku を起動し、ステータスカードをタップしてアクセスを許可してください。その他のすべての行は、アプリの通常の実行パスを使用します。

クイックスタート

GhostLock を開き、Run をタップします。KernelSU (me.weishu.kernelsu)、ReSukiSU (com.resukisu.resukisu)、または KowSU (com.kowx712.supermanager) がモジュールロード用の ksud を提供します。これがない場合、W1/W2 は依然として uid 0 を付与しますが、モジュールはロードされません。

実行チェーンは 3 つのコンポーネントのパイプラインです。フロントエンド(root_child の起動/ハンドオフ)、バックエンド(CVE-2026-43499 futex プリミティブ)、およびミドルウェアルートです。カタログ化された組み合わせはビルド時にインスタンス化され、解決されたプロファイルがどれを実行するかを選択します。このルートは 2 つのコアを競合させます。6.6/6.12 の tree-waiter カーネルでは、メインスレッドが select を連打し、コンシューマースレッドがウェイターの優先度を撹乱します。6.1 の compact-waiter カーネルでは、パンチホールページを通じて getsockopt(TCP_ZEROCOPY_RECEIVE) を駆動します。5.15 カーネルはマルチキャストウェイターを使用します。CPU ペアも解決されたプロファイルから取得されます。

コマンドラインデバッグ

adb/shell には seccomp フィルターがないため、W3 はスキップされます。これは簡単な検証に便利です。

make -C src ghostlock
./gradlew exportKernelProfiles
adb push build/native/ghostlock /data/local/tmp/ghostlock
adb push build/kernel-profiles/<release>.bin /data/local/tmp/profile.bin
adb shell chmod 755 /data/local/tmp/ghostlock
adb shell /data/local/tmp/ghostlock --load-prebuilt-profile /data/local/tmp/profile.bin

オフセット抽出

tools/extract_rs は、boot.img(およびオプションの xbl_config.img)、完全な OTA ZIP、またはそれを指す http(s) URL からオフセットを導出します。kallsyms は --kallsyms から取得するか、イメージに埋め込まれたテーブルから復元されます。pselect_waiter_shift と off_slide_loggers_0_1 は、組み込みの arm64 逆アセンブラによって導出されます。MediaTek イメージには xbl_config.img がなく、通常 BTF もありません。物理ロードアドレスは kallsyms の _text から導出されます(--phys で上書き可能)。

Push-Location tools/extract_rs
cargo build --release
Pop-Location
build/extract/release/ghostlock-extract.exe boot.img --xbl-config xbl_config.img --format conf --out profile.conf
build/extract/release/ghostlock-extract.exe OTA.zip --format conf --out profile.conf

--format conf は抽出器の出力です。フラット化された自己完結型プロファイル(include 行なし、共有の 6.x credential/KernelSnitch 定数がインライン化され、--route で上書きされない限り --analysis の証拠からルートが選択されます)。抽出器はイメージが実際に生成するすべてのフィールドを出力し、残りは省略します。隣接するカーネルファミリーの推測(未検証ファミリーの 6.6、デフォルトの -2、5.15 マルチキャスト定数、または phys デフォルト)からギャップを埋めることは決してありません。すべての出力は未検証の候補です。インポートおよびパース可能ですが、欠落または無効なフィールドはアプリの実行前検証によってブロックされるため、実行が成功してもデバイスサポートを意味するものではありません。5.x では、init_cred からの credential 参照修復と、BTF からのマルチキャストジオメトリも導出します(docs/analysis/extractor-5x-derivation-plan.md を参照)。--format json は v1 インポートパス用に残っています。組み込みプロファイルを追加するには、一致するバージョンファミリーテンプレートを完成させて検証し、スタンドアロンの .conf プロファイルとして保存し、kernel_profiles/index.conf に追加します。古い C の offsets.h レジストリは非推奨となり削除されました。

MediaTek

MediaTek イメージには xbl_config.img がなく、通常は埋め込み BTF もないため、 抽出器はイメージから 2 つの物理アドレス(kernel_phys_load、 kernel_phys_offset)を導出できず、それらを null のままにします。ランタイムは SoC の計算式にフォールバックしますが、MediaTek では W1 で失敗します。root 化された デバイスで別の tools/mtk-phys/ 抽出器を実行し(/proc/iomem を読み取ります)、 その値をアプリの詳細上書き設定に貼り付けて、両方を埋めてください。 MEDIATEK.md を参照してください。

プリフライト

抽出器はオフセットを抽出する前に remove_waiter() を逆アセンブルします。修正が適用されたカーネルは終了コード 6 で拒否され、脆弱なカーネルのみが続行します。

オンデバイス解析

完全な OTA はスマートフォン上で完全に解析できます。boot と xbl_config は自動的に抽出されます。アプリサンドボックス内で実行する場合は、アプリが書き込み可能な ディレクトリを --work-dir に渡してください。クロスコンパイルしてプッシュします。

rustup target add aarch64-linux-android
$ndk = "$env:ANDROID_HOME\ndk\<version>\toolchains\llvm\prebuilt\windows-x86_64\bin"
$env:CC_aarch64_linux_android = "$ndk\aarch64-linux-android35-clang.cmd"
$env:AR_aarch64_linux_android = "$ndk\llvm-ar.exe"
$env:CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER = $env:CC_aarch64_linux_android
Push-Location tools/extract_rs
cargo build --release --target aarch64-linux-android
Pop-Location
adb push build/extract/aarch64-linux-android/release/ghostlock-extract /data/local/tmp/
adb shell /data/local/tmp/ghostlock-extract /sdcard/OTA.zip

アプリを再ビルドせずにオフセットをインポートする

新しいカーネルはアプリの再ビルドが不要になりました。Import offsets.conf (HOCON) をタップして抽出器のフラット化された .conf を選択するか、古い JSON レポートには Import offsets.json (v1) を使用します。v1 JSON はアプリ内で変換されるため、 デバイスに何もプッシュする必要はありません。ネイティブは常にアプリが stdin で送信する GLK1 ドキュメントから開始し、カーネルを拒否する前に現在の uname -r を解決された プロファイルと照合します。インポートはファイル間でマージされます。すでに保存されている リリースは、上書き前に確認を求めます。

アプリはプロファイル自体を生成することもできます。Parse OTA link(完全な OTA ZIP URL)と Parse image(boot.img + オプションの xbl_config.img)は、抽出器を インプロセスで実行し、成功するとフラット化された .conf をアプリデータディレクトリに 書き込みます。

# GhostLock kernel profile: 6.12.38-android16-5-g844001fb8721-ab14552068-4k (HOCON, self-contained).
release = "6.12.38-android16-5-g844001fb8721-ab14552068-4k"
schema_version = 1
kernel_major = 6
recommend_shizuku = 0
kernel_phys_load = 0xC7800000
route {
  select_stack {
    waiter_shift = 0
  }
}
fallback {
  to = "none"
}
kernelsnitch {
  collisions = 4
}
task_struct {
  prio = 148
  cred = 2304
}
cred {
  caps_offset = 48
  copy_size = 136
  usage_value = 1
  caps_count = 5
  caps_value = -1
}
offset {
  init_task = 37801728
  init_cred = 37891184
}

クレジット & ライセンス

以下のプロジェクトに基づいており、Apache License 2.0 の下でライセンスされています(LICENSE を参照)。

  • NebuSec/CyberMeowfia
  • JoinChang/ghostlock-oneplus
  • x-spy/CVE-2026-43499-popsicle
ツールをダウンロード