我现在为您提供有关 iOS 渗透测试环境的宝贵信息。这将更像是一种方法而不是分步指南,因为某些工具可能已过时并被替换。
我需要一个真实的设备来进行渗透测试吗?
您可以从上一篇文章中回想起,在您的工具包中使用 Android Emulators 确实是一件好事,因为您可以轻松地在 API 和功能之间切换。但这仅适用于 Android。iOS 模拟器不是完全成熟的模拟器,因为仅模拟应用程序运行的基本需求,这就是它们被称为模拟器的原因。要在模拟器上测试应用程序,您需要在 Macbook 设备上使用 Xcode。
设置您的 iOS 设备
由于 iOS 模拟器的功能有限,我将仅向您提供我在物理设备上使用的设置、工具和方法。
虽然业界越来越意识到攻击者用来破坏 Apple 环境的方法,但较新的手机甚至 iOS 版本更难越狱,从而扩展了设备的功能。例如,提供半绑定越狱的 checkm8 漏洞适用于芯片组最高为 A11 或 iPhone X 的设备。
什么是越狱
越狱是消除 Apple 对运行 iOS 操作系统的设备施加的限制并扩展其功能的过程。
有两种常见但完全不同的越狱方法:有线越狱和无线越狱。
有线越狱 需要用户在每次设备重启时执行越狱过程,而 无线越狱 是一次性活动,没有这样的限制。两种越狱都提供了在专有 Apple 设备上安装“未经授权”软件的能力,即未从 Apple 商店下载且未经 Apple 批准或审查的应用程序。其中包括来自 Cydia 应用程序商店的应用程序。
如何越狱你的设备
首先,每个设备和 iOS 版本都带有限制,或者相反,带有允许您提升权限并获得有效越狱设备的漏洞。现在,实际越狱取决于设备和您运行的 iOS 版本,但对我来说,以下 3 种方法中的任何一种都可以无缝工作:checkra1n、palera1n 和 Unc0ver。让我们用几句话来解释它们中的每一个。
检查
Checkra1n是一种半联机越狱方式, 每次重新越狱都需要连接电脑。好处是你的iPhone在关机再开机后仍然可以在非越狱状态下使用。此外,checkra1n 使用名为checkm8的基于硬件的 bootrom 漏洞利用 ,它适用于具有 A7 芯片和 A11 芯片的新设备,例如 iPhone 5S 到 iPhone X。如果您没有 Linux 设备,可以使用bootra1n轻松越狱你的 iPhone。
bucket1n
正如开发人员所描述的那样, Palera1n是针对 iOS 15.0-16.5 上的 checkm8 设备 (A8-A11) 的面向开发人员的越狱。这意味着只有使用 Macbook 或 Linux 机器才能使用此技术对装有 iOS 16 的 iPhone X 等设备进行越狱。Palera1n 具有 checkra1n 的所有功能,但主要缺点是在 A11 设备上,您 必须禁用您的密码 ,并且在您启动到原始 iOS 状态之前将无法使用您的密码或其他 SEP 功能。
揭秘
Unc0ver是一种半自由越狱方法,因此您 无需 在每次重新越狱时都连接到计算机。好处是你的iPhone在关机再开机后仍然可以在非越狱状态下使用。此外,unc0ver 使用各种不同的基于软件的 tfp0 漏洞,这意味着 Apple 可以通过软件更新对其进行修补。因此,Unc0ver 仅适用于最高 14.8 的 iOS 版本,因为 Apple 修补了允许 Unc0ver 运行的问题。
安装 Cydia 应用程序
渗透测试成功的关键是正确使用 Cydia 商店中公开可用的应用程序。虽然有些可能单独工作,但其他一些需要它们的组合才能成功执行操作。为了帮助您克服发现应该使用哪些应用程序的麻烦,我创建了一个来自 Cydia 商店的首选应用程序列表。当然,同样可以在 Zebra 或 Sileo 商店找到。
-
OpenSSH – 顾名思义,它用于 SSH 连接
-
Filza – 高级文件管理器应用程序
-
SSL Kill Switch 2 – 让您轻松绕过 SSL Pinning
-
Frida——动态仪表
-
越狱绕过应用程序
-
阴影
-
自由精简版
-
绕过内核
-
我躲起来
-
Choicy——一个高级的调整配置器
-
AppSync Unified – 一项调整,允许用户自由安装临时签名、假签名或未签名的 IPA 应用程序包
-
IPA Installer – 允许您从源构建 IPA 或直接从您的设备安装 IPA 包
正如我已经提到的,iOS 环境真的很棘手,有时,要成功执行一个动作,您可能需要使用 2 或 3 个应用程序。例如,要安装应用程序,您可能需要使用 Filza + AppSync Unified + IPA Installer。或者要成功绕过高级越狱检测机制,您可能需要使用 Choicy + KernBypass。
准备渗透测试站
正如之前在上篇安卓环境中提到的,拥有一台预装了所有所需工具的首选机器是黄金,因此我仍然推荐Mobexler作为您的虚拟机。
如果你的渗透测试站仍然只需要安装几个第三方工具,我将简要介绍一下我在几乎所有 iOS 项目中使用的最顶级工具。下面描述的所有工具和安装方法都适用于 Ubuntu,但您可以在其特定文档中找到 Windows 的详细信息。
MobSF
移动安全框架 (MobSF) 是一种自动化的一体化移动应用程序 (Android/iOS/Windows) 渗透测试、恶意软件分析和安全评估框架,只能对 iOS 应用程序执行静态分析。更多详细信息可以在他们的GitHub 页面上找到,但在 Ubuntu 上的简单安装包含以下 3 个步骤:
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
cd Mobile-Security-Framework-MobSF
./setup.sh
Frida
正如多次提到的那样,Frida 是每个渗透测试人员在日常移动渗透测试方法中都应该使用的必备工具。它可以帮助您以最佳方式执行动态分析,注入与操作系统通信的 JavaScript 脚本。根据他们的文档,我们发现 Frida 可以挂钩任何函数、监视加密 API 或跟踪私有应用程序代码。您还可以编辑、点击保存并立即查看结果,而无需编译步骤或程序重新启动。您可以使用以下方法轻松安装 Frida:
python3 -m pip install frida-tools
您可以轻松地在https://codeshare.frida.re/上搜索已经制作的脚本,或者您可以创建自己的脚本。此外,您可以使用以下任一命令来使用脚本:
frida -U -f Twitter -l script.js
frida -U -F -l script.js
Objection
Objection是一个运行时移动探索工具包,由 Frida提供支持,旨在帮助您评估移动应用程序的安全状况,而无需越狱。它可以帮助您绕过指纹、SSL 固定等等。
您可以使用 python 的 pip 安装它,方法如下:
python3 -m pip install objection
运行时移动安全 (RMS)
要安装它,只需使用以下命令:
npm install -g rms-runtime-mobile-security
Grapefruit
Grapefruit,以前称为 Passionfruit,是 iOS 的运行时应用程序工具。它允许您查看存储在 Keychain 中的对象、整个应用程序的私有目录、反编译的源代码等等。只需使用以下命令安装它:
npm install -g igf
结论
我希望本文能帮助您创建移动渗透测试环境或改进现有环境。
原文始发于微信公众号(红队笔记录):绝密揭秘:iOS环境渗透测试- 轻松搭建你的高端黑客实验室
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论