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

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

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

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

工具目录

分类

查看所有分类
Loading categories
iomfb-exploit — Exploit for CVE-2021-30807 | Kitploit
工具/GitHubGitHub/jsherman212/iomfb-exploit
iOS SecurityMemory ForensicsVulnerability AnalysisExploitationMobile SecurityBinary Exploitation
GitHubjsherman212/iomfb-exploit

iomfb-exploit

Exploit for CVE-2021-30807

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

完整文章见:https://jsherman212.github.io/2021/11/28/popping_ios14_with_iomfb.html

针对 CVE-2021-30807 的漏洞利用。如果你真的想以此为基础构建越狱工具,则需要针对你的设备和 iOS 版本进行调整,因为我没有可用的信息泄露用于此目的。

对于 A11 及以下设备,使用 pongo 加载 xnuspy,并用 SAMPLING_MEMORY=1 make -B 进行编译。这将启用一个测试,收集 kernel_memory_allocate 返回的内存,对这些指针排序,然后输出一个范围。你会看到类似这样的内容:

root@kitploit:~
sample_kernel_map: 0xffffffe8ebe9c000 [0x10000 bytes from behind]
sample_kernel_map: to add to alloc_averager:
[0xffffffe8ce934000, 0xffffffe8ebf98000],

(忽略它输出的警告即可)

该测试应在设备启动后 30 秒运行。

alloc_averager.py 中包含了我已为我的手机运行的一些样本。它会计算每个范围所有平均值的平均值。为你的设备创建一个“样本列表”,并将该范围添加到其中。重复测试几次,直到列表中有 5-10 个条目。alloc_averager.py 会报告基于列表生成的猜测的成功率。如果你对成功率满意,则将该猜测值替换到 IOMobileFramebufferUserClient.c 顶部的 GUESSED_OSDATA_BUFFER_PTR 中。

非常重要的一点是:不要将异常值包含在该列表中。运行测试几次后,你很可能会遇到一个与你已有范围有明显差异的范围。

你需要为你的设备/版本找到偏移量才能运行此测试。

首先,找到 kernel_memory_allocate:只需交叉引用 kernel_memory_allocate: VM is not ready。当你有偏移量后,在 install_kernel_memory_alloc_hook 中将 kma 的值设置为它。

其次,为了将测试与 XNU 的其他内存分配隔离,我会检测一个特定的返回地址。该地址位于 OSData::initWithCapacity 内部。你可以通过交叉引用字符串 "OSData" 轻松找到 OSData 的 vtable。该字符串的第一个交叉引用会定位到一个函数,该函数中又有一个交叉引用指向 OSData::MetaClass 的 vtable。该 vtable 的正上方就是 OSData 的 vtable,而 OSData::initWithCapacity 位于 +0x78 偏移处。

找到 OSData::initWithCapacity 后,找到唯一一个跳转到 kernel_memory_allocate 的 BL 指令,然后取其下方紧邻指令的偏移量。在 kernel_hooks.c 中,使用该偏移量作为该文件中唯一函数的唯一 if 语句的条件。

A12 及以上设备需要使用类似 Correlium 的工具。

下载工具