6.5 KiB
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
你在网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
-
发现我们的独家NFTs收藏品The PEASS Family
-
加入 💬 Discord群组 或 Telegram群组 或 关注我在Twitter上的🐦@carlospolopm。
-
通过向hacktricks repo和hacktricks-cloud repo提交PR来分享你的黑客技巧。
如果你只有应用的IPA文件或者只是在越狱设备上安装的应用,通常你无法找到.entitlements
文件。这也可能是embedded.mobileprovision
文件的情况。不过,你应该能够自己从应用二进制文件中提取出entitlements属性列表(如在“iOS基本安全测试”章节中所述,通过“获取应用二进制文件”一节获得)。
即使针对加密的二进制文件,以下步骤也应该适用。如果由于某种原因不适用,你将需要使用Clutch(如果与你的iOS版本兼容)、frida-ios-dump或类似工具来解密和提取应用。
从应用二进制文件中提取Entitlements Plist
如果你在电脑上有应用的二进制文件,一种方法是使用binwalk来提取(-e
)所有XML文件(-y=xml
):
$ 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
以静默模式运行一个命令并退出)在应用程序二进制文件上搜索包含"PropertyList"(~PropertyList
)的所有字符串(izz
):
$ 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的原始授权文件。
注意:
strings
命令在这里无法帮助,因为它无法找到这些信息。最好直接在二进制文件上使用带有-a
标志的grep命令,或者使用radare2(izz
)/rabin2(-zz
)。
如果您在越狱设备上访问应用程序二进制文件(例如通过SSH),您可以使用带有-a, --text
标志的grep命令(将所有文件视为ASCII文本):
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/
15E6A58F-1CA7-44A4-A9E0-6CA85B65FA35/Telegram X.app/Telegram\ X
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.application-groups</key>
<array>
...
使用-A num, --after-context=num
标志来显示更多或更少的行。如果您的越狱iOS设备上也安装了这些工具,您也可以使用我们上面介绍的工具。
即使应用程序二进制文件仍然加密,这种方法也应该有效(已经对几个App Store应用进行了测试)。
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
您在网络安全公司工作吗?您想在HackTricks中看到您的公司广告吗?或者您想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
-
发现我们的独家NFT收藏品The PEASS Family
-
加入💬 Discord群组或电报群组,或在Twitter上关注我🐦@carlospolopm。
-
通过向hacktricks repo和hacktricks-cloud repo提交PR来分享您的黑客技巧。