hacktricks/mobile-pentesting/ios-pentesting-checklist.md

133 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# iOS 渗透测试清单
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
使用 [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) 轻松构建并**自动化工作流程**,由世界上**最先进**的社区工具提供支持。\
立即获取访问权限:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<details>
<summary><strong>从零开始学习 AWS 渗透测试成为英雄,通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS 红队专家)</strong></a><strong></strong></summary>
其他支持 HackTricks 的方式:
* 如果您想在 HackTricks 中看到您的**公司广告**或**下载 HackTricks 的 PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 发现[**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs 集合**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来**分享您的渗透测试技巧**。
</details>
### 准备工作
* [ ] 阅读 [**iOS 基础**](ios-pentesting/ios-basics.md)
* [ ] 准备您的环境,阅读 [**iOS 测试环境**](ios-pentesting/ios-testing-environment.md)
* [ ] 阅读 [**iOS 初始分析**](ios-pentesting/#initial-analysis) 的所有部分,学习渗透测试 iOS 应用程序的常见操作
### 数据存储
* [ ] [**Plist 文件**](ios-pentesting/#plist) 可用于存储敏感信息。
* [ ] [**Core Data**](ios-pentesting/#core-data)SQLite 数据库)可以存储敏感信息。
* [ ] [**YapDatabases**](ios-pentesting/#yapdatabase)SQLite 数据库)可以存储敏感信息。
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) 配置错误。
* [ ] [**Realm 数据库**](ios-pentesting/#realm-databases) 可以存储敏感信息。
* [ ] [**Couchbase Lite 数据库**](ios-pentesting/#couchbase-lite-databases) 可以存储敏感信息。
* [ ] [**二进制 cookies**](ios-pentesting/#cookies) 可以存储敏感信息
* [ ] [**缓存数据**](ios-pentesting/#cache) 可以存储敏感信息
* [ ] [**自动快照**](ios-pentesting/#snapshots) 可以保存视觉上的敏感信息
* [ ] [**钥匙串**](ios-pentesting/#keychain) 通常用于存储可能在转售手机时遗留的敏感信息。
* [ ] 总之,只需**检查应用程序在文件系统中保存的敏感信息**
### 键盘
* [ ] 应用程序是否[**允许使用自定义键盘**](ios-pentesting/#custom-keyboards-keyboard-cache)
* [ ] 检查敏感信息是否保存在[**键盘缓存文件**](ios-pentesting/#custom-keyboards-keyboard-cache)中
### **日志**
* [ ] 检查是否有[**敏感信息被记录**](ios-pentesting/#logs)
### 备份
* [ ] [**备份**](ios-pentesting/#backups) 可用于**访问**文件系统中保存的敏感信息(检查此清单的初始点)
* [ ] 此外,[**备份**](ios-pentesting/#backups) 可用于**修改应用程序的某些配置**,然后**恢复**备份到手机上,随着**修改后的配置**被**加载**,某些(安全)**功能**可能会被**绕过**
### **应用程序内存**
* [ ] 检查应用程序[**内存中的敏感信息**](ios-pentesting/#testing-memory-for-sensitive-data)
### **破解加密**
* [ ] 检查是否可以找到用于加密的[**密码**](ios-pentesting/#broken-cryptography)
* [ ] 检查是否使用了[**过时/弱算法**](ios-pentesting/#broken-cryptography)来发送/存储敏感数据
* [ ] [**挂钩并监控加密功能**](ios-pentesting/#broken-cryptography)
### **本地认证**
* [ ] 如果应用程序中使用了[**本地认证**](ios-pentesting/#local-authentication),您应该检查认证是如何工作的。
* [ ] 如果它使用的是[**本地认证框架**](ios-pentesting/#local-authentication-framework),它可能很容易被绕过
* [ ] 如果它使用的是可以动态绕过的[**功能**](ios-pentesting/#local-authentication-using-keychain),您可以创建一个自定义的 frida 脚本
### 通过 IPC 暴露敏感功能
* [**自定义 URI 处理程序 / 深层链接 / 自定义方案**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] 检查应用程序是否**注册了任何协议/方案**
* [ ] 检查应用程序是否**注册使用**任何协议/方案
* [ ] 检查应用程序是否**期望通过自定义方案接收任何类型的敏感信息**,这些信息可以被注册相同方案的另一个应用程序**截获**
* [ ] 检查应用程序是否**没有检查和清理**通过自定义方案的用户输入,以及是否可以利用某些**漏洞**
* [ ] 检查应用程序是否**通过自定义方案公开了任何可以从任何地方调用的敏感操作**
* [**通用链接**](ios-pentesting/#universal-links)
* [ ] 检查应用程序是否**注册了任何通用协议/方案**
* [ ] 检查 `apple-app-site-association` 文件
* [ ] 检查应用程序是否**没有检查和清理**通过自定义方案的用户输入,以及是否可以利用某些**漏洞**
* [ ] 检查应用程序是否**通过自定义方案公开了任何可以从任何地方调用的敏感操作**
* [**UIActivity 分享**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] 检查应用程序是否可以接收 UIActivities以及是否可以利用特别制作的活动来利用任何漏洞
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
* [ ] 检查应用程序是否**将任何内容复制到通用剪贴板**
* [ ] 检查应用程序是否**使用通用剪贴板中的数据做任何事情**
* [ ] 监控剪贴板,查看是否有任何**敏感数据被复制**
* [**应用扩展**](ios-pentesting/ios-app-extensions.md)
* [ ] 应用程序是否**使用了任何扩展**
* [**WebViews**](ios-pentesting/ios-webviews.md)
* [ ] 检查正在使用哪种类型的 webviews
* [ ] 检查**`javaScriptEnabled`**、**`JavaScriptCanOpenWindowsAutomatically`**、**`hasOnlySecureContent`** 的状态
* [ ] 检查 webview 是否可以通过协议 **file://** **访问本地文件**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`
* [ ] 检查 Javascript 是否可以访问**原生**方法(`JSContext`, `postMessage`
### 网络通信
* [ ] 对通信进行[**中间人攻击**](ios-pentesting/#network-communication)并搜索网络漏洞。
* [ ] 检查是否检查了[**证书的主机名**](ios-pentesting/#hostname-check)
* [ ] 检查/绕过[**证书锁定**](ios-pentesting/#certificate-pinning)
### **杂项**
* [ ] 检查[**自动修补/更新**](ios-pentesting/#hot-patching-enforced-updateing)机制
* [ ] 检查[**恶意第三方库**](ios-pentesting/#third-parties)
<details>
<summary><strong>从零开始学习 AWS 渗透测试成为英雄,通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS 红队专家)</strong></a><strong></strong></summary>
其他支持 HackTricks 的方式:
* 如果您想在 HackTricks 中看到您的**公司广告**或**下载 HackTricks 的 PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 发现[**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs 集合**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来**分享您的渗透测试技巧**。
</details>
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
使用 [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) 轻松构建并**自动化工作流程**,由世界上**最先进**的社区工具提供支持。\
立即获取访问权限:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}