MASTG-TOOL-0029: Android 版 objection
Objection 提供了几个专门针对 Android 的功能。 您可以在项目的页面上找到完整的功能列表,但这里有一些有趣的功能
- 重新打包应用程序以包含 Frida gadget
- 禁用常用方法的 SSL pinning
- 访问应用程序存储以下载或上传文件
- 执行自定义 Frida 脚本
- 列出 Activity、Service 和 Broadcast receiver
- 启动 Activities
如果您有一个安装了 frida-server 的 root 设备,Objection 可以直接连接到正在运行的 Frida 服务器,从而提供其所有功能,而无需重新打包应用程序。 但是,并非总是可以 root Android 设备,或者应用程序可能包含用于 root 检测的高级 RASP 控制,因此注入 frida-gadget 可能是绕过这些控制的最简单方法。
在非 root 设备上执行高级动态分析的能力是使 Objection 非常有用的功能之一。 按照重新打包流程( 重新打包和重新签名)后,您将能够运行所有上述命令,这使得快速分析应用程序或绕过基本安全控制变得非常容易。
在 Android 上使用 Objection¶
启动 Objection 取决于您是否已修补 APK,或者您是否正在使用运行 Frida-server 的 root 设备。 对于运行修补的 APK,objection 将自动找到任何连接的设备并搜索正在侦听的 Frida gadget。 但是,当使用 frida-server 时,您需要明确告诉 frida-server 您想要分析哪个应用程序。
# Connecting to a patched APK
objection explore
# Find the correct name using frida-ps
$ frida-ps -Ua | grep -i telegram
30268 Telegram org.telegram.messenger
# Connecting to the Telegram app through Frida-server
$ objection --gadget="org.telegram.messenger" explore
进入 Objection REPL 后,您可以执行任何可用的命令。 以下是一些最有用的命令的概述
# Show the different storage locations belonging to the app
$ env
# Disable popular ssl pinning methods
$ android sslpinning disable
# List items in the keystore
$ android keystore list
# Try to circumvent root detection
$ android root disable
有关使用 Objection REPL 的更多信息,请参见Objection Wiki