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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/ilgobbo00/cve-2023-6241-pixel7_adaptation
Android安全漏洞分析漏洞利用逆向工程调试器移动安全固件分析二进制利用
GitHubilgobbo00/cve-2023-6241-pixel7_adaptation

CVE-2023-6241-Pixel7_Adaptation

从 Google Pixel 8 改编用于 Google Pixel 7 的 CVE-2023-6241,取自 securitylab/SecurityExploits/Android/Mali/CVE_2023_6241

查看仓库
14531年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2023-6241 适用于 Google Pixel 7

本仓库将说明如何将 securitylab 在其 GitHub 仓库 中发布的、适用于 Google Pixel 8 的漏洞利用程序改编为适用于 Google Pixel 7。

在开始修改该漏洞利用程序之前,我们根据与 CVE-2023-6241 相关的文章 作出了一个假设,即原始漏洞利用程序在进行必要修补后也适用于 Google Pixel 7 设备。由于这两款设备(在硬件层面)看似不同(对比),因此这一假设是必要的。

工具

以下是用于执行分析以及提取信息或文件所使用到的工具。

  • Ghidra
  • imjtool(用于替代 abootimg,因为它似乎无法处理较新的 Android 镜像)
  • vmlinux-to-elf
  • 在线汇编器与反汇编器
  • Android 刷机工具
  • Android NDK 和 aarch64-linux-android34-clang 编译器

工作流程

以下是从头开始实现目标的整个过程。

  1. 在设备上启用开发者选项。

  2. 使用正确的安全补丁刷写设备(本例中为 UP1A.231105.003, 2023 年 11 月 至 UQ1A.240205.002, 2024 年 2 月(包括这两个版本)),建议使用 Google Chrome 和 Android 刷机工具,在 Nexus 和 Pixel 设备出厂镜像 页面中点击所需条目上的“Flash”。

    注意 1:使用 Android 刷机工具刷写设备有助于解决与引导加载程序版本相关的问题。这些问题可能会在使用带有脚本的压缩文件进行刷写操作时出现,该压缩文件可通过点击 Nexus 和 Pixel 设备出厂镜像 页面中的“Link”下载。

    注意 2:在刷写设备之前,请在 Android 刷机工具中勾选“Force Flash all partition”,以获得与脚本相同的刷写结果。

  3. 点击“Link”下载所需的 Android 镜像,并从主压缩文件“panther-<release>-factory-<SHA-256 前 8 个字符>.zip”内的压缩文件“image-panther.zip”中提取 boot.img 文件。

  4. 执行 ./imjtool.ELF64 boot.img extract。将创建新的文件夹“extracted”,其中包含两个文件。imjtool-output

  5. 执行 vmlinux-to-elf ./extracted/kernel.decompressed <filename>.elf(为便于后续引用,将 <filename>.elf 命名为 Pixel7-kernel.elf)。将创建一个以所提供名称命名的新文件。vmlinux-to-elf-output

  6. 使用 Ghidra 打开“Pixel7-kernel.elf”。无需执行自动分析,因为它会耗费大量时间,而且仍然可以提取所需信息。

  7. 打开“符号表”窗口,搜索感兴趣的字段(本例中为 avc_den|sel_read_enforce$|init_cred|^commit_creds$)。结果应类似于:SymbolTable

  8. 转到位址处,获取所有已搜索字段的“Imagebase Offset”(镜像基址偏移)。 imagebase-offset

  9. 根据找到的结果,在漏洞利用程序中设置所有偏移量。
    set-offset.png

  10. 通过使用在线汇编器与反汇编器分别查找操作 add x8, x8, #0xXXX 和 add x0, x0, #0xYYY 的 HEX 值,来计算 ADD_COMMIT_2311 和 ADD_INIT_2311 的值。要找到 XXX 和 YYY 的值,只需分别从 COMMIT_CREDS_2311 和 ADD_INIT_2311 中复制最低的 12 位即可(例如,如果 ADD_COMMIT_2311 是 0x17f0c8,则 add x8, x8, #0x0c8 的 HEX 代码是 0x91032108)。
    请注意,这些值是以大端序表示的,因此需要对生成的字节进行反转。

  11. 从 /vendor/lib64/egl/libGLES_mali.so 复制 GLES_mali.so(即执行 adb pull /vendor/lib64/egl/libGLES_mali.so),并使用 /home/gobbo/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android34-clang -g -DSHELL -DCL_TARGET_OPENCL_VERSION=300 -I. -L. mali_jit_csf.c mem_read_write.c mempool_utils.c -lGLES_mali -o mali_jit_csf 编译所有内容。
    注意:仅为了版本一致性,漏洞利用程序中所使用的 OpenCL 库版本是修复该漏洞的安全补丁发布前最新的可用版本(即 2023.04.17 版本)

  12. 上传并执行漏洞利用程序

    root@kitploit:~
    adb push ./mali_jit_csf /data/local/tmp 
    export LD_LIBRARY_PATH=/vendor/lib64/egl
    ./data/local/tmp/mali_jit_csf
    

更多信息可参阅开头提到的 GitHub 文章和 GitHub 仓库。

下载工具