吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5055|回复: 11
上一主题 下一主题
收起左侧

[Android 原创] 小菜花的frida-gadget持久化方案汇总

  [复制链接]
跳转到指定楼层
楼主
huaerxiela 发表于 2021-6-30 12:18 回帖奖励
本帖最后由 huaerxiela 于 2021-7-1 10:46 编辑

0x1:为什么要写这篇文章
    看到frIDA-gadget持久化的话题依旧在讨论,遂想记录下自己实践过的方案,第一次在吾爱发文,不当之处大手子请轻喷
                        

0x2:引言   
     今天咱们讨论的是frida-gadget的持久化,通俗理解也就是注入frida-gadget,让目标app加载该so文件,进而实现frida的hook功能,并且和app共生,一定程度上也免去了反调试,反frida(修改so名字,从maps看检测风险减小,或许从hook原理继续检测?)的情况,比较适用于大厂强风控下的群控hook的生产场景(这里不谈一键新机-设备指纹什么的),所以这个方案还是适合和需要掌握并落地的。
    一般来说,需要考虑三种设备环境的情况,那就是root和非root和源码定制,接下来我根据自己的了解和实践分别介绍下拙见。
    先来看这篇文章【未root的设备上使用frida:https://bbs.pediy.com/thread-229970.htm】,作者主要介绍的是利用lief工具把frida-gadget链接到目标app的so文件上进而实现加载和hook功能,优缺点作者也都介绍了,作为引言部分,就先从这篇文章获取到lief工具的用途和使用吧。

0x3:root环境
    1,(实践通过)目标app有使用so,利用lief工具把frida-gadget和目标app的so链接到一起,实现加载和hook
        如:从/data/app/packageName-xxx/lib下,找到app的so然后和frida-gadget进行链接
        风险点:需要过root检测,so文件完整性检测(如:目标app可扫描/data/app/packageName-xxx/lib目录下所有文件,和文件md5上传服务器做校验)
    2,(未实践)利用lief工具把frida-gadget和系统库(如libart,libc)链接到一起,实现加载和hook
        风险点:需要过root检测
    3,(未实践)magisk模块方案注入frida-gadget,实现加载和hook
        见文章Frida持久化方案(Xcube)之方案一——基于Magisk和Riru:https://bbs.pediy.com/thread-266787.htm】,然后hanbing老师也把fridamanger做成了magisk模块,那天见在群里已经通知了
        风险点:需要过root检测,magsik检测
    4,(未实践)xposed模块方案注入frida-gadget,实现加载和hook
        见文章Frida持久化方案(Xcube)之方案二——基于xposed:https://bbs.pediy.com/thread-266784.htm】
        风险点:需要过root检测,xposed检测

0x4:非root环境
    1,(未实践)目标app没有使用so,修改smali文件加入代码load frida-gadget然后再重打包,实现加载和hook
            风险点:重打包检测(签名检测,文件完整性检测)
    2,(实践通过)目标app有使用so,解包利用lief工具把frida-gadget和目标app的so链接到一起然后再重打包,实现加载和hook
            风险点:重打包检测(签名检测,文件完整性检测)   
    3,(实践通过)类xpatch方式加载frida-gadget,众所周知xpatch是修改的manifest文件替换了application入口,然后进行了sandhook初始化,xp模块的查找与加载,application的修正和过签名检测,三大主要功能,然后再回头看sandhook都注入了,再注入个frida-gadget不就改改代码的事嘛
            风险点:重打包检测(签名检测,文件完整性检测,xpatch-sandhook检测)

