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

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

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

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

工具目录

分类

查看所有分类
Loading categories
GhostLock-OPPO-PCKM00 — CVE-2026-43499 GhostLock futex UAF LPE PoC 适用于 OPPO PCKM00 (SM6150) / Linux 4.14.180 | Kitploit
工具/GitHubGitHub/yijiacloud/ghostlock-oppo-pckm00
Android安全权限提升持久化机制漏洞分析漏洞利用后渗透利用移动安全Payload 开发二进制利用
GitHubyijiacloud/ghostlock-oppo-pckm00

GhostLock-OPPO-PCKM00

CVE-2026-43499 GhostLock futex UAF LPE PoC 适用于 OPPO PCKM00 (SM6150) / Linux 4.14.180

19天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

GhostLock — OPPO PCKM00 (4.14.180) PoC

CVE-2026-43499 (GhostLock) —— Linux 内核 futex 优先级继承 释放后使用本地权限提升 PoC,已移植到 OPPO PCKM00 (OP4A57、SM6150、Android 11、内核 4.14.180-perf+)。

免责声明

本项目仅用于授权的安全研究与教育目的。请勿在非本人所有或未获明确授权的设备上使用。运行利用可能导致内核崩溃,作者不承担任何滥用或损失的责任。


1. 漏洞

CVE-2026-43499 (GhostLock) 是 Linux 内核 futex 中的一处释放后使用漏洞, 位于优先级继承代码中。该 bug 存在于 remove_waiter() 被误用 于 rt_mutex_start_proxy_lock() 的代理锁回滚路径。被释放的 rt_mutex_waiter(分配在内核栈上)被重新解释为 由 pselect() 复制进来的攻击者可控 fd_set,从而产生一个 任意写原语。

影响范围: Linux 4.x–6.x(2011 年引入)。4.14 系列完全 受影响。完整分析和已验证的符号偏移见 report.md。

漏洞利用链

root@kitploit:~
futex requeue-pi UAF
   └─> pselect fd_set stack copy (fake rt_mutex_waiter / fake task)
         └─> arbitrary write (rt_mutex tree ops / sched_setattr)
               └─> overwrite ashmem_fops -> configfs bin read/write
                     └─> pipe_buffer page rewrite (physical RW primitive)
                           └─> patch current task cred -> root

该 PoC 通过 LD_PRELOAD 完全在用户空间运行——无需重启设备 (除非内核崩溃)。

2. 目标设备

移植到其他 4.14 设备:复制 exploit/targets/oppo-pckm00/target.h 并从内核镜像重新生成符号偏移(参见 analysis/)。

3. 仓库结构

root@kitploit:~
.
├── report.md                    # Full vulnerability analysis & verified offsets
├── exploit/
│   ├── Makefile                 # Build preload.so (Windows NDK / WSL)
│   ├── src/
│   │   ├── preload.c            # LD_PRELOAD entry + forced disk logging + su
│   │   ├── main.c               # Orchestration (waiter/owner/consumer threads)
│   │   ├── slide.c              # KASLR leak (boot_id / nfulnl loggers)
│   │   ├── fops.c               # ashmem_fops overwrite + configfs primitive
│   │   ├── pipe.c               # pipe_buffer physrw primitive
│   │   ├── root.c               # task walk + cred patch + seccomp/selinux
│   │   ├── util.c               # kernelsnitch, skb page prep, kernel RW
│   │   ├── su_daemon.c          # embedded su server (drop-in)
│   │   ├── su_blob.S            # .incbin of su_daemon
│   │   └── wallpaper_blob.S     # .incbin of wallpaper payload
│   ├── targets/oppo-pckm00/target.h   # 4.14.180 symbol/struct offsets
│   └── assets/wallpaper.webp    # embedded wallpaper payload
├── analysis/                    # kernel image / kallsyms extraction scripts
└── LICENSE                      # Apache-2.0 (same as upstream GhostLock)

4. 构建

需要 Android NDK r29(aarch64-linux-android30-clang)。

Windows NDK

root@kitploit:~
set NDK=C:\path\to\android-ndk-r29
make NDK=%NDK%

WSL(推荐)

root@kitploit:~
# put NDK at /opt/ndk/android-ndk-r29 (linux-x86_64 toolchain)
cd exploit
make wsl
# or directly:
bash ../analysis/build_preload.sh

输出:exploit/preload.so(64 位 aarch64 ELF 共享对象)。

构建还会将 su_daemon.c 编译为 PIE 二进制,并把它(连同 壁纸)通过 .S 数据块嵌入到 .so 中。

5. 使用方法

root@kitploit:~
adb push exploit/preload.so /data/local/tmp/preload.so
adb shell LD_PRELOAD=/data/local/tmp/preload.so id

成功时 shell 会报告 uid=0(root)。su 守护进程会被安装到 /apex/com.android.virt/bin/su(回退到 /data/local/tmp/su),并且 会应用内置壁纸,作为持久化/验证标记。

强制实时磁盘日志

所有 pr_* 诊断信息也会写入 /sdcard/Download/log_<timestamp>.txt(回退到 /data/local/tmp/log_<timestamp>.txt),每行都执行 O_SYNC + fsync(), 这样日志在内核崩溃/重启后仍能保留——使用以下命令拉取:

root@kitploit:~
adb pull /sdcard/Download/log_*.txt

6. 注意事项与限制

  • KASLR:该 PoC 通过 boot_id/nfulnl 日志路径(slide.c)泄露 KASLR 偏移, 并通过 ashmem_fops 校验(fops.c)。

  • 本移植中处理的 4.14 与 6.x 差异:

    • configfs 使用传统的 .read/.write(没有 read_iter/write_iter),
    • ashmem_fops 没有 show_fdinfo,
    • generic_file_splice_read 替代 copy_splice_read,
    • selinux_enforcing 位于 struct selinux_state 内部,
    • 4.14 的 rt_mutex_waiter / / 布局。

7. 致谢

  • NebuSec —— 原始 GhostLock 研究与漏洞利用框架(IonStack/CVE-2026-43499),Apache-2.0。 https://github.com/NebuSec/CyberMeowfia
  • KernelSnitch(futex 哈希侧信道)根据其上游条款嵌入。

许可证

Apache-2.0 —— 参见 LICENSE。

下载工具
字段值
设备OPPO PCKM00 / OP4A57
SoCQualcomm SM6150
Android11 (RKQ1.200903.002)
安全补丁2022-09-05
内核4.14.180-perf+ (arm64, clang 10.0.7)
构建版本OPPO/PCKM00/PCKM00:11/RKQ1.200903.002/1635513065:user/release-keys
pipe_inode_info
cred
  • 部分结构体偏移(如 task_struct.seccomp)为尽力而为;未能修补 seccomp 并不会阻止通过覆盖 cred 获取 root。

  • 运行漏洞利用可能触发内核崩溃(在目标设备上约 5 秒内成功率约 97%);请使用 隔离设备。