mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-04 02:20:20 +00:00
133 lines
8.6 KiB
Markdown
133 lines
8.6 KiB
Markdown
# 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>htARTE (HackTricks AWS 红队专家)</strong></a><strong>!</strong></summary>
|
||
|
||
其他支持 HackTricks 的方式:
|
||
|
||
* 如果您想在 HackTricks 中看到您的**公司广告**或**下载 HackTricks 的 PDF**,请查看[**订阅计划**](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) 或 [**telegram 群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
|
||
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 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) 可以存储敏感信息。
|
||
* [ ] [**二进制 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)并搜索网络漏洞。
|
||
* [ ] 检查是否检查了[**证书的主机名**](ios-pentesting/#hostname-check)
|
||
* [ ] 检查/绕过[**证书锁定**](ios-pentesting/#certificate-pinning)
|
||
|
||
### **杂项**
|
||
|
||
* [ ] 检查[**自动修补/更新**](ios-pentesting/#hot-patching-enforced-updateing)机制
|
||
* [ ] 检查[**恶意第三方库**](ios-pentesting/#third-parties)
|
||
|
||
<details>
|
||
|
||
<summary><strong>从零开始学习 AWS 渗透测试成为英雄,通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS 红队专家)</strong></a><strong>!</strong></summary>
|
||
|
||
其他支持 HackTricks 的方式:
|
||
|
||
* 如果您想在 HackTricks 中看到您的**公司广告**或**下载 HackTricks 的 PDF**,请查看[**订阅计划**](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) 或 [**telegram 群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
|
||
* **通过向** [**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" %}
|