社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 4361阅读
  • 3回复

[分享]Android锁机病毒分析

楼层直达
z3960 
级别: 茶馆馆主
发帖
770593
飞翔币
207694
威望
215657
飞扬币
2511651
信誉值
8



免流服务器



一、基本分析,并提取病毒样本





1.模拟真实场景,在模拟器中运行样本


  安装并运行免流服务器APK,启动后点击安装核心文件,提示申请ROOT权限,所以程序内部执行了su命令代码。  通过代码提权,隐藏性较高,存在隐藏性危险。[font=-apple-system, BlinkMacSystemFont, &quot]  核心安装完成后根据提示重启[font=-apple-system, BlinkMacSystemFont, &quot]


2.待病毒执行之后,观察可疑情况


  当重启之后,会发现 android 系统被锁,而且会发送大量的短信[font=-apple-system, BlinkMacSystemFont, &quot]  输入任意密码,尝试直接解锁,无法解锁,需要进一步分析[font=-apple-system, BlinkMacSystemFont, &quot]

3.提取样本  使用 adb shell 命令进入 android 系统的 shell  使用 ps 命令查看进程,观察是否存在可疑进程[font=-apple-system, BlinkMacSystemFont, &quot]  进程可能会存在伪装,影响观察,所以直接前往Android安装apk的位置查看[font=-apple-system, BlinkMacSystemFont, &quot]  在 Android 中安装 apk 的位置有 3 个:[font=-apple-system, BlinkMacSystemFont, &quot]  1. /system/app(系统预装 app 所在目录,默认不可写,但是如果有 root 权限,则可以修改为可写)[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  2. /data/app(用户安装 app 所在的目录,存储完整的 apk 文件)[font=-apple-system, BlinkMacSystemFont, &quot]  zs.ip.proxy-1.apk是之前安装的免流服务器APK[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  3. /data/data/包名 (用户安装 app 生成的与包名一致的文件夹,存储 app 的相关配置数据等信息 )[font=-apple-system, BlinkMacSystemFont, &quot]  使用 adb pull 命令将路径下apk文件下载到本地[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]


4.样本概况


文件: zs.ip.proxy-1.apk大小: 799835 bytes修改时间: 2016年3月16日, 23:26:10MD5: 2EFCA46F34A565C2EF4052B89B6B364BSHA1: 5493A958A592BB0B19C43ACB2C1F52C898885207CRC32: 7F89A927
文件: stk3.apk大小: 240372 bytes修改时间: 2022年4月21日, 16:52:44MD5: 44DBCF4F3410CF4CDCD9463B76AF0A91SHA1: 1A2F265932EC81224AD4B922764E38413DADC8E1CRC32: 7B31436E

二、行为分析,获取病毒行为


  在公开平台上搜索看是否有已经分析的报告

zs.ip.proxy-1.apk


[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  打开zs.ip.proxy-1.apk即免流服务器APK查看概况信息[font=-apple-system, BlinkMacSystemFont, &quot]


stk3.apk


[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  打开stk3.apk查看概况信息[font=-apple-system, BlinkMacSystemFont, &quot]


三、详细分析病毒代码,获取行为的恶意代码



zs.ip.proxy-1.apk


  分析入口类的 onCreate 函数,其功能为从apk中assets目录中拷贝APK到SD卡中[font=-apple-system, BlinkMacSystemFont, &quot]  查看layout布局文件[font=-apple-system, BlinkMacSystemFont, &quot]  az是安装核心的函数[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  az调用copyAppToSystem函数[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  1.拷贝APP到系统目录:copyAppToSystem("/storage/sdcard0/stk3.apk");[font=-apple-system, BlinkMacSystemFont, &quot]  2.获取ROOT权限,执行su命令:getRoot();[font=-apple-system, BlinkMacSystemFont, &quot]Runtime.getRuntime().exec("su");[font=-apple-system, BlinkMacSystemFont, &quot]  3.修改系统目录:mount -o remount, rw /system/[font=-apple-system, BlinkMacSystemFont, &quot]  4.拷贝文件到系统目录:cp /storage/sdcard0/stk3.apk /system/app/[font=-apple-system, BlinkMacSystemFont, &quot]  5.修改文件权限为可读可写可执行:chmod 0777 /system/app/stk3.apk[font=-apple-system, BlinkMacSystemFont, &quot]  6.退出命令行:exit[font=-apple-system, BlinkMacSystemFont, &quot]  主要功能:拷贝自己资源中的 apk 到系统并修改权限


stk3.apk


  分析入口类的 onCreate 函数,功能为启动com.android.stk3.llxfc服务[font=-apple-system, BlinkMacSystemFont, &quot]  查看服务代码,分析 onCreate 函数,只有发送恶意短信代码[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  分析onStartComand函数,观察到其中中有对按钮的监听器的设置[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  ①由于输入密码后需要点击解锁按钮,自然存在获取数据的函数,故搜索getText函数,同样定位到onClick函数处。[font=-apple-system, BlinkMacSystemFont, &quot]  ②解锁按钮必然要获取输入的内容进行比较,而比较就需要用到equals函数比较字符串,同样能定位到onClick函数处。[font=-apple-system, BlinkMacSystemFont, &quot]  根据响应代码,this.this$0.bjk0.getText().toString().equals("T") && this.this$0.bjk1.getText().toString().equals("F") && this.this$0.bjk2.getText().toString().equals("B") && this.this$0.bjk3.getText().toString().equals("4")[font=-apple-system, BlinkMacSystemFont, &quot]  可知密码为TFB4[font=-apple-system, BlinkMacSystemFont, &quot]  输入密码TFB4,完成解锁[font=-apple-system, BlinkMacSystemFont, &quot]


四、提取病毒特征,完成查杀



1.病毒特征


  MD5: 2EFCA46F34A565C2EF4052B89B6B364B  MD5: 44DBCF4F3410CF4CDCD9463B76AF0A91

2.手工查杀步骤


  ①根据代码解出密码,密码:TFB4,输入密码解锁,但这样不能清除病毒,每次开机都需要输入。  ②卸载免流服务器.apk,删除安装包  ③清理病毒文件    /system/app目录:存放着stk3.apk文件,提示只读,需要修改 system 目录属性:mount -o remount, rw /system/,删除该文件;    /data/app目录:存放着用户安装 app ,删除该文件;    /data/data/zs.ip.proxy目录 和 /data/data/com.android.stk3目录:存放着两个文件的相关配置数据等信息,删除这两个文件;    /strorage/sdcard0目录:存放着stk3.apk文件,删除该文件。

王者荣耀刷皮肤



一、基本分析,并提取病毒样本





1.模拟真实场景,在模拟器中运行样本


  三大巨头:王者荣耀刷皮肤、穿越火线刷枪、刺激战场透视自瞄[font=-apple-system, BlinkMacSystemFont, &quot]  这也。。。太明显的过分了。。。[font=-apple-system, BlinkMacSystemFont, &quot]  诱导安装激活的唯一方法应该就是设计一个充满诱惑力的名字了[font=-apple-system, BlinkMacSystemFont, &quot]


2.待病毒执行之后,观察可疑情况


  成功被锁,根据激活提示已知这里是被更改了屏幕解锁密码并锁定屏幕了,大致没有其他行为


3.提取样本


  使用 adb shell 命令进入 android 系统的 shell  使用 ps 命令查看进程,观察是否存在可疑进程  进程可能会存在伪装,影响观察,所以直接前往Android安装apk的位置查看  在 Android 中安装 apk 的位置有 3 个:  1. /system/app(系统预装 app 所在目录,默认不可写,但是如果有 root 权限,则可以修改为可写)  2. /data/app(用户安装 app 所在的目录,存储完整的 apk 文件)只发现了这个APK,com.android.getbest-1.apk[font=-apple-system, BlinkMacSystemFont, &quot]  3. /data/data/包名 (用户安装 app 生成的与包名一致的文件夹,存储 app 的相关配置数据等信息 )[font=-apple-system, BlinkMacSystemFont, &quot]  直接分析安装的apk就行了


4.样本概况


文件: 王者荣耀刷皮肤.apk大小: 261080 bytes修改时间: 2016年3月19日, 22:57:58MD5: CB9E3C9C5CDED91F96AA9662BA150DB8SHA1: 3852A0324A1B57B23DE15A6D5298E61BF4C087E2CRC32: D4DA0CB5

二、行为分析,获取病毒行为


  在公开平台上搜索看是否有已经分析的报告[font=-apple-system, BlinkMacSystemFont, &quot]  打开王者荣耀刷皮肤.apk查看概况信息[font=-apple-system, BlinkMacSystemFont, &quot]


三、详细分析病毒代码,获取行为的恶意代码


  分析入口类的 onCreate 函数,jiemi函数瞩目,优先看一下[font=-apple-system, BlinkMacSystemFont, &quot]  查看jiemi函数,可知该程序采用了AES进行字符串加密[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  checkAdmin函数,功能:检查设备管理器是否激活[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  查看layout布局文件[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  分析jihuo函数[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  查看getAdmin函数[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  跟踪分析com.android.getbest.MyAdmin类,找到关键函数LockNow和resetPassword,得到密码6699[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  输入密码6699,完成解锁[font=-apple-system, BlinkMacSystemFont, &quot]


四、提取病毒特征,完成查杀



1.病毒特征


  MD5: CB9E3C9C5CDED91F96AA9662BA150DB8

2.手工查杀步骤


  ①根据代码解出密码,密码:6699,输入密码解锁,但这样不能清除病毒,每次开机都需要输入。  ②卸载免流服务器.apk,删除安装包  无法直接卸载程序[font=-apple-system, BlinkMacSystemFont, &quot]  需要取消激活设备管理器[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  ③关闭锁屏密码或更改为自己的密码(设置->安全->屏幕安全保护->屏幕锁定->输入PIN:6699)[font=-apple-system, BlinkMacSystemFont, &quot]  或删除系统文件中密码文件:/data/system/password.key[font=-apple-system, BlinkMacSystemFont, &quot]


秒抢红包



一、基本分析,并提取病毒样本





1.模拟真实场景,在模拟器中运行样本


  激活设备管理器,观察执行操作的行为,便于后续解锁


2.待病毒执行之后,观察可疑情况


  成功被锁,观察锁屏上的信息,提供了一个随机码,是解锁序列号69426768;序列号解锁20元,无序列号解100元,看来这个序列号小值80元。。。


3.提取样本


  使用 adb shell 命令进入 android 系统的 shell  使用 ps 命令查看进程,观察是否存在可疑进程  进程可能会存在伪装,影响观察,所以直接前往Android安装apk的位置查看  在 Android 中安装 apk 的位置有 3 个:  1. /system/app(系统预装 app 所在目录,默认不可写,但是如果有 root 权限,则可以修改为可写)  2. /data/app(用户安装 app 所在的目录,存储完整的 apk 文件)只发现了这个APK,com.h-1.apk[font=-apple-system, BlinkMacSystemFont, &quot]  3. /data/data/包名 (用户安装 app 生成的与包名一致的文件夹,存储 app 的相关配置数据等信息 )[font=-apple-system, BlinkMacSystemFont, &quot]  直接分析安装的apk就行了


4.样本概况


文件: 秒抢红包.apk大小: 251271 bytes修改时间: 2016年4月15日, 23:37:26MD5: 033AE1BA78676130E99ACC8D9F853124SHA1: B43F731C59FF37602CB9F971F893965EF19C9DEECRC32: AAC480FC

二、行为分析,获取病毒行为


  在公开平台上搜索看是否有已经分析的报告[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  打开秒抢红包.apk查看概况信息[font=-apple-system, BlinkMacSystemFont, &quot]


三、详细分析病毒代码,获取行为的恶意代码


  分析入口类的 onCreate 函数,调用了activiteDevice函数,并启动com.h.MyAdmin[font=-apple-system, BlinkMacSystemFont, &quot]  进入com.h.MyAdmin类,在onEnabled中发现了resetPassword函数以及重设的密码8985[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  尝试密码8985,并没有解锁,看来不止这一层锁;说明就算给作者打钱得到这里的密码也不一定能完全解锁。[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  继续分析,这里启动了com.h.s服务[font=-apple-system, BlinkMacSystemFont, &quot]


代码分析


  分析com.h.s,获取了Flowers.xml文件,写入了pass以及passw[font=-apple-system, BlinkMacSystemFont, &quot]  查看Flowers.xml文件,可知m就是pass,值为69426768,passw加密了,但我们已经在代码部分得知passw=pass+8985,值为69435753。[font=-apple-system, BlinkMacSystemFont, &quot]


编写解码代码


  由于需要解锁,而且有按钮、输入框,那么就需要使用到getText和equals函数,直接搜索这两个函数,定位到解锁位置。[font=-apple-system, BlinkMacSystemFont, &quot]  编写解密代码,获取到解密密码为69435753[font=-apple-system, BlinkMacSystemFont, &quot]


Smali 注入


  在 DU 类中的 decrypt 函数返回之前插入 log[font=-apple-system, BlinkMacSystemFont, &quot]  当调用时会输出 log,输出密码[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  输入解密密码,解开了悬浮窗锁界面[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  还有锁,这是安卓自己的PIN屏幕锁,我们之前已经通过resetPassword函数定位到了重设的密码8985[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  尝试解锁,成功解开屏幕锁[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  自此解锁完成,秒抢红包这个程序包含两层锁,密码分别为69435753和8985,但第一层锁解锁密码需要根据生成的随机数判断,密码样式为:随机数+8985。


四、提取病毒特征,完成查杀



1.病毒特征


  MD5: 033AE1BA78676130E99ACC8D9F853124

2.手工查杀步骤


  ①根据代码解出密码,密码:69435753和8985,输入密码解锁,但这样不能清除病毒,每次开机都需要输入。  ②卸载秒抢红包.apk,删除安装包  无法直接卸载程序[font=-apple-system, BlinkMacSystemFont, &quot]  需要取消激活设备管理器[font=-apple-system, BlinkMacSystemFont, &quot][font=-apple-system, BlinkMacSystemFont, &quot]  ③关闭锁屏密码或更改为自己的密码(设置->安全->屏幕安全保护->屏幕锁定->输入PIN:8985)[font=-apple-system, BlinkMacSystemFont, &quot]  或删除系统文件中密码文件:/data/system/password.key
本帖最近评分记录: 1 条评分 飞扬币 +50
爱我中华 飞扬币 +50 2022-05-03 社区因为有您的参与更精彩!
我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。
级别: 茶馆馆主
发帖
561855
飞翔币
199259
威望
3696
飞扬币
2858933
信誉值
0

只看该作者 1 发表于: 2022-05-03
安全第一
级别: 超级版主
发帖
836265
飞翔币
228732
威望
224673
飞扬币
2460722
信誉值
0

只看该作者 2 发表于: 2022-05-03
来看一下
级别: 超级版主
发帖
836265
飞翔币
228732
威望
224673
飞扬币
2460722
信誉值
0

只看该作者 3 发表于: 2022-05-03
不错,了解了