# iOS 渗透测试清单
\ 使用[**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" %}
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) 支持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来分享您的黑客技巧。
### 准备工作 * [ ] 阅读[**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)并搜索Web漏洞。 * [ ] 检查证书的[**主机名**](ios-pentesting/#hostname-check)是否已检查 * [ ] 检查/绕过[**证书固定**](ios-pentesting/#certificate-pinning) ### **其他** * [ ] 检查是否存在[**自动修补/更新**](ios-pentesting/#hot-patching-enforced-updateing)机制 * [ ] 检查是否存在[**恶意第三方库**](ios-pentesting/#third-parties)
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) 支持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来分享您的黑客技巧。
\ 使用[**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" %}