[Android病毒分析]锁屏病毒之免流服务器

锁屏病毒之免流服务器

一、 样本概况

1.1 样本信息

文件名称:免流服务器.apk
文件类型:application/jar
样本包名:zs.ip.proxy
样本大小:782KB
MD5:2EFCA46F34A565C2EF4052B89B6B364B
SHA1:5493A958A592BB0B19C43ACB2C1F52C898885207
病毒行为:在storage/sdcard0目录下创建名为stk3.apk的文件,并将其拷贝到system/app目录下,并修改文件属性。
文件名称:stk3.apk
文件类型:application/jar
样本包名:com.android.stk3
样本大小:235KB
MD5:44DBCF4F3410CF4CDCD9463B76AF0A91
SHA1:1A2F265932EC81224AD4B922764E38413DADC8E1
病毒行为:发送恶意短信,锁住屏幕。

1.2 测试环境及工具

测试环境:夜神模拟器 V_3.8.3.1
工具:Jeb、AndroidKiller

1.3 分析目标

1、 病毒运行的具体方式
2、 查杀病毒

二、 具体行为分析

将免流服务器.apk安装到夜神模拟器中,运行文件,点击安装核心。
在这里插入图片描述
同样的弹出请求root权限,点击允许。安装完成之后重启夜神模拟器。
在这里插入图片描述
重启之后,发现手机被锁。
在这里插入图片描述
将免流服务器.apk拖到AndroidKiller中,进一步分析行为。可以看出只有一个窗体,没有广播也没有服务,并且也没有什么敏感的用户的权限。
在这里插入图片描述
打开Jeb进行详细分析,可见OnCreate函数在strorage/sdcard0目录下新建了一个名为stk3.apk的文件。
在这里插入图片描述
当用户点击安装核心的时候,先判断手机有没有root。如果没有root直接退出,当手机已经root后,执行如下几条命令。最终的结果将文件拷贝到system/app目录下并修改文件权限为可读可写可执行。提示用户重启手机。

命令 含义
Mount -o remount, rw /system/ 以可读写的方式加载system分区
cp storage/sdcard0/stk3.apk /system/app/ 将文件拷贝到系统目录下
chmod 777 /system/app/stk3.apk 修改文件属性
exit 退出命令

在这里插入图片描述
经过分析,这个APK文件释放出了一个stk3.apk文件,使用命令:adb pull 源文件 指定目录,将文件提取出来,使用AndroidKiller进行反编译。可以看到这个apk文件采用了一些敏感的权限,此外创建了一个服务,和一个广播。
在这里插入图片描述
查看入口函数,在这里只是依靠startService启动了一个服务,然后转到相应的服务仔细分析可以看到,在重写了OnCreate函数,在函数里面向一个手机号发送大量的侮辱性短信。然后在onStartCommand的函数里面设置了对按钮的接听器,通过这个可以找到解除屏幕锁定的密码。

此外在分析广播函数的时候,当接收到一条开机的广播的时候也会调用startService函数。
在这里插入图片描述
在这里插入图片描述
通过分析解锁按钮的监听函数可以找到解锁密码:TFB4。
在这里插入图片描述

三、 查杀方法以及解决方法

1、 提取病毒特征,利用杀毒软件进行查杀。

第一个文件的MD5:2EFCA46F34A565C2EF4052B89B6B364B
第二个文件的MD5:44DBCF4F3410CF4CDCD9463B76AF0A91

2、 解决方法

(1)根据加密算法算出密码。密码:TFB4。但这种方法,并没有将病毒清除,在每次开机之后都要输入。 (2)清理病毒文件所在的四个地方。    第一个system/app:存放着stk3.apk文件,通过获取读写权限,删除该文件    第二个data/app:存放着第一个文件,修改读写权限,进行删除    第三个data/data:存放着两个文件的配置信息,修改读写权限,删除    第四个strorage/sdcard0:存放着stk3.apk文件,修改权限进行删除。