hacktricks/mobile-pentesting/ios-pentesting/extracting-entitlements-from-compiled-application.md

79 lines
5.7 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
<summary><strong>从零到英雄学习AWS黑客技术通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS 红队专家)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
支持HackTricks的其他方式
2022-04-28 16:01:33 +00:00
* 如果您想在**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来分享您的黑客技巧。
2022-04-28 16:01:33 +00:00
</details>
2023-08-03 19:12:22 +00:00
**页面复制自** [**https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#universal-links**](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#universal-links)
2021-05-17 19:08:47 +00:00
如果您只有应用程序的IPA或者只是在越狱设备上安装了应用程序通常您将无法找到`.entitlements`文件。对于`embedded.mobileprovision`文件也可能是这种情况。尽管如此您应该能够自己从应用程序二进制文件中提取权限属性列表如“iOS基础安全测试”章节中的“获取应用程序二进制文件”部分所解释的
2021-05-17 19:08:47 +00:00
即使针对加密的二进制文件以下步骤也应该有效。如果出于某种原因它们不起作用您将不得不使用例如Clutch如果兼容您的iOS版本、frida-ios-dump或类似工具来解密和提取应用程序。
2021-05-17 19:08:47 +00:00
**从应用程序二进制文件中提取权限Plist**
2021-05-17 19:08:47 +00:00
如果您的计算机中有应用程序二进制文件一种方法是使用binwalk来提取`-e`所有XML文件`-y=xml`
2021-05-17 19:08:47 +00:00
```bash
$ binwalk -e -y=xml ./Telegram\ X
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
1430180 0x15D2A4 XML document, version: "1.0"
1458814 0x16427E XML document, version: "1.0"
```
或者您可以使用radare2`-qc` 用于_静默地_运行一个命令并退出来搜索应用二进制文件`izz`)中包含"PropertyList"`~PropertyList`)的所有字符串:
2021-05-17 19:08:47 +00:00
```bash
$ r2 -qc 'izz~PropertyList' ./Telegram\ X
0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<!DOCTYPE plist PUBLIC
"-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n<plist version="1.0">
...<key>com.apple.security.application-groups</key>\n\t\t<array>
\n\t\t\t<string>group.ph.telegra.Telegraph</string>...
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE plist PUBLIC
"-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n<plist version="1.0">\n
<dict>\n\t<key>cdhashes</key>...
```
在这两种情况下binwalk 或 radare2我们都能提取到相同的两个 `plist` 文件。如果我们检查第一个文件0x0015d2a4我们可以看到我们完全恢复了 [Telegram 原始的授权文件](https://github.com/peter-iakovlev/Telegram-iOS/blob/77ee5c4dabdd6eb5f1e2ff76219edf7e18b45c00/Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements)。
2021-05-17 19:08:47 +00:00
> 注意:`strings` 命令在这里无济于事,因为它找不到这些信息。最好直接在二进制文件上使用带 `-a` 标志的 grep或者使用 radare2`izz`/rabin2`-zz`)。
2021-05-17 19:08:47 +00:00
如果你通过 SSH 访问越狱设备上的应用二进制文件,你可以使用带 `-a, --text` 标志的 grep将所有文件视为 ASCII 文本):
2021-05-17 19:08:47 +00:00
```bash
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/
2023-08-03 19:12:22 +00:00
15E6A58F-1CA7-44A4-A9E0-6CA85B65FA35/Telegram X.app/Telegram\ X
2021-05-17 19:08:47 +00:00
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
2023-08-03 19:12:22 +00:00
<dict>
<key>com.apple.security.application-groups</key>
<array>
...
2021-05-17 19:08:47 +00:00
```
使用 `-A num, --after-context=num` 标志来显示更多或更少的行。如果您的越狱iOS设备上也安装了我们上面介绍的工具您也可以使用这些工具。
2021-05-17 19:08:47 +00:00
> 即使应用程序二进制文件仍然是加密的这种方法也应该有效它已经针对几个App Store应用程序进行了测试
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>从零开始学习AWS黑客技术成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS红队专家)</strong></a><strong></strong></summary>
2022-04-28 16:01:33 +00:00
支持HackTricks的其他方式
2022-04-28 16:01:33 +00:00
* 如果您想在**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) 或 [**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来分享您的黑客技巧。
2022-04-28 16:01:33 +00:00
</details>