国内 Android 手机典型勒索软件详情分析(附解锁方法)

简介:

事件说明

2017年2月13-17日,RSA Conference 2017 信息安全大会在美国旧金山Moscone中心隆重举行。大会第一天就是一系列关于Ransomware(勒索软件)的议题,而在刚刚过去的2016年,“MongDB数据库网络勒索事件”,“ElasticSearch数据库网络勒索 事件”,网络勒索问题已成为互联网安全的重点关注问题之一。


此前,某安全研究人员在知乎专栏爆料,某黑产团伙利用嵌入恶意代码的刷钻应用进行QQ盗号和恶意锁屏,感染用户高达八千人。近日,盘古实验室发现同一团伙传播的升级版恶意应用,企图锁屏用户移动设备,进行敲诈勒索。


一、背景概述

在某社区平台,有安卓用户称在QQ群中下载了“爱扣字”这款应用,导致手机被恶意锁住,无法正常使用。

通过感染用户提供的锁屏图片中的QQ群号码,我们找到了管理员的QQ号。管理员的QQ签名明确标注了解锁的价格。

管理员签名:“想要解锁自己的手机,需要联系加QQ群189894077,联系管理员,QQ红包35元,微信支付宝40元。”

二、恶意锁屏触发流程

盘古实验室在获取到恶意样本后,在安卓模拟器上进行了测试,还原其锁屏触发流程及技术原理。下图为恶意锁屏的触发流程图。

在安装“爱扣字”应用后,打开应用程序,弹出“扣字神器”的安装界面,提示安装“扣字神器”应用。



安装并打开“扣字神器”。“萌宠大揭秘”中的GIDGET,看起来萌萌的。在点击“点击开始免费激活”按钮后,跳转到下图第二个界面。弹窗“激活完全免费”,点击“激活”。



同时第三个界面弹窗询问是否激活设备管理器,激活后,跳转到上图第四个界面。前面的几个界面看起来都相对可靠,这个界面看着些许不适,风格诡异。

点击“点击开始root”后,设备黑屏并重启。重启后,设备已经被恶意应用锁屏。



在整个锁屏触发的过程中,真正具有恶意锁屏行为的应用是“爱扣字”推送安装的程序“扣字神器”。


三、样本技术原理

(1)锁屏原理

锁屏类勒索软件通常利用WindowManager.LayoutParams的flags属性,设置成某个固定的值,使悬浮窗口悬浮置顶。本文中的恶意应用也利用了同样的方法。



国内的大多数勒索类软件也大多是利用同样的手段。

除了锁屏,对于按键操作,程序也进行了监控。



当按键为4或82时,执行com.bugzapk.z的代码。4代表的是返回键,82代表的是菜单键。代码中并未出现监控音量键、关机键等特征代码。

com.bugzapk.z中的代码主要作用是将bug.apk放在system目录中,作为系统应用开机启动,达到长期恶意锁屏的目的。



而bug.apk正是重命名的“扣字神器”这款应用。


(2)密码加密算法

应用程序中解锁密码并没有明文存储,而是利用了AES加密和压缩算法,将密码进行加密后存储。



压缩算法:


解密前原数据:


解密后明文:


(3)其他恶意行为

在恶意应用运行的过程中,会主动请求网页"http://www.wencaojun.top/xnsmtp.html",而网页中的内容是邮箱和一串类似密码的字符串。



历史恶意样本是发送序列号加密后的字符串到指定邮箱,而这个恶意应用虽然保留了部分历史代码,在此基础上添加了代码,但是在测试的过程中并未出现发送邮箱的行为。

在代码中也出现了一些可疑邮箱。



四、解锁流程

在整个解锁的流程中,并不如“解锁管理员”签名中所述,解锁只需35元或者40元就可以解除屏幕锁定。经过测试我们发现,想要解锁设备至少要有三个密码才能解锁。而这些密码,与解锁界面中生成的序列号毫无关系,其中有两个密码保存在远程服务器上,管理员可以随意修改。



(a)第一个解锁界面

在恶意软件安装后,程序会自动发送HTTP请求到指定的服务器。若HTTP请求成功,则设置第一个解锁界面的解锁密码为网页"http://www.wencaojun.top/sj.html"中声明七中的数字;若HTTP请求失败,则设置第一个解锁界面的解锁密码为4312。



(b)第二个解锁界面

第二个解锁界面中有三个密码可以使用,分别是4951,997998和2415。这几个密码加密存储在恶意应用的代码中,并不是明文可见。



这里的逻辑处理很有趣。密码输入4951会返回到第一个解锁界面;密码输入2415,成功解锁,跳转到第三个解锁界面;密码输入997998,则会提示机型不支持,需提供机型给管理员解锁。

这里的机型是程序通过获取设备信息获取到的,是真实信息,但是机型不支持只是一个套路罢了。

在输入997998跳转到如上图所示界面后,输入密码2415跳转到第三个解锁界面。


(c)第三个解锁界面

第三个解锁界面实际上修改了系统的pin值,设置了新的pin值。



第三个解锁界面的解锁密码与在安装程序时是否激活设备管理器有关。

