一、应用初探
在群里水群的时候 群u发了一个交友APP
于是拿来分析一下~
可以看到应用打开后又一个登录的界面,需要用户输入手机号与验证码进行登录。将APK放入某安信云沙箱中分析,提示应用请求了过多的敏感权限。
二、逆向分析
直接拖入Jadx分析,好在程序没有加固,也没有任何混淆:
若直接点击注册会弹出以下窗口:
直接利用搜索大法定位到关键的位置:
沿着调用链向上回溯分析
可以发现调用了startTimer 和 toLogin函数。
进入startTimer函数分析:
发现程序APP进行一个90s的循环后就自动退出了 并不会启动其他什么额外的的Activity。
然后分析toLogin:
发现程序会创建一个 RxHttpJsonParam 对象并且请求的目标IP在Urls类中。
进入类可以看到相关的接口地址:
如果访问Reg接口成功的话 会进入一个匿名函数:
分析代码可以看到开发者编译的时候并没有把日志打印的函数注释掉,所以这样能很方便咱们进行分析。
其中调用的函数包括获取短信内容,获取联系人信息,获取图片…
三、主动调用
利用frida的主动调用操作,绕过程序前面一系列注册操作,直接调用恶意的行为。
首先通过创建一个新的类去调用:
出现以下的错误:
考虑直接从堆栈中调用已经初始化过的类:
此时抓包分析:
可以看到此时向目标接口上传了一个图片
将该图片另存为并将后缀改为jpg
即可看到该应用传输的图片为手机图库中的截图
并且从日志中可以看到应用上传了相当多的信息:(通讯录信息 各种图片)
四、总结
该APP也算是一个比较简单的恶意APP,无加壳无混淆,甚至开发者为了自己方便编写的Log函数也没有删除,数据在传输过程中也没有加密。但是这样简单的APP,假如有小白中招,也是会造成很十分严重的数据泄露风险的!
文末:
欢迎师傅们加入我们:
星盟安全团队纳新群1:222328705
星盟安全团队纳新群2:346014666
有兴趣的师傅欢迎一起来讨论!
PS:团队纳新简历投递邮箱:
责任编辑:@北极仙翁师傅
原文始发于微信公众号(星盟安全):记一次恶意APP逆向分析实战