纸上得来终觉浅,为了更好的将知识掌握,从网上下载了这个病毒的apk样本来分析学习。
这里先将apk样本放到在线的文件分析平台看一下,这里选择的是国内的平台,书上推荐的是Mobile SANDBOX,这个平台有一个优势,就是会保存运行时的流量包,可以自己再对流量包进行手动分析。在等待平台跑出结果的时候,先自己手动分析一下。
这里先用Android Killer看一下java层的代码
可以看到这里一共需要五个权限。
android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.READ_PHONE_STATE
android.permission.ACCESS_COARSE_LOCATION
总共申请获取了网络、WIFI、读取、定位这几个权限。
点击查看java层的源码,可以看到这里先判断手机有无进行root操作。
然后启动了一个线程,这里面涉及的网站已经访问不了了,但是根据以前的资料,这个连接网站主要是为了下派广告。
接着初始化了一个f类
然后之后通过读取配置文件的did,和外连网站注册userid.(这里注册的userid,因为网站已经无法访问,所以只能根据之前的资料).
接着再启动一个全局定时器,用于启动ReceiverAlarm。
接着会获取系统的通知服务。
接着的操作就是跟获取广告有关了。
接着再回到MainActivity,可以看到在之后又启动了一个服务。
这里调用了一个原生的动态连接库。这里我们用apktool对apk进行操作,获得lib目录下的so文件进行native层的分析。
将so文件放入ida中,f5一下。(汇编水平还不行,所以这里用查看伪代码的方式进行分析).
根据java层可以得知,这里会传入三个参数,设备id,程序包名,meta_data.
然后之后可以看到这里进行了一个写文件的操作,判断这里就是病毒主体生成的地方。文件名是根据时间随机生成的。然后对主体加上了一个权限操作。
接下来进行了root的一个判断,然后通过管道调用su.
接下来,就是执行病毒主体的操作,再执行完后,还会对文件进行一个删除。
这里把病毒主体bin文件放入到ida中查看。
这里对系统感染的部分进行分析。
这里可以看到是通过一个中间临时文件,对系统文件进行修改。
最后再回去看一下在线平台的分析结果。
这里可以看到的运行截图和之前的分析差不多。若有不足之处请大家多多指出希望可以和大家一起学习交流。
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
Track-劲夫 | 70.00 | 0 | 2022-05-09 20:08:58 | 一个受益终生的帖子~~ |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.
spider
发表于 2022-5-8
不允许转载
评论列表
加载数据中...