程序安装时会询问是否激活设备管理器。若激活设备管理器,则程序从远程服务器端获取密码,密码来源于"http://www.wencaojun.top/pin.html"。若未激活设备管理器,则密码为程序加密存储的数字3957。

至此,整个程序才算解锁完毕。当然,这仅是解锁完毕。如果解锁后没有立即删除该恶意应用,重新启动手机后该应用仍会继续自动启动并锁屏。


五、恶意锁屏产业链

恶意样本代码中包含若干手机号码、QQ号、QQ群等信息,根据以上信息及感染用户提供的信息摸索,其产业链也越发清晰。



该团伙利用受害者贪小便宜的心理,多次在安卓逆向破解群、安卓反编译群、扣字群、QQ刷赞群等多个群中埋伏,在群文件中共享包含恶意代码的锁屏应用,并伪造成免费应用的样子,伺机传播。

在用户下载安装后,通过指定QQ群进行联系。QQ群一般伪装成普通的游戏交流群或日常沟通群。



通常情况下,群主不参与整个勒索的流程,会提示受害者联系管理员进行解锁。管理员则会对受害者多次索取解锁费,达到勒索钱财的目的。

勒索团伙具备高度的反侦查意识。在获取样本后的短短几天内多次更换群主和管理员,解散QQ群,建立新的牟利链。



QQ账号注册成本低,一个手机号码可注册多个QQ号。即使QQ号被举报,被腾讯公司收回,也可以使用相同的手机号继续注册,并且经常更换QQ号码也会在一定程度上避免其账号在社交平台大肆流传,影响牟利。

而之前在其他社交平台被披露的QQ群,大多数已解散。现在仍旧被用来维持业务的QQ群基本上都是16年之后建立的。

与其他敲诈勒索团伙不同的是,这个团伙在百度贴吧中专门建了一个贴吧进行自己的解锁宣传。虽然贴吧排名不高,帖子数量少的可怜,但是仍然可以通过其中几个解锁管理员的QQ搜索到。



正如恶意样本技术分析中描述的一样,用户设备受到感染至少执行3个步骤,至少可牟利100元。而这样低成本的恶意锁屏软件,每天感染3个用户,月收入就过万了,日积月累,涉案金额并不是一个小数目。


六、安全建议

恶意锁屏敲诈勒索的事件中,所安装的应用均来自QQ群,论坛等非正规渠道,而这些渠道并不具备大型应用市场相对严格的审核制度。

对于已经感染该恶意样本的用户,可通过本文中的解锁流程进行解锁操作,解锁后立即删除该应用,避免掉入循环付费解锁的黑洞。

针对安卓用户,应尽量避免安装来历不明的应用,对于应用获取root权限等敏感行为的操作也应该保持警惕,避免遭受损失。


相关文章
|
1月前
|
搜索推荐 Android开发 iOS开发
安卓与iOS系统的用户界面设计对比分析
本文通过对安卓和iOS两大操作系统的用户界面设计进行对比分析,探讨它们在设计理念、交互方式、视觉风格等方面的差异及各自特点,旨在帮助读者更好地理解和评估不同系统的用户体验。
21 1
|
2月前
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
|
2月前
|
Android开发 数据安全/隐私保护 iOS开发
安卓与iOS系统的发展趋势与比较分析
【2月更文挑战第6天】 在移动互联网时代,安卓和iOS系统作为两大主流移动操作系统,各自呈现出不同的发展趋势。本文将从技术角度出发,对安卓和iOS系统的发展方向、特点及未来趋势进行比较分析,以期为读者提供更深入的了解和思考。
36 4
|
3月前
|
存储 监控 iOS开发
iOS应用崩溃了,如何通过崩溃手机连接电脑查找日志方法
在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了极大的便利,本文将详细介绍其功能和使用方法。 克魔助手会提供两种日志,一种是实时的,一种的是崩溃的。(由于崩溃日志的环境很麻烦,目前只展示实时日志操作步骤)
|
3月前
|
监控 Android开发 C语言
深度解读Android崩溃日志案例分析2:tombstone日志
深度解读Android崩溃日志案例分析2:tombstone日志
86 0
|
3月前
|
数据安全/隐私保护 Android开发
2023安卓逆向 -- 某合伙apk登录加密分析
2023安卓逆向 -- 某合伙apk登录加密分析
26 0
|
1月前
|
前端开发 JavaScript 关系型数据库
手机商城网站的分析与设计(论文+源码)_kaic
手机商城网站的分析与设计(论文+源码)_kaic
|
3天前
|
存储 Java Android开发
Android系统 设置第三方应用为默认Launcher实现和原理分析
Android系统 设置第三方应用为默认Launcher实现和原理分析
17 0
|
3天前
|
存储 Java Linux
Android系统获取event事件回调等几种实现和原理分析
Android系统获取event事件回调等几种实现和原理分析
24 0
|
2月前
|
网络协议 算法 Android开发
安卓逆向 -- 实战某峰窝APP(动态分析)
安卓逆向 -- 实战某峰窝APP(动态分析)
31 4