iOS-Jailbreak-Principles-0x03-amfi-kext-的加载和工作过程
系列文章 iOS Jailbreak Principles 0x01 - rootfs remount r/w 原理 iOS Jailbreak Principles 0x02 - codesign and amfid bypass 前言在上一篇文章中我们介绍了 amfid 的 codesign ...
Read more
iOS Jailbreak Principles 0x02 - codesign and amfid bypass
系列文章 iOS Jailbreak Principles - Undecimus 分析(一)Escape from Sandbox iOS Jailbreak Principles - Undecimus 分析(二)通过 String XREF 定位内核数据 iOS Jailbreak Princ ...
Read more
iOS Jailbreak Principles 0x01 - rootfs remount r/w 原理
前言在之前的文章中我们介绍了 iOS 12 获取 tfp0 以及基于 tfp0 实现 kexec 的原理。从这篇文章开始我们开始分析 tfp0 和 kexec 之后的 jailbreak 环境布置原理,主要包括 rootfs 的读写与持久化、ssh 等远程服务的启动、非法签名代码的执行以及 Hook ...
Read more
Undecimus 分析(四)绕过 A12 的 PAC 实现 kexec
前言在 上一篇文章 中我们介绍了非 arm64e 下通过 IOTrap 实现 kexec 的过程。阻碍 arm64e 实现这一过程的主要因素是 PAC (Pointer Authentication Code) 缓解措施,在这一篇文章中我们将介绍 Undecimus 中绕过 PAC 机制的过程。 整 ...
Read more
Undecimus 分析(三)通过 IOTrap 实现内核任意代码执行
前言在 上一篇文章 中我们介绍了基于 String 的交叉引用定位内核数据的方法,基于此我们可以定位变量和函数地址。本文将介绍结合tfp0、String XREF 定位和 IOTrap 实现内核任意代码执行的过程。一旦达成这个 Primitive,我们就能以 root 权限执行内核函数,从而更好的控 ...
Read more
Undecimus 分析(二)通过 String XREF 定位内核数据
前言在内核中有许多关键变量和校验,为获得这些变量和绕过校验就要求我们在内存中定位这些地址。本文将介绍 Undecimus 中基于 String XREF 定位关键内存地址的方法,通过该方法不仅可以准确定位内核中的特定元素,也能为自行设计二进制分析工具带来很好的启发。 定位 Kernel Task为了 ...
Read more
Undecimus 分析(一)Escape from Sandbox
前言在 Sock Port 系列文章中我们从 0 到 1 的介绍了通过 Socket UAF 拿到 tfp0 的全过程。从这篇文章开始我们将通过分析 Undecimus 介绍从 tfp0 到 jailbreak 的全过程。 单单通过 tfp0 能做的事情只是 kread, kwrite 等基础操作, ...
Read more
Sock Port 漏洞解析(四)The tfp0 !
前言通过前 3 篇文章我们已经掌握了通过 Sock Port 达到 tfp0 所需要的 Primitives,本文将带大家分析 Sock Port 利用上述 Primitives 实现 tfp0 的过程。 准备工作本文只会对关键代码进行讲解,请大家自行打开 Sock Port 2 中的 exploi ...
Read more
Sock Port 漏洞解析(三)IOSurface Heap Spraying
前言在上一篇文章中,我们介绍了基于 OOL Message 的 Port Address Spraying,这种 Spraying 的局限性很大,只能对已释放区域填充 Port Address。实现 tfp0 的一个关键点是在已释放区域填充任意数据,这就需要我们寻找其他函数作为 Heap Spray ...
Read more
Sock Port 漏洞解析(二)通过 Mach OOL Message 泄露 Port Address
前言在上一篇文章中,我们初步介绍了 UAF 原理,并提到了 iOS 10.0 - 12.2 的 Socket 代码中含有一个针对 in6p_outputopts 的 UAF Exploit,它是整个 Sock Port 漏洞的关键。从这篇文章开始,我们将逐行分析 Sock Port 2 的 Publ ...
Read more