某虚假交友APP(信息窃取)逆向分析

本文对一款交友APP进行了分析,发现其请求过多敏感权限,未加密通信,存在自动退出、获取个人信息和上传图片等潜在恶意行为,提醒用户注意网络安全。
摘要由CSDN通过智能技术生成

应用初探

在群里水群的时候 群u发了一个交友APP 于是拿来分析一下

可以看到应用打开后又一个登录的界面
需要用户输入手机号与验证码进行登录
#在线云沙箱分析
将APK放入某安信云沙箱中分析 提示应用请求了过多的敏感权限 

逆向分析

直接拖入Jadx分析 好在程序没有加固 也没有任何混淆

若直接点击注册会弹出以下窗口 直接利用搜索大法定位到关键的位置

 沿着调用链向上回溯

可以发现调用了startTimer 和 toLogin函数
进入startTimer函数分析
 发现程序APP进行一个90s的循环后就自动退出了 并不会启动其他什么奇奇怪怪的Activity(我有个朋友听到这个消息后特别失望)
然后分析toLogin

发现程序会创建一个 RxHttpJsonParam 对象并且请求的目标IP在Urls类中
双机进入类可以看到相关的接口地址 分析代码可以看到开发者编译的时候并没有把日志打印的函数給注释掉
所以这样能很方便咱们进行分析
其中调用的函数包括获取短信内容,获取联系人信息,获取图片...

抓包分析

首先在断网情况下测试

 在这里我尝试去利用Frida去hook okhttp3 中的 connect函数
发现hook不到 但是在smail层面位置设置断电调试却可以断下来
这里不明白是为什么 懂的大佬可以解释一下...

 日志中打印出来这些内容

接下将电脑和手机连接在同一网络中 配置手机的代理后直接用BP抓包分析

点击注册后 程序会发送目标Reg接口发送用户填写的手机号 验证码 当前时间 当前时间加盐后的hash值 手机型号
利用Repeat模块连续发了几次包之后 发现自己的IP被ban了 再次访问总是500

主动调用

此时我的IP已经不可以注册 (这里考虑用梯子挂了全局代理 但是没有用)
肯定无法触发后续的恶意操作了 此时想到了利用Frida主动调用其中的恶意函数
首先通过创建一个新的类去调用

1

2

3

4

5

6

7

8

let LoginActivity = Java.use("com.qinyue.vmain.activity.LoginActivity");

       var obj = LoginActivity.$new();

       console.log("getContacts()")

       obj.getContacts();

       LoginActivity["getContactsSms"].implementation = function () {

       console.log(`LoginActivity.getContactsSms is called`);

       this["getContactsSms"]();

   }

出现以下的错误
 

图片描述


考虑直接从堆栈中调用已经初始化过的类

1

2

3

4

5

6

7

8

9

10

11

12

Java.choose("com.qinyue.vmain.activity.LoginActivity",{    //要hook的类

            onMatch:function(instance){

                console.log("onMatch ");

                let ret=instance.getContacts(); //要hook的方法

                instance.getContactsSms();

                instance.getPhoto();

            },

            onComplete:function(){

                console.log("result: " );

            }

        });

此时抓包分析

 

可以看到此时向目标接口上传了一个图片

流量分析

Wireshark抓包 分析一下

 随便提取一个出来看看恰好就是我之前保存的应用截图

并且从日志中可以看到应用上传了相当多的信息(通讯录信息 各种图片) 

总结

该APP也算是一个比较简单的恶意APP 无加壳无混淆 甚至开发者为了自己方便编写的Log函数也没有删除 数据在传输过程中也没有加密
但是这样简单的一个仅有一张封面的APP 假如有小白中招 也是会造成很十分严重的数据泄露风险的
因此网络世界真真假假 假假真真 还是希望大家文明上网吧!

  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
某flutter-app逆向分析是指对于一个使用flutter框架开发的应用进行逆向工程分析。逆向工程是通过分析应用的代码、二进制文件等来了解其内部实现细节。 首先,我们需要获取该应用的安装包文件(APK或IPA文件),然后进行解包操作,将其转换为可读取的文件目录结构。 接下来,我们可以使用一些工具来提取应用的资源文件、代码文件等。对于flutter-app来说,可以提取出dart文件,这是flutter的主要代码文件,其中包含了应用的逻辑实现。 通过阅读dart文件,我们可以了解应用的代码结构、数据模型、界面设计等。可以分析应用的逻辑实现方法,包括各种函数、类、方法的调用关系。 同时,还可以通过分析相关配置文件、资源文件等来了解应用的各种设置、资源加载方式等。 在逆向过程中,还可以使用一些调试工具来进一步了解应用的运行机制。例如,hook工具可以拦截应用的函数调用,并捕获输入输出数据,用于进一步分析。 逆向分析的目的可以有很多,比如了解应用的工作原理、发现潜在的漏洞或安全问题、提供参考用于自己的开发等。 需要注意的是,逆向分析需要遵守法律规定。未经授权的逆向分析可能侵犯他人的知识产权,涉及到隐私等方面的问题。因此,在进行逆向分析之前,应该了解并遵守当地相关法律法规,避免产生法律纠纷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值