Android安全-使用JSHook注入FridaGadget

admin 2024年7月8日08:46:53评论243 views字数 1756阅读5分51秒阅读模式
0x00 前言
在注入frida的时候经常会遇到被检测或者持久化的问题,可以尝试使用gadget去绕过注入检测。
注入gadget的方式有很多:
  • Patch so
  • objection修改APK
  • 修改ROM注入(成本最高)
  • 使用模块注入
因为patch一般在高版本的系统中需要android:extractNativeLibs这个选项设置为true。所以不具有完全的通用性。
objection修改APK文件本身属于对APK进行一次重打包,现在存在一些防护手段的APP(如frida检测)一般也是会存在签名校验的,所以依然需要过掉签名检验,并且还不一定能真的过掉frida检测。
修改ROM注入的话,本身修改AOSP就已经非常困难了,AOSP也存在非常多的特征会被检测到,所以最好是修改lineageOS或者PixelExperience系统来进行gadget注入。
那么最后其实还是模块注入是比较方便的注入方式。下面介绍一下我发现的好模块JSHook的使用方式。
0x01 JSHook
项目仓库下载地址:https://github.com/JsHookApp/Download
项目官方文档地址:https://jshook.org/
需要下载用到的是
  • JsHook-v1.2.7-1207-zygisk-release.zip
  • jshook-v1.2.4.apk

Android安全-使用JSHook注入FridaGadget

这里我用到的环境是zygisk的,如果环境是riru的话就下载riru版本。如果使用的是Kernelsu或者APatch来获取的Root的话需要下载一个ZygiskNext模块来激活zygisk环境。地址如下:https://github.com/Dr-TSNG/ZygiskNext
JsHook-v1.2.7-1207-zygisk-release.zip文件作为模块去安装一下。

Android安全-使用JSHook注入FridaGadget

之后将jshook-v1.2.4.apk给安装到手机上。之后打开APK界面会显示“已激活”。

Android安全-使用JSHook注入FridaGadget

之后点击“框架管理”功能来,选择"FridaGadget"来点击安装。

Android安全-使用JSHook注入FridaGadget

之后可以点击“应用”来获取到手机中的应用列表。找到想要注入的APP。点开之后拉到最下,找到“注入配置”--“选择注入框架”,点击之后选择“FridaGadget 16.2.1”。

Android安全-使用JSHook注入FridaGadget

选择好了之后拉到最上边,打开“启用Hook服务”。之后就可以点击打开应用了。这个时候应该会弹出一个提示“Start Hooking ...”

Android安全-使用JSHook注入FridaGadget

    执行此命令可以监听frida的logcat

adb logcat -s TAG Frida

    当我们点击打开应用的会提示“Start Hooking application: ...”

Android安全-使用JSHook注入FridaGadget

    并且在logcat中会显示frida启动了监听

~ » adb logcat -s TAG Frida                                                                                                                            red256@red256deMBP-2--------- beginning of main07-07 23:49:41.940  4412  4470 I Frida   : Listening on 127.0.0.1 TCP port 28042

    这个时候需要执行

~ » adb forward tcp:28042 tcp:28042                                                                                                                1 ↵ red256@red256deMBP-228042

    最后就可以尝试Attach了

~ » frida -H 127.0.0.1:28042 -F                                                                                                                        red256@red256deMBP-2     ____    / _  |   Frida 16.3.3 - A world-class dynamic instrumentation toolkit   | (_| |    > _  |   Commands:   /_/ |_|       help      -> Displays the help system   . . . .       object?   -> Display information about 'object'   . . . .       exit/quit -> Exit   . . . .   . . . .   More info at https://frida.re/docs/home/   . . . .   . . . .   Connected to 127.0.0.1:28042 (id=socket@127.0.0.1:28042)[Remote::Gadget ]->

    这样就成功的使用gadget注入了frida。

原文始发于微信公众号(ElysiumSec):Android安全-使用JSHook注入FridaGadget

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月8日08:46:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Android安全-使用JSHook注入FridaGadgethttps://cn-sec.com/archives/2929909.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息