0x5:源码定制
   1,(实践通过)见文章[size=1.1]【ubuntu 20.04系统AOSP(Android 11)集成Frida:https://www.mobibrw.com/2021/28588】,作者是直接在system/lib下放入了frida-gadget,我是参考了强哥文章【玩转Android10源码开发定制(九)内置frida-gadget so文件和frida-server可执行文件到系统:https://bbs.pediy.com/thread-264916.htm】,利用了PRODUCT_COPY_FILES的方式把文件copy到了system/lib下,然后我又改了frameworks/base/core/jni/com_android_internal_os_Zygote.cpp的com_android_internal_os_Zygote_nativeForkAndSpecialize函数,实现了fork进程的时候dlopen frida-gadget给每个进程都加上frida,进而实现了hanbing老师的fridamanger低配版(FridaManager:Frida脚本持久化解决方案:https://bbs.pediy.com/thread-266767.htm),然后强哥说他是直接改的java层代码system.load的,我猜测是在makeApplication之类的地方做的,由于已经实现功能,所以未做后续验证。

0x6:总结
     其实本文的真正的出发点还是想从【反反制/较小风险点的情况下去实现frida-gadget的持久化】来聊方案,故还是推荐【非root环境和源码定制】的方式(ps:国产厂商root越来越难,非root更加通用)
     非root环境推荐:魔改xpatch+魔改sandhook+VirtualApp的iohook = 渣总ratel低配版(平头哥开放文档:https://git.virjar.com/ratel/ratel-doc),这种方案下,魔改的xposed和frida都有了,想用嘛用嘛,基本只能从【java层hook原理+inline hook原理 + syscall(Android svc获取设备信息:https://bbs.pediy.com/thread-264641.htm】几个点来检查,纬度也算来到了高维对抗,并且开源轮子的显著特征都没了,至于能不能过还要看检测的具体强度,当然这个方案适配是个问题,32位下基本没问题,64位还要根据厂商再看看。大手子看到这里已经猜到了选用该方案已经不单单是为了做hook持久化了,后续还要做新机,多开等功能,尽可能完善地落地一个闭环的通用型方案。
    源码定制推荐:自己动手去实现fridamanger低配版就好,因为后续还要做设备指纹,systemapp,内核模块开发,多开等一系列功能。

0x7:感谢
    感谢上面内容提到每一个名字和项目    哥哥们的先行和分享推进了社区的进步
    写代码和做技术因你们变得更加美好
    哥哥们牛批!

免费评分

参与人数 4威望 +1 吾爱币 +23 热心值 +3 收起 理由
#sky# + 1 + 1 热心回复!
qtfreet00 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
jiangsg + 1 + 1 谢谢@Thanks!
爱你小吉君 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
hzzheyang 发表于 2021-6-30 15:13
Hmily 发表于 2021-6-30 14:52
同学,你这文章是复制过来的吗,编辑下格式吧,配配图,这没法看。。。

作者是原创的,但是首发不是这里,哈哈

点评

没明白,这文章是你写的吗?  详情 回复 发表于 2021-6-30 15:16
推荐
 楼主| huaerxiela 发表于 2021-6-30 15:28 |楼主
Hmily 发表于 2021-6-30 15:16
没明白,这文章是你写的吗?

是我写的,首发是别的站点,刚复制格式有问题,我整整,谢谢版主
4#
Hmily 发表于 2021-6-30 14:52
同学,你这文章是复制过来的吗,编辑下格式吧,配配图,这没法看。。。
5#
Hmily 发表于 2021-6-30 15:16
hzzheyang 发表于 2021-6-30 15:13
作者是原创的,但是首发不是这里,哈哈

没明白,这文章是你写的吗?
6#
 楼主| huaerxiela 发表于 2021-7-1 15:14 |楼主
终于把格式搞好了,来来回回整了四遍
7#
xfmiao 发表于 2021-7-1 16:30
支持原创,感谢分享
8#
dllrose 发表于 2021-7-1 22:26
支持原创文章,最近也在研究frida
9#
Mrian-hua 发表于 2021-7-21 16:20
rOysue YYDS
10#
Yuan00 发表于 2021-7-21 18:37
感谢大佬分享!save下来慢慢mark
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-23 00:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表