# iOS Pentesting Checklist

<figure><img src="https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-78abb7891633b1e8147b4e743e4f00af375d3cd6%2Fimage%20(3)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" 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 Red Team Expert）</strong></a><strong>！</strong></summary>

支持HackTricks的其他方式：

* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**，请查看[**订阅计划**](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) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。

</details>

**Try Hard Security Group**

<figure><img src="https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-dae1ef8c660e0243188462f22f417bbb1a2719d3%2Ftelegram-cloud-document-1-5159108904864449420.jpg?alt=media" alt=""><figcaption></figcaption></figure>

{% embed url="<https://discord.gg/tryhardsecurity>" %}

***

### 准备工作

* [ ] 阅读[**iOS基础知识**](https://hacktricks.xsx.tw/mobile-pentesting/ios-pentesting/ios-basics)
* [ ] 准备您的环境，阅读[**iOS测试环境**](https://hacktricks.xsx.tw/mobile-pentesting/ios-pentesting/ios-testing-environment)
* [ ] 阅读[**iOS初始分析**](https://hacktricks.xsx.tw/ios-pentesting#initial-analysis)的所有部分，了解渗透测试iOS应用程序的常见操作

### 数据存储

* [ ] [**Plist文件**](https://hacktricks.xsx.tw/ios-pentesting#plist)可用于存储敏感信息。
* [ ] [**Core Data**](https://hacktricks.xsx.tw/ios-pentesting#core-data)（SQLite数据库）可存储敏感信息。
* [ ] [**YapDatabases**](https://hacktricks.xsx.tw/ios-pentesting#yapdatabase)（SQLite数据库）可存储敏感信息。
* [ ] [**Firebase**](https://hacktricks.xsx.tw/ios-pentesting#firebase-real-time-databases)配置错误。
* [ ] [**Realm数据库**](https://hacktricks.xsx.tw/ios-pentesting#realm-databases)可存储敏感信息。
* [ ] [**Couchbase Lite数据库**](https://hacktricks.xsx.tw/ios-pentesting#couchbase-lite-databases)可存储敏感信息。
* [ ] [**二进制cookies**](https://hacktricks.xsx.tw/ios-pentesting#cookies)可存储敏感信息
* [ ] [**缓存数据**](https://hacktricks.xsx.tw/ios-pentesting#cache)可存储敏感信息
* [ ] [**自动快照**](https://hacktricks.xsx.tw/ios-pentesting#snapshots)可以保存视觉敏感信息
* [ ] [**钥匙串**](https://hacktricks.xsx.tw/ios-pentesting#keychain)通常用于存储在转售手机时可能留下的敏感信息。
* [ ] 简而言之，只需**检查应用程序在文件系统中保存的敏感信息**

### 键盘

* [ ] 应用程序是否允许使用[**自定义键盘**](https://hacktricks.xsx.tw/ios-pentesting#custom-keyboards-keyboard-cache)?
* [ ] 检查敏感信息是否保存在[**键盘缓存文件**](https://hacktricks.xsx.tw/ios-pentesting#custom-keyboards-keyboard-cache)中

### **日志**

* [ ] 检查是否记录了[**敏感信息**](https://hacktricks.xsx.tw/ios-pentesting#logs)

### 备份

* [ ] [**备份**](https://hacktricks.xsx.tw/ios-pentesting#backups)可用于访问文件系统中保存的敏感信息（检查此清单的初始点）
* [ ] 此外，[**备份**](https://hacktricks.xsx.tw/ios-pentesting#backups)可用于**修改应用程序的某些配置**，然后在手机上**恢复**备份，一旦**加载**修改后的配置，可能会**绕过**某些（安全）**功能**

### **应用程序内存**

* [ ] 检查[**应用程序内存**](https://hacktricks.xsx.tw/ios-pentesting#testing-memory-for-sensitive-data)中是否有敏感信息

### **破解加密**

* [ ] 检查是否可以找到用于加密的[**密码**](https://hacktricks.xsx.tw/ios-pentesting#broken-cryptography)
* [ ] 检查是否使用[**已弃用/弱算法**](https://hacktricks.xsx.tw/ios-pentesting#broken-cryptography)发送/存储敏感数据
* [ ] [**挂钩和监视加密函数**](https://hacktricks.xsx.tw/ios-pentesting#broken-cryptography)

### **本地身份验证**

* [ ] 如果应用程序使用[**本地身份验证**](https://hacktricks.xsx.tw/ios-pentesting#local-authentication)，应检查身份验证的工作方式。
* [ ] 如果使用[**本地身份验证框架**](https://hacktricks.xsx.tw/ios-pentesting#local-authentication-framework)，可能很容易绕过
* [ ] 如果使用可以动态绕过的[**函数**](https://hacktricks.xsx.tw/ios-pentesting#local-authentication-using-keychain)，可以创建自定义frida脚本

### 通过IPC暴露敏感功能

* [ ] [**自定义URI处理程序/深层链接/自定义方案**](https://hacktricks.xsx.tw/ios-pentesting#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] 检查应用程序是否**注册了任何协议/方案**
* [ ] 检查应用程序是否**注册使用**任何协议/方案
* [ ] 检查应用程序是否**期望接收来自自定义方案的任何敏感信息**，可以被另一个注册相同方案的应用程序**拦截**
* [ ] 检查应用程序是否**未检查和清理**通过自定义方案输入的用户输入，某些**漏洞可能被利用**
* [ ] 检查应用程序是否**暴露任何敏感操作**，可以通过自定义方案从任何地方调用
* [ ] [**通用链接**](https://hacktricks.xsx.tw/ios-pentesting#universal-links)
* [ ] 检查应用程序是否**注册了任何通用协议/方案**
* [ ] 检查`apple-app-site-association`文件
* [ ] 检查应用程序是否**未检查和清理**通过自定义方案输入的用户输入，某些**漏洞可能被利用**
* [ ] 检查应用程序是否**暴露任何敏感操作**，可以通过自定义方案从任何地方调用
* [ ] [**UIActivity共享**](https://hacktricks.xsx.tw/mobile-pentesting/ios-pentesting/ios-uiactivity-sharing)
* [ ] 检查应用程序是否可以接收UIActivities，以及是否可以利用特制活动来利用任何漏洞
* [ ] [**UIPasteboard**](https://hacktricks.xsx.tw/mobile-pentesting/ios-pentesting/ios-uipasteboard)
* [ ] 检查应用程序是否**将任何内容复制到通用剪贴板**
* [ ] 检查应用程序是否**使用通用剪贴板中的数据**
* [ ] 监视剪贴板，查看是否复制了任何**敏感数据**
* [ ] [**应用程序扩展**](https://hacktricks.xsx.tw/mobile-pentesting/ios-pentesting/ios-app-extensions)
* [ ] 应用程序是否**使用任何扩展**？
* [ ] [**WebViews**](https://hacktricks.xsx.tw/mobile-pentesting/ios-pentesting/ios-webviews)
* [ ] 检查正在使用的WebViews类型
* [ ] 检查\*\*`javaScriptEnabled`**、**`JavaScriptCanOpenWindowsAutomatically`**、**`hasOnlySecureContent`\*\*的状态
* [ ] 检查Webview是否可以使用协议\*\*file://**访问本地文件**（`allowFileAccessFromFileURLs`、`allowUniversalAccessFromFileURLs`）
* [ ] 检查JavaScript是否可以访问**本地** **方法**（`JSContext`、`postMessage`）

### 网络通信

* [ ] 执行**中间人攻击**到通信并搜索Web漏洞。
* [ ] 检查证书的**主机名**是否被检查
* [ ] 检查/绕过**证书固定**

### **其他**

* [ ] 检查是否有**自动修补/更新**机制
* [ ] 检查是否存在**恶意第三方库**

**Try Hard Security Group**

<figure><img src="https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-dae1ef8c660e0243188462f22f417bbb1a2719d3%2Ftelegram-cloud-document-1-5159108904864449420.jpg?alt=media" alt=""><figcaption></figcaption></figure>

{% embed url="<https://discord.gg/tryhardsecurity>" %}

<details>

<summary><strong>从零开始学习AWS黑客技术，成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE（HackTricks AWS Red Team Expert）</strong></a><strong>！</strong></summary>

支持HackTricks的其他方式：

* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF版本的HackTricks**，请查看[**订阅计划**](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/hacktricks_live)**上关注**我们。
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。

</details>

<figure><img src="https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-78abb7891633b1e8147b4e743e4f00af375d3cd6%2Fimage%20(3)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" 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>" %}
