Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ghostlock-a17 — 针对三星 Galaxy A17 上 CVE-2026-43499 的内核漏洞利用,通过 KDP 绕过、KASLR 恢复和伪造 workqueue 执行实现 root 权限,并获得持久化 shell。 | Kitploit
工具/GitHubGitHub/mobilehackinglab/ghostlock-a17
Android安全权限提升持久化机制漏洞利用后渗透利用移动安全二进制利用
GitHubmobilehackinglab/ghostlock-a17

ghostlock-a17

针对三星 Galaxy A17 上 CVE-2026-43499 的内核漏洞利用,通过 KDP 绕过、KASLR 恢复和伪造 workqueue 执行实现 root 权限,并获得持久化 shell。

查看仓库
12天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

GhostLock — 三星 Galaxy A17 上的 CVE-2026-43499

针对运行 Android 16 / GKI 6.12 的三星 Galaxy A17 SM-A175F 上 CVE-2026-43499("GhostLock") 的完整 user-to-root(用户到 root)漏洞利用链。

该利用链从公开的 GhostLock 原语开始,并以一个 usermode helper 结束,该 helper 以如下身份执行:

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

它还通过 g4d / g4sh 启动一个每次启动均持久化的 root shell,并在不触发内核 panic 的情况下退出。

📖 完整技术文章:
https://www.mobilehackinglab.com/blog/cve-2026-43499-ghostlock-a17-root-shell

研究说明

我们并未发现 CVE-2026-43499。原始漏洞与 IonStack 研究的功劳归属于 Nebula Security。

本仓库记录了我们独立移植到三星 Galaxy A17 的过程、为应对三星内核防护机制所需的改动,以及一个新的最终利用阶段。

仅用于授权的安全研究与教育目的。


目标

CVECVE-2026-43499 — "ghostlock"
设备三星 Galaxy A17 (SM-A175F, mt6789)
GPUMali-G57
内核6.12.23-android16-5-abA175FXXS3BZA5-4k
结果uid=0(root) / u:r:kernel:s0
Root shellg4d 守护进程 + g4sh 客户端
持久化每次启动
漏洞利用退出干净退出,无内核 panic
所遇到的缓解机制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 上,标准的凭据修补终局手法并不奏效。

Samsung KDP 阻止常规 cred 写入

KDP 在 EL2 层保护与凭据相关的内核数据。

在此构建版本上,即使目标地址正确,修改任务凭据的尝试也会被静默丢弃。

因此,本移植版本不是写入 root 凭据,而是让内核使用现有的特权凭据执行代码。

新终局:伪造 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

一个伪造的工作项被放置到绑定的 system_wq 池上,并通过 ptmx 分配/释放风暴来触发。

由此产生的 usermode helper 以 init 凭据执行。

无需覆写任务凭据。


漏洞利用链

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 阶段

凭据修补终局手法被替换为针对 usermode-helper 执行路径的伪造 workqueue 项。

这完全避免了写入受保护的 cred 结构体。

2. 新的 KASLR slide 预言机

此前基于 perf-event 的锚定方法在这台设备上并不可靠。

取而代之,该漏洞利用使用了来自 boot_id ctl_table 条目的三个已滑动指针:

root@kitploit:~
procname
data
proc_handler

在采用该 slide 之前,这三个指针会相互交叉验证。

3. 运行时 workqueue 发现

cpu_pwq 通过遍历以下结构来发现:

root@kitploit:~
system_wq → pwqs

而不是依赖固定的设备专属偏移量。

4. 干净的漏洞利用退出

原有的利用通道会对 struct page 的状态留下附带修改,这些修改在拆除(teardown)阶段可能触发 PANIC_ON_OOPS。

当前的利用链避免了拆除阶段的崩溃,并已被证明能够在获取 root 后干净退出。

5. Root shell

usermode helper 会启动:

root@kitploit:~
g4d

它会监听抽象 Unix 套接字:

root@kitploit:~
@ghostlockd

g4sh 连接到该套接字,并提供交互式 root shell 或一次性命令执行。

root@kitploit:~
/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 滑动量
  • 仅限指针的受限写入原语

这迫使漏洞利用采用了与通常做法不同的策略:

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/ 包含一个使用所提取的三星内核进行端到端验证的测试框架。

该测试框架用于测试:

  • 漏洞利用链改动
  • KASLR 处理
  • workqueue 伪造
  • usermode-helper 执行
  • 漏洞利用的干净拆除(teardown)
  • g4d / g4sh 往返通信

三星内核镜像本身并不包含。

参见:

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 技术文章

深入探讨三星 Galaxy A17 移植版、KDP 限制、KASLR 恢复、基于 workqueue 的最终阶段以及 root shell 的实现:

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

免责声明

此概念验证仅供教育和授权的安全研究目的使用。

请仅在你自己拥有或已获得明确测试许可的设备与环境中使用。

下载工具