3.9 KiB
从已编译的应用程序中提取权限
从零开始学习AWS黑客技术,成为 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
- 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS & HackTricks周边产品
- 探索PEASS家族,我们的独家NFTs
- 加入 💬 Discord群 或 电报群 或 关注我的Twitter 🐦 @carlospolopm。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
提取权限和移动配置文件
处理应用的IPA文件或越狱设备上安装的应用时,可能无法直接找到.entitlements
文件或embedded.mobileprovision
文件。但是,仍然可以从应用程序二进制文件中提取权限属性列表,按照“iOS基本安全测试”章节中概述的程序进行操作,特别是“获取应用程序二进制文件”部分。
即使是加密的二进制文件,也可以采取某些步骤来提取这些文件。如果这些步骤失败,可能需要使用工具如Clutch(如果与iOS版本兼容)、frida-ios-dump或类似的实用程序来解密和提取应用程序。
从应用程序二进制文件中提取权限Plist
在计算机上可以访问应用程序二进制文件时,可以使用binwalk来提取所有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 可以用来静默运行命令并退出,搜索应用程序二进制文件中包含 "PropertyList" 的所有字符串:
$ r2 -qc 'izz~PropertyList' ./Telegram\ X
0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>...
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>...
Both methods, binwalk and radare2, enable the extraction of plist
files, with an inspection of the first one (0x0015d2a4) revealing a successful recovery of the original entitlements file from Telegram.
For app binaries accessed on jailbroken devices (e.g., via SSH), the grep command with the -a, --text
flag can be used to treat all files as ASCII text:
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
调整 -A num, --after-context=num
标志允许显示更多或更少行。即使针对加密的应用程序二进制文件,此方法也是可行的,并已针对多个App Store应用进行验证。先前提到的工具也可用于越狱的iOS设备以实现类似的目的。
注意: 不建议直接使用 strings
命令执行此任务,因为它在查找相关信息方面存在局限性。相反,建议在二进制文件上使用带有 -a
标志的 grep 或利用 radare2 (izz
)/rabin2 (-zz
) 获得更有效的结果。