iOS Pentesting Checklist
Reading time: 7 minutes
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
准备
数据存储
- Plist 文件 可用于存储敏感信息。
- Core Data(SQLite 数据库)可以存储敏感信息。
- YapDatabases(SQLite 数据库)可以存储敏感信息。
- Firebase 配置错误。
- Realm 数据库可以存储敏感信息。
- Couchbase Lite 数据库可以存储敏感信息。
- 二进制 Cookie可以存储敏感信息。
- 缓存数据可以存储敏感信息。
- 自动快照可以保存视觉敏感信息。
- 钥匙串 通常用于存储敏感信息,这些信息在转售手机时可能会被遗留。
- 总之,只需 检查应用程序在文件系统中保存的敏感信息
键盘
日志
- 检查是否 记录了敏感信息。
备份
- 备份 可用于 访问文件系统中保存的敏感信息(检查此检查表的初始点)。
- 此外,备份 可用于 修改应用程序的一些配置,然后 在手机上恢复 备份,作为 修改后的配置 被 加载 时,某些(安全) 功能 可能会被 绕过。
应用程序内存
- 检查 应用程序内存 中的敏感信息。
破损的加密
本地身份验证
通过 IPC 暴露敏感功能
- 自定义 URI 处理程序 / 深度链接 / 自定义方案
- 检查应用程序是否 注册了任何协议/方案。
- 检查应用程序是否 注册以使用 任何协议/方案。
- 检查应用程序 是否期望从自定义方案接收任何类型的敏感信息,这些信息可以被注册相同方案的另一个应用程序 拦截。
- 检查应用程序 是否没有检查和清理 通过自定义方案的用户输入,某些 漏洞可能被利用。
- 检查应用程序 是否暴露了任何敏感操作,可以通过自定义方案从任何地方调用。
- 通用链接
- 检查应用程序是否 注册了任何通用协议/方案。
-
检查
apple-app-site-association
文件。 - 检查应用程序 是否没有检查和清理 通过自定义方案的用户输入,某些 漏洞可能被利用。
- 检查应用程序 是否暴露了任何敏感操作,可以通过自定义方案从任何地方调用。
- UIActivity 共享
- 检查应用程序是否可以接收 UIActivities,是否可以利用任何特殊构造的活动来利用漏洞。
- UIPasteboard
- 检查应用程序是否 将任何内容复制到通用剪贴板。
- 检查应用程序是否 使用通用剪贴板中的数据。
- 监控剪贴板以查看是否有任何 敏感数据被复制。
- 应用扩展
- 应用程序是否 使用任何扩展?
- WebViews
- 检查使用了哪种类型的 webviews。
-
检查
javaScriptEnabled
、JavaScriptCanOpenWindowsAutomatically
、hasOnlySecureContent
的状态。 -
检查 webview 是否可以使用协议 file:// (
allowFileAccessFromFileURLs
、allowUniversalAccessFromFileURLs
) 访问本地文件。 -
检查 Javascript 是否可以访问 Native 方法(
JSContext
、postMessage
)。
网络通信
其他
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。