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

130 lines
9.1 KiB
Markdown
Raw Normal View History

2023-08-03 19:12:22 +00:00
# iOS渗透测试清单
2022-04-28 16:01:33 +00:00
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
\
使用[**Trickest**](https://trickest.io/)轻松构建和自动化由全球最先进的社区工具提供支持的工作流程。\
2023-08-03 19:12:22 +00:00
立即获取访问权限:
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-08-31 22:35:39 +00:00
2022-04-28 16:01:33 +00:00
<details>
2023-08-03 19:12:22 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 YouTube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
* 你在**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
2023-08-03 19:12:22 +00:00
* 获取[**官方PEASS和HackTricks衣物**](https://peass.creator-spring.com)
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
2023-08-03 19:12:22 +00:00
* **通过向**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和**[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享你的黑客技巧。**
2022-04-28 16:01:33 +00:00
</details>
2023-08-03 19:12:22 +00:00
### 准备工作
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
* [ ] 阅读[**iOS基础知识**](ios-pentesting/ios-basics.md)
* [ ] 阅读[**iOS测试环境**](ios-pentesting/ios-testing-environment.md)以准备你的环境
* [ ] 阅读[**iOS初始分析**](ios-pentesting/#initial-analysis)的所有部分了解渗透测试iOS应用程序的常见操作
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
### 数据存储
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
* [ ] [**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)可以存储敏感信息。
* [ ] [**二进制Cookie**](ios-pentesting/#cookies)可以存储敏感信息
* [ ] [**缓存数据**](ios-pentesting/#cache)可以存储敏感信息
* [ ] [**自动快照**](ios-pentesting/#snapshots)可以保存视觉敏感信息
* [ ] [**钥匙串**](ios-pentesting/#keychain)通常用于存储在转售手机时可能遗留的敏感信息。
* [ ] 总结一下,只需**检查应用程序在文件系统中保存的敏感信息**
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
### 键盘
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
* [ ] 应用程序是否允许使用[**自定义键盘**](ios-pentesting/#custom-keyboards-keyboard-cache)
* [ ] 检查敏感信息是否保存在[**键盘缓存文件**](ios-pentesting/#custom-keyboards-keyboard-cache)中
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
### **日志**
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
* [ ] 检查是否正在记录[**敏感信息**](ios-pentesting/#logs)
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
### 备份
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
* [ ] [**备份**](ios-pentesting/#backups)可用于访问保存在文件系统中的敏感信息(检查此清单的初始点)
* [ ] 此外,[**备份**](ios-pentesting/#backups)可用于修改应用程序的某些配置,然后在手机上**恢复**备份,当**加载**修改后的配置时,可能会**绕过**一些(安全)**功能**
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
### **应用程序内存**
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
* [ ] 检查[**应用程序的内存**](ios-pentesting/#testing-memory-for-sensitive-data)中是否存在敏感信息
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
### **破解密码学**
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
* [ ] 检查是否可以找到用于密码学的[**密码**](ios-pentesting/#broken-cryptography)
* [ ] 检查是否使用[**已弃用/弱算法**](ios-pentesting/#broken-cryptography)发送/存储敏感数据
* [ ] [**钩子和监视密码学函数**](ios-pentesting/#broken-cryptography)
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
### **本地身份验证**
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
* [ ] 如果应用程序使用了[**本地身份验证**](ios-pentesting/#local-authentication),应检查身份验证的工作方式。
* [ ] 如果使用了[**本地身份验证框架**](ios-pentesting/#local-authentication-framework),可以轻松绕过
* [ ] 如果使用了[**可以动态绕过的函数**](ios-pentesting/#local-authentication-using-keychain)可以创建自定义的frida脚本
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
### 通过IPC暴露敏感功能
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
* [**自定义URI处理程序/深度链接/自定义方案**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] 检查应用程序是否**注册了任何协议/方案**
* [ ] 检查应用程序是否**注册使用**任何协议/方案
* [ ] 检查应用程序是否**期望从自定义方案接收任何类型的敏感信息**,该信息可以被注册相同方案的另一个应用程序**拦截**
2023-08-03 19:12:22 +00:00
* [ ] 检查应用程序是否**未检查和清理**通过自定义方案的用户输入,某些**漏洞可能被利用**
* [ ] 检查应用程序是否**公开了可以通过自定义方案从任何地方调用的敏感操作**
2023-08-03 19:12:22 +00:00
* [**通用链接**](ios-pentesting/#universal-links)
* [ ] 检查应用程序是否**注册了任何通用协议/方案**
* [ ] 检查`apple-app-site-association`文件
* [ ] 检查应用程序是否**未检查和清理**通过自定义方案的用户输入,某些**漏洞可能被利用**
* [ ] 检查应用程序是否**公开了可以通过自定义方案从任何地方调用的敏感操作**
2023-08-03 19:12:22 +00:00
* [**UIActivity共享**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] 检查应用程序是否可以接收UIActivities以及是否可以利用特制的活动来利用任何漏洞
2022-03-27 21:47:46 +00:00
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
2023-08-03 19:12:22 +00:00
* [ ] 检查应用程序是否**将任何内容复制到通用剪贴板**中
* [ ] 检查应用程序是否**使用剪贴板中的数据**
* [ ] 监视剪贴板,查看是否复制了**敏感数据**
* [**应用程序扩展**](ios-pentesting/ios-app-extensions.md)
* [ ] 应用程序是否**使用了任何扩展**
2022-03-27 21:47:46 +00:00
* [**WebViews**](ios-pentesting/ios-webviews.md)
2023-08-03 19:12:22 +00:00
* [ ] 检查正在使用的Web视图类型
* [ ] 检查**`javaScriptEnabled`**、**`JavaScriptCanOpenWindowsAutomatically`**、**`hasOnlySecureContent`**的状态
* [ ] 检查Web视图是否可以使用**`file://`**协议访问本地文件(**`allowFileAccessFromFileURLs`**、**`allowUniversalAccessFromFileURLs`**
* [ ] 检查JavaScript是否可以访问**本地**的**方法**`JSContext`、`postMessage`
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
### 网络通信
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
* [ ] 对通信进行[**中间人攻击**](ios-pentesting/#network-communication)并搜索Web漏洞。
* [ ] 检查证书的[**主机名**](ios-pentesting/#hostname-check)
2023-08-03 19:12:22 +00:00
* [ ] 检查/绕过[**证书固定**](ios-pentesting/#certificate-pinning)
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
### **其他**
2021-05-21 17:13:19 +00:00
2023-08-03 19:12:22 +00:00
* [ ] 检查是否存在[**自动修补/更新**](ios-pentesting/#hot-patching-enforced-updateing)机制
* [ ] 检查是否存在[**恶意第三方库**](ios-pentesting/#third-parties)
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
* 你在**网络安全公司**工作吗想要在HackTricks中**宣传你的公司**吗?或者想要**获取PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或在**Twitter**上**关注**我[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* **通过向**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和**[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享你的黑客技巧。**
2022-04-28 16:01:33 +00:00
</details>
2022-08-31 22:35:39 +00:00
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
\
2023-08-03 19:12:22 +00:00
使用[**Trickest**](https://trickest.io/)可以轻松构建和**自动化工作流程**,使用全球**最先进的**社区工具。\
立即获取访问权限:
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}