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

83 lines
6.5 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2023-08-03 19:12:22 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 你在**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram群组**](https://t.me/peass) 或 **关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- **通过向[hacktricks repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交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
2023-08-03 19:12:22 +00:00
如果你只有应用的IPA文件或者只是在越狱设备上安装的应用通常你无法找到`.entitlements`文件。这也可能是`embedded.mobileprovision`文件的情况。不过你应该能够自己从应用二进制文件中提取出entitlements属性列表如在“iOS基本安全测试”章节中所述通过“获取应用二进制文件”一节获得
2021-05-17 19:08:47 +00:00
2023-08-03 19:12:22 +00:00
即使针对加密的二进制文件以下步骤也应该适用。如果由于某种原因不适用你将需要使用Clutch如果与你的iOS版本兼容、frida-ios-dump或类似工具来解密和提取应用。
2021-05-17 19:08:47 +00:00
2023-08-03 19:12:22 +00:00
**从应用二进制文件中提取Entitlements Plist**
2021-05-17 19:08:47 +00:00
2023-08-03 19:12:22 +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"
```
2023-08-03 19:12:22 +00:00
或者你可以使用radare2`-qc`以静默模式运行一个命令并退出)在应用程序二进制文件上搜索包含"PropertyList"`~PropertyList`)的所有字符串(`izz`
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>...
```
2023-08-03 19:12:22 +00:00
无论是使用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
2023-08-03 19:12:22 +00:00
> 注意:`strings`命令在这里无法帮助,因为它无法找到这些信息。最好直接在二进制文件上使用带有`-a`标志的grep命令或者使用radare2`izz`/rabin2`-zz`)。
2021-05-17 19:08:47 +00:00
2023-08-03 19:12:22 +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
```
2023-08-03 19:12:22 +00:00
使用`-A num, --after-context=num`标志来显示更多或更少的行。如果您的越狱iOS设备上也安装了这些工具您也可以使用我们上面介绍的工具。
2021-05-17 19:08:47 +00:00
2023-08-03 19:12:22 +00:00
> 即使应用程序二进制文件仍然加密这种方法也应该有效已经对几个App Store应用进行了测试
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 您在**网络安全公司**工作吗您想在HackTricks中看到您的**公司广告**吗?或者您想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 发现我们的独家[NFT收藏品**The PEASS Family**](https://opensea.io/collection/the-peass-family)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或在**Twitter**上**关注**我[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- **通过向[hacktricks repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享您的黑客技巧**。
2022-04-28 16:01:33 +00:00
</details>