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

146 lines
8.6 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渗透测试清单
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" 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>htARTEHackTricks 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),我们的独家[NFT](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="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### 准备工作
* [ ] 阅读[**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`
### 网络通信
* [ ] 执行**中间人攻击**到通信并搜索Web漏洞。
* [ ] 检查证书的**主机名**是否被检查
* [ ] 检查/绕过**证书固定**
### **其他**
* [ ] 检查是否存在**自动修补/更新**机制
* [ ] 检查是否存在**恶意第三方库**
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" 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) 或 [**电报群**](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="../.gitbook/assets/image (3) (1) (1) (1) (1).png" 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" %}