hacktricks/mobile-pentesting/ios-pentesting-checklist.md
2023-08-03 19:12:22 +00:00

129 lines
9 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渗透测试清单
![](<../.gitbook/assets/image (9) (1) (2).png>)
\
使用[**Trickest**](https://trickest.io/)轻松构建和自动化由全球**最先进**的社区工具提供支持的工作流程。\
立即获取访问权限:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<details>
<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>
* 你在**网络安全公司**工作吗你想在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来分享你的黑客技巧。**
</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)可以存储敏感信息。
* [ ] [**二进制Cookie**](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)
* [ ] 检查正在使用的Web视图类型
* [ ] 检查**`javaScriptEnabled`****`JavaScriptCanOpenWindowsAutomatically`****`hasOnlySecureContent`**的状态
* [ ] 检查Web视图是否可以使用**`file://`**协议访问本地文件(**`allowFileAccessFromFileURLs`****`allowUniversalAccessFromFileURLs`**
* [ ] 检查JavaScript是否可以访问**本地**的**方法****`JSContext`****`postMessage`**
### 网络通信
* [ ] 对通信进行[**中间人攻击**](ios-pentesting/#network-communication)并搜索Web漏洞。
* [ ] 检查证书的[**主机名**](ios-pentesting/#hostname-check)是否被检查
* [ ] 检查/绕过[**证书固定**](ios-pentesting/#certificate-pinning)
### **其他**
* [ ] 检查是否存在[**自动修补/更新**](ios-pentesting/#hot-patching-enforced-updateing)机制
* [ ] 检查是否存在[**恶意第三方库**](ios-pentesting/#third-parties)
<details>
<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>
* 你在**网络安全公司**工作吗想要在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来分享你的黑客技巧。**
</details>
![](<../.gitbook/assets/image (9) (1) (2).png>)
\
使用[**Trickest**](https://trickest.io/)可以轻松构建和**自动化工作流程**,使用全球**最先进的**社区工具。\
立即获取访问权限:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}