iOS Hooking With Objection

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)

其他支持HackTricks的方式:

对于本节,将使用工具Objection。 首先要获取一个Objection的会话,执行类似以下命令:

objection -d --gadget "iGoat-Swift" explore
objection -d --gadget "OWASP.iGoat-Swift" explore

你也可以执行 frida-ps -Uia 来检查手机上正在运行的进程。

应用程序的基本枚举

本地应用程序路径

  • env: 查找应用程序在设备内部存储的路径

env

Name               Path
-----------------  -----------------------------------------------------------------------------------------------
BundlePath         /private/var/containers/Bundle/Application/179A6E8B-E7A8-476E-BBE3-B9300F546068/iGoat-Swift.app
CachesDirectory    /var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A194-805B97B3684A/Library/Caches
DocumentDirectory  /var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A194-805B97B3684A/Documents
LibraryDirectory   /var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A194-805B97B3684A/Library

列出捆绑包、框架和库

  • ios bundles list_bundles: 列出应用程序的捆绑包

  • ios bundles list_frameworks: 列出应用程序使用的外部框架

  • memory list modules: 列出内存中加载的模块

  • memory list exports <module_name>: 加载模块的导出

列出应用程序的类

  • ios hooking list classes: 列出应用程序的类

  • ios hooking search classes <search_term>: 搜索包含特定字符串的类。您可以搜索与主应用程序包名称相关的某些唯一术语,以查找应用程序的主要类,如示例中所示:

列出类方法

  • ios hooking list class_methods: 列出特定类的方法

  • ios hooking search methods <search_term>: 搜索包含特定字符串的方法

基本Hooking

现在您已经枚举了应用程序使用的类和模块,可能已经找到了一些有趣的类和方法名称

钩住类的所有方法

  • ios hooking watch class <class_name>: 钩住类的所有方法,转储所有初始参数和返回值

钩住单个方法

  • ios hooking watch method "-[<class_name> <method_name>]" --dump-args --dump-return --dump-backtrace: 钩住类的特定方法,每次调用时转储参数、回溯和返回值

更改布尔返回值

  • ios hooking set return_value "-[<class_name> <method_name>]" false: 这将使所选方法返回指定的布尔值

生成Hooking模板

  • ios hooking generate simple <class_name>:

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)

支持HackTricks的其他方式:

最后更新于