Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

栏目: IT技术 · 发布时间: 4年前

内容简介:对于像我这种不会拖壳、逆向的菜鸡来说,是很痛苦的,frida的hook老是不成功,写的代码总是运行不起来,别说有多痛苦了,最后找啊找,终于找到了一款xposed的插件Xserver(此处膜拜作者一万年)可以图形化及自动化的协助我们hook想要hook的方法,从而可以协助我们遇到数据加密的场景下对内容进行解密,从而帮助我们继续测试下去,(其实此工具能实现的绝对不止数据加解密,只是平常遇到较多的是这种而已)

背景

相信很多小伙伴在日常APP安全测试的过程中都会遇到数据包被加密的情况,如

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

对于像我这种不会拖壳、逆向的菜鸡来说,是很痛苦的,frida的hook老是不成功,写的代码总是运行不起来,别说有多痛苦了,最后找啊找,终于找到了一款xposed的插件Xserver(此处膜拜作者一万年)可以图形化及自动化的协助我们hook想要hook的方法,从而可以协助我们遇到数据加密的场景下对内容进行解密,从而帮助我们继续测试下去,(其实此 工具 能实现的绝对不止数据加解密,只是平常遇到较多的是这种而已)

(备注:我不是工具作者,我只是工具的搬运工,本文只是一篇工具使用科普而已。。。大佬勿喷)

测试环境

WIN10

逍遥模拟器

Xposed

使用步骤

由于Xserver  是一款基于Xposed的HOOK框架,所有Xposed的安装是必须的,针对逍遥模拟器,可直接在其应用商店安装即可,

Xserver的安装地址 https://github.com/monkeylord/XServer

安装完成后,进入Xserver,会提示模块未激活,

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

此时可以进入xposed里面看下是否进行了勾选

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

然后重启模拟器在进入就不会再有提示了,如果还不行,请重装xposed

一切就绪后先通过ADB连接模拟器

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

紧接着,需要将Xervser的web端口转发到本地,默认是8000端口

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

需要注意的是,如果转发了8000端口本地还访问不到,那可能因为某些原因它初始化的时候没有在8000上,所以这个时候需要通过找PID的值进行转发。

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

这样子就已经转发成功了,这时候进入Xserver选中待测试的APP

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

然后回到桌面,打开被选中的待测试APP后,在本地访问127.0.0.1:8000,即可成功hook的web界面了

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

接下来主要介绍两个功能,一个是trace,访问地址是 http://localhost:8000/tracer

一个是hook,访问地址是 http://localhost:8000/invoke

模拟器设置好burp代理,打开待测试的APP,抓包发现返回是加密的

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

此处的思路是返回包被加密,那么程序里一定有一个函数或方法会对其进行解密,且一般的解密的函数命名都有decry之类的字符(只是一般情况下),因此只需对对应的解密函数进行hook就好了,所以我们要做的就是首先加载APP的所有的方法

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

点击此按钮,加载APP所有的方法

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

可以看到成功加载了9W+方法,然后盲猜对应的解密方法中有decry之类的字符,进行匹配

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

可以看到总共有33个方法,那我们就直接**多所有的方法进行hook,这时回到APP,随意发起网络请求

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

从burp的返回中我们可以看到返回的内容是加密的

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

不过没关系,我们再去到hook的web界面中可以看到数据包已经被解密出来了,对应的加解密方法、解密密钥也在其中

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

图中的字符为unicode编码,此时只需要再转码一次即可

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

说完tracer,就该说说invoke了,我对他的理解就是,可以直接脱离测试APP本身,直接通过Xserver进行调用前面hook的方法进行使用,如回到刚刚tracer那里,我们可以看到已经输出了APP中对应的解密方法,因此点击可直接进入此方法的view

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

此时我们只需要将对应的参数填进栏目里即可,此时的参数就是从trace中输出的相关参数,注意不要把#号也copy进去

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件 配置好参数后,点击invoke,即可看到burp中拦截到的请求

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件

此时将数据包放过去即可

Xserver:一款无需拖壳逆向即可解密APP的通信数据包插件


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming in Haskell

Programming in Haskell

Graham Hutton / Cambridge University Press / 2007-1-18 / GBP 34.99

Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs. This introduc......一起来看看 《Programming in Haskell》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具