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

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

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

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

工具目录

分类

查看所有分类
Loading categories
badspin — Bad Spin: Android Binder 权限提升漏洞利用 (CVE-2022-20421) | Kitploit
工具/GitHubGitHub/0xkol/badspin
Android安全权限提升漏洞分析漏洞利用二进制利用
GitHub0xkol/badspin

badspin

Bad Spin: Android Binder 权限提升漏洞利用 (CVE-2022-20421)

查看仓库
289503年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Bad Spin: Android Binder LPE

作者:Moshe Kol

从 unstrusted_app 出发的 Android Binder 漏洞(CVE-2022-20421)权限提升利用代码。该漏洞已在 2022 年 10 月的 Android 安全公告中修复。漏洞利用程序适用于运行内核版本 5.4.x 和 5.10.x 的设备,并可获得完整的内核读写原语。对于 Google Pixel 6,还能实现完全 root 和绕过 SELinux。

完整的分析文章可在此处找到。

从 shell 运行

  1. 在 src/ 目录下执行 make push 编译 libbadspin.so 库。该操作还会将库推送到 /data/local/tmp。
  2. 运行 adb shell。
  3. 执行 LD_PRELOAD=/data/local/tmp/libbadspin.so sleep 1。这将加载库并启动漏洞利用。

从演示应用运行

  1. 在 src/ 目录下执行 make push 编译 libbadspin.so。该操作会将库复制到演示 Android 应用的 assets 目录。
  2. 编译 app/ 目录中的演示 Android 应用。(可能需要 Android Studio 来完成。)
  3. 运行应用并点击“Exploit”按钮。
  4. 使用 adb logcat -s BADSPIN 查看日志。

编译选项

可以向 make 传递以下变量:

  • VERBOSE=1 增加详细输出。
  • TEST_VULN=1 仅测试漏洞而不执行利用。

测试过的设备

root@kitploit:~
$ make list
0: Samsung Galaxy S22, Android 12 (6/2022), kernel 5.10.81
1: Samsung Galaxy S21 Ultra, Android 12 (3/2022), kernel 5.4.129
2: Google Pixel 6, Android 12 (5/2022), kernel 5.10.66
3: Google Pixel 6, Android 13 (9/2022), kernel 5.10.107

支持新设备

适配漏洞利用程序以支持新设备并不困难。

  1. 确保你的新设备运行内核版本 5.4.x 或 5.10.x,并且 Android 安全补丁级别低于 2022 年 10 月。

  2. 在 dev_config.h 中添加你的设备属性。

  3. 指定两个函数指针:

    • kimg_to_lm():将内核镜像虚拟指针转换为线性映射。
    • find_kbase():从泄漏的 anon_pipe_buf_ops 指针中查找内核基址。

    你可以使用已经提供的函数来完成。(如果你的厂商不是三星并且不确定,请使用与 Pixel 6 相同的函数。)

  4. 编译并运行。

如果成功,请提交一个 pull request。

已知问题

  • 手机在不成功的尝试后可能会崩溃。
  • 漏洞利用程序在启动后的最初几分钟内不稳定。
  • 仅适用于内核版本 5.4.x 和 5.10.x。
  • 在非 Pixel 设备上仅能实现内核读写。
下载工具