移动端DroidKongfu病毒实例分析

spider   ·   发表于 2022-05-08 23:33:14   ·   技术文章

前言

纸上得来终觉浅,为了更好的将知识掌握,从网上下载了这个病毒的apk样本来分析学习。

正文

这里先将apk样本放到在线的文件分析平台看一下,这里选择的是国内的平台,书上推荐的是Mobile SANDBOX,这个平台有一个优势,就是会保存运行时的流量包,可以自己再对流量包进行手动分析。在等待平台跑出结果的时候,先自己手动分析一下。


这里先用Android Killer看一下java层的代码
img

可以看到这里一共需要五个权限。
android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.READ_PHONE_STATE
android.permission.ACCESS_COARSE_LOCATION
总共申请获取了网络、WIFI、读取、定位这几个权限。
image-20220508230627812

点击查看java层的源码,可以看到这里先判断手机有无进行root操作。

image-20220508230648298

然后启动了一个线程,这里面涉及的网站已经访问不了了,但是根据以前的资料,这个连接网站主要是为了下派广告。

image-20220508230710809

接着初始化了一个f类

image-20220508230726084

然后之后通过读取配置文件的did,和外连网站注册userid.(这里注册的userid,因为网站已经无法访问,所以只能根据之前的资料).

image-20220508230746622

image-20220508230755822

接着再启动一个全局定时器,用于启动ReceiverAlarm。

image-20220508230825266

接着会获取系统的通知服务。

image-20220508230845508

接着的操作就是跟获取广告有关了。

image-20220508230901563

接着再回到MainActivity,可以看到在之后又启动了一个服务。

image-20220508230913934

这里调用了一个原生的动态连接库。这里我们用apktool对apk进行操作,获得lib目录下的so文件进行native层的分析。

image-20220508230933925

将so文件放入ida中,f5一下。(汇编水平还不行,所以这里用查看伪代码的方式进行分析).

image-20220508230955460

根据java层可以得知,这里会传入三个参数,设备id,程序包名,meta_data.

image-20220508231016749

然后之后可以看到这里进行了一个写文件的操作,判断这里就是病毒主体生成的地方。文件名是根据时间随机生成的。然后对主体加上了一个权限操作。

image-20220508231035250

接下来进行了root的一个判断,然后通过管道调用su.

image-20220508231049380

接下来,就是执行病毒主体的操作,再执行完后,还会对文件进行一个删除。

image-20220508231107267

这里把病毒主体bin文件放入到ida中查看。

image-20220508231126125

这里对系统感染的部分进行分析。

这里可以看到是通过一个中间临时文件,对系统文件进行修改。

image-20220508231145149

image-20220508231200573

最后再回去看一下在线平台的分析结果。

image-20220508231218357

image-20220508231226224

image-20220508231235134

这里可以看到的运行截图和之前的分析差不多。若有不足之处请大家多多指出希望可以和大家一起学习交流。

用户名金币积分时间理由
Track-劲夫 70.00 0 2022-05-09 20:08:58 一个受益终生的帖子~~

打赏我,让我更有动力~

1 条回复   |  直到 2022-5-8 | 591 次浏览

spider
发表于 2022-5-8

不允许转载

评论列表

  • 加载数据中...

编写评论内容
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.