可以看到应用打开后又一个登录的界面,需要用户输入手机号与验证码进行登录。将APK放入某安信云沙箱中分析,提示应用请求了过多的敏感权限。直接拖入Jadx分析,好在程序没有加固,也没有任何混淆。可以发现调用了startTimer 和 toLogin函数,进入startTimer函数分析。发现程序APP进行一个90s的循环后就自动退出了,并不会启动其他什么奇奇怪怪的Activity(我有个朋友听到这个消息后特别失望)。发现程序会创建一个 RxHttpJsonParam 对象并且请求的目标IP在Urls类中。分析代码可以看到开发者编译的时候并没有把日志打印的函数給注释掉,所以这样能很方便咱们进行分析。
其中调用的函数包括获取短信内容,获取联系人信息,获取图片:在这里我尝试去利用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: " ); }
});
并且从日志中可以看到应用上传了相当多的信息(通讯录信息 各种图片)。该APP也算是一个比较简单的恶意APP,无加壳无混淆,甚至开发者为了自己方便编写的Log函数也没有删除,数据在传输过程中也没有加密。
但是这样简单的一个仅有一张封面的APP,假如有小白中招,也是会造成很十分严重的数据泄露风险的。因此网络世界真真假假,假假真真,还是希望大家文明上网吧!看雪ID:Just_Cracker
https://bbs.kanxue.com/user-home-946278.htm
*本文为看雪论坛优秀文章,由 Just_Cracker 原创,转载请注明来自看雪社区
文章来源: https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458550023&idx=1&sn=3169e51503b31171af3495215f533642&chksm=b18d4f8d86fac69b4c8498e23727995cd0889d1fee6db1195e8d8d93917f86fe664595ef6887&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh