Android锁屏勒索病毒分析(4)秒抢红包
1.样本概况
1.1 基本信息
样本名称:
秒抢红包
所属家族:
锁屏勒索病毒
MD5值:
033ae1ba78676130e99acc8d9f853124
包名:
com.h
入口:
MainActivity
最低运行环境:
Android2.2X
敏感权限:
发送短信
添加悬浮窗
开机启动
1.2测试环境及工具
•Android Studio
•Android Killer
•JEB
•夜神模拟器
2.行为分析
2.1 主要行为
添加悬浮窗
开机启动
访问网络,并查看网络状态
2.1.1恶意程序对用户造成的危害(图)
安装时会有提示
锁屏,如下图
2.1.2恶意程序在Androidmanifest.xml中注册的恶意组件
获取的权限
注册的组件
2.2恶意代码分析
首先进入入口类MainActivity中,在里面启动了名为“S”的服务。
进入s.class中,发现其利用WindowManager.LayoutParams的flags属性,通过addView方法实现一个悬浮窗,设置WindowManager.LayoutParams的flags属性,例如:
"FLAG_FULLSCREEN"、"FLAG_LAYOUT_IN_SCREEN"配合"SYSTEM_ALERT_WINDOW"权限,使这个悬浮窗全屏置顶且无法清除,造成手机屏幕无法正常使用。
然后获取网络状态,并返回。
再往下看,锁屏密码是 password的值,但是password获取数值时,添加了异常处理。但是异常却触发不了,密码为NULL。
public void onCreate() { LogCatBroadcaster.start(this); super.onCreate(); this.pass = ((Math.random() * 10000000)); this.passw = ((int)(Math.random() * 1000000)); this.share = getSharedPreferences("QQ1031606149", 0); this.editor = this.share.edit(); if (isNetworkConnected(getApplicationContext())) { if (this.share.getLong("m", 0) == 0) { this.editor.putLong("m", this.pass); this.editor.commit(); } try { this.editor.commit(); label126: this.ppss = (this.share.getLong("m", 8) + ""); new Thread() { public void run() {} }.start(); return; } catch (Exception localException1) { break label126; } } try { this.ppss = "831524"; } catch (Exception localException2) { for (;;) { try { this.password = "第六感是我爷爷"; return; } catch (Exception localException3) {} localException2 = localException2; } } } |
2.3加固分析
没有加固
3.解决方案(或总结)
3.1提取病毒的特征,利用杀毒软件查杀
特征码字符串:
\u7B2C\u516D\u611F\u662F\u6211\u7237\u7237
3.2 手工查杀步骤
因为没有密码,所以最好刷机解锁