虚假交友APP(信息窃取)逆向分析
2024-4-8 17:58:50 Author: mp.weixin.qq.com(查看原文) 阅读量:14 收藏


应用初探

群友发了一个交友APP,于是拿来分析一下。



可以看到应用打开后又一个登录的界面,需要用户输入手机号与验证码进行登录。

#在线云沙箱分析
将APK放入某安信云沙箱中分析,提示应用请求了过多的敏感权限。


逆向分析

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



若直接点击注册会弹出以下窗口:



直接利用搜索大法定位到关键的位置:




沿着调用链向上回溯:

可以发现调用了startTimer 和 toLogin函数,进入startTimer函数分析。



发现程序APP进行一个90s的循环后就自动退出了,并不会启动其他什么奇奇怪怪的Activity(我有个朋友听到这个消息后特别失望)。

然后分析toLogin。


发现程序会创建一个 RxHttpJsonParam 对象并且请求的目标IP在Urls类中。

双机进入类可以看到相关的接口地址:



如果访问Reg接口成功的话,会进入一个匿名函数。



分析代码可以看到开发者编译的时候并没有把日志打印的函数給注释掉,所以这样能很方便咱们进行分析。

其中调用的函数包括获取短信内容,获取联系人信息,获取图片:


抓包分析

首先在断网情况下测试。



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

日志中打印出来这些内容:



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

点击注册后,程序会发送目标Reg接口发送用户填写的手机号、验证码、当前时间、当前时间加盐后的hash值、手机型号。

利用Repeat模块连续发了几次包之后,发现自己的IP被ban了,再次访问总是500。


主动调用

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

首先通过创建一个新的类去调用:
 
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"]();
}
出现以下的错误:


考虑直接从堆栈中调用已经初始化过的类。
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,假如有小白中招,也是会造成很十分严重的数据泄露风险的。因此网络世界真真假假,假假真真,还是希望大家文明上网吧!

看雪ID:Just_Cracker

https://bbs.kanxue.com/user-home-946278.htm

*本文为看雪论坛优秀文章,由 Just_Cracker 原创,转载请注明来自看雪社区

# 往期推荐

1、常见的固件加解密方式与D-Link固件解密实战分析

2、.NET 恶意软件 101:分析 .NET 可执行文件结构

3、CVE-2024-0015复现 (DubheCTF DayDream)

4、Unity的et热更新分析和补丁

5、Pwnable.kr 解题笔记

6、安卓逆向基础知识之动态调试及安卓逆向常规手段

球分享

球点赞

球在看

点击阅读原文查看更多


文章来源: https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458550023&idx=1&sn=3169e51503b31171af3495215f533642&chksm=b18d4f8d86fac69b4c8498e23727995cd0889d1fee6db1195e8d8d93917f86fe664595ef6887&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh