揭秘花招最多的三种敲诈者木马

2016-09-29 17:52:16来源:威易网作者:

对于一个“正经”的黑产从业者来说,利益最大化是他所追求的目标,而利益最大化的实现无非需要两个方面来支撑,一是成本最小化,二是收入最大化。当然,那些制作、传播敲诈者木马的黑产从业者也深谙此道。

一、前言

对于一个“正经”的黑产从业者来说,利益最大化是他所追求的目标,而利益最大化的实现无非需要两个方面来支撑,一是成本最小化,二是收入最大化。当然,那些制作、传播敲诈者木马的黑产从业者也深谙此道。为了实现成本最小化,这些黑客们抛弃了以前繁琐的开发模式,有的开始转战拥有庞大类库的.NET平台,有的则摈弃繁杂的程序加壳和混淆,直接以“裸体”的文件加密代码示众;而实现收入最大化呢,多勒索几个比特币显得不够“绅士”,那就只能耍一些花招来增加用户被勒索的可能性了。最近,360互联网安全中心就捕获到多枚进行“花式敲诈”的敲诈者木马,其敲诈手段可谓无所不用其极,下面将具体分析三种敲诈者木马是怎么“耍花招”的。

二、加密手法分析

在对这些“花招”进行分析之前,还是需要对这三款“敲诈者”木马的加密手法进行简要叙述。这几款木马所使用的编程语言为C#和C++,用C#编写的“敲诈者”木马受益于.NET平台下强大的加密类库,因此直接使用相关加密函数即可完成加密工作。

\
图1 产生随机数密钥

\
图2 用RSA公钥加密随机数密钥

\
图3 用随机数密钥加密文件

上面三幅图是.NET平台下“Fantom”敲诈者木马的加密方法,此种加密方法和一般的敲诈者木马相似,使用RSA公钥去加密随机数密钥,然后用随机数密钥去加密文件(也有的使用AES加密算法加密文件)。其他类型的敲诈者木马使用的加密方法大同小异,只是在密钥的处理上有些不同。而对于使用c++编写的敲诈者木马而言,使用现成的公开库也是可以解决加密的问题,只是相比较.NET平台还是略显臃肿。

\
图4  c++编写的“敲诈者”木马部分加密算法

三、“花招”的具体分析

当然,刚刚那些只是“前戏”,分析这几款敲诈者木马所耍的“花招”才是正事。这些敲诈者木马耍花招的目的有的是让用户更容易上当受骗,有的是增加用户对敲诈勒索的恐惧感,还有的直接简化了支付的流程,可谓是”花样百出”。不过,“花招”的目的都是一致的-——“多捞钱”。那么,它们耍的花招到底都有哪些亮点呢?

1.“Fantom”敲诈者木马

“Fantom”敲诈者木马是基于.NET平台的敲诈者木马,其加密手法之前已经进行了介绍,那么,这款“敲诈者”木马到底耍了啥花招呢?
我们可以从代码中看出点端倪。由于程序的主要功能是以窗口事件处理的形式执行的,为了不让用户察觉到蛛丝马迹,程序把窗口的图标和任务栏图标都隐藏起来。

\
图5 隐藏图标和任务栏图标

当然这不是重点,重点在程序资源段中一个名为“WindowsUpdate.exe”的程序。程序通过extractResource方法将该程序复制到临时文件夹下执行。

\
图6 从资源段获取程序并执行

从程序名可以看出,这应该是个和Windows更新有关的程序,果然,反编译代码证实了这一点,这是个伪造的windows更新界面!

该程序窗口布局是仿造windows更新界面绘制而成的,并且覆盖整个屏幕。为了达到动态效果,程序以窗口事件处理程序的形式增加了一个定时器,以100秒为间隔修改更新进度。因此进度达到百分之百需要大约要两个半小时,这时间足够完成加密工作。

\
图7 程序以100秒为间隔修改更新进度

借助C#强大的窗体绘制能力,程序绘制出了一个“以假乱真”的Windows更新界面。

\
图8 伪造的Windows更新界面

当然,仅仅依靠这样一个覆盖全屏的窗口界面还是不能令作者满意的,因此作者为这个伪造界面添加了许多“左膀右臂”,比如禁止打开任务管理器。

\
图9 禁止打开任务管理器

当受害者的计算机屏幕上覆盖着这样一个伪造的Windows更新界面时,由于无法打开任务管理器,受害者也就无法关闭产生该界面的程序。实际上更多的情况是,受害者根本不知道这是一个伪装的Windows更新程序,而会把所见的当作真正的Windows更新界面。

等到加密工作完成之后,加密程序就结束掉产生伪造Windows更新界面的程序。

\
图10 结束掉伪造Windows更新进程

当受害者以为自己计算机系统已经更新完毕时,也正是悲剧来临之时。计算机中大部分文件将被加上“fantom”后缀名,而显示在用户面前的是一封显眼的勒索信。原本以为系统更新成功,结果才发现一切都是个骗局。

\
图11 勒索信内容

\
图12 被加密的文件

作者在每个文件夹下都留有一个html网页,上面介绍如何支付赎金恢复文件。

\
图13 介绍支付流程的html网页

\
图14 网页内容

是不是到此程序就结束它的“勒索“之行坐等收赎金了呢?并不是这样的,为了防止用户通过卷影备份恢复数据,程序调用“Vssadmin delete shadows”命令删除计算机中的卷影,可谓“赶尽杀绝”。

\
图15 删除卷影防止通过备份恢复数据

可以看出,“Fantom”敲诈者木马充分利用了C#语言绘制窗体的方便性,绘制了一个栩栩如生的伪造Windows更新界面,这以假乱真的功夫简直6翻了。

\

2.“Voldemont”敲诈者木马

不同于 “Fantom”敲诈者木马所走的专业山寨路线,“Voldemont”可谓另辟蹊径,没有勒索信,也不让你看到那一大堆被加密的文件,在你面前只有这么一张图。

\
图16 “Voldement”敲诈者展示的界面

一个伏地魔的照片突然就出现在面前,着实有些吓人。不过还有一个更吓人的,就是这款敲诈者木马不勒索比特币,而是直接要你把信用卡发给他,这明摆着就是抢劫嘛!

可能有些用户在此时会选择通过任务管理器关闭相关程序或者重启计算机,不过悲剧的是,程序已经结束掉explore进程和任务管理器进程并且写入启动项,下回开机时还要被吓一次,无计可施的用户不得不输入信用卡信息来寻求解密。

\
图17 程序结束explore和taskmgr进程

\
图18 程序写注册表启动项

当受害用户填写信用卡信息并点击“Get Key!”时,程序就会将信用卡信息发送至远程服务端。

\
图19 发送信用卡信息到远程服务端

远程端会核实信息是否正确,正确的话将会发送一个key到本地客户端。

\
图20 判断信用卡信息是否正确以选择要执行的代码

按说接收到的key应该是用于解密文件的,然而事实并非如此,程序并不是使用这个key对文件进行解密,只是用它来判断是不是可以进行解密了,而且判断条件也仅仅是个简单的运算。

\
图21 解密的判断

可以看出,解密算法并不需要key的参与,也就是说加密算法即解密算法,从算法的代码中也可以很清楚的看出,这是个加解密通用的算法。看来“伏地魔”的功力也不过如此,除了会吓人,也没啥亮点了。

\

\
图22 部分加/解密代码

相比较“Fantom”木马缜密的加密流程以及无可匹敌的山寨功力,“Voldemont”也就仅仅起到了吓人的作用,并没有一般“敲诈者”木马不可逆的加密手段,只要弄清“Voldemont”的加密手法就能让它功力尽失。

3.“QrCode”敲诈者木马

之所以叫它“QrCode”,因为这是个关于二维码的故事。“QrCode”敲诈者也是基于.NET平台,它在函数命名以及加密方式方面和“Fantom”有较多相似之处,不排除是同一团伙所为。而且相比较“Fantom”敲诈者,“QrCode”在加密流程上更为缜密,而且将加解密钥的存储全部转移到了远程服务端,可以说更加隐蔽。

\
图23 “QrCode”加解密流程

从上图可以看出,本地程序和服务端进行交互,向服务端发送本地相关信息,而服务端通过判断这些信息来决定是进行加密还是解密,而加密和解密使用的密钥也是由服务端提供的,分别是FIRST字段下的值和RECEIVED字段下的值。

除外,为了防止杀软检测程序对一些敏感信息的获取,该款“敲诈者”并没有获取诸如计算机名等较为敏感的信息,而是获取一些可以代表机器但不是那么敏感的信息,比如ProductName,CDVersion,作者也“亲切”地称他们“FriendlyName”。

\
图24 获取“FrienflyName”

这些信息上传到服务端后将作为标识受害计算机所用的信息,作者通过多次从本地获取这些信息来和服务端做对比来确定受害者是否支付赎金亦或者这是台初次感染的机器。

那么,受害者该怎么交付赎金呢?在代码中可以发现一个名为.CreateQrCode的函数,难道要通过扫二维码支付赎金?

\
图25 创建二维码函数

果不其然,屏幕出现了一个大大的二维码,不过扫描该二维码只是获得比特币钱包地址和支付金额。

\
图26 感染“QrCode”敲诈者后的界面

由于二维码的生成使用了谷歌的接口,因此有些国内用户感染该木马后并不会产生二维码,不过屏幕依然会出现对方的比特币钱包地址。该“敲诈者”会向受害者勒索1.5个比特币,而且要求受害者在十分钟内完成支付。

这时候受害者应该也会选择启动任务管理器结束相关进程或者重启,不过同样悲剧的是,程序禁止打开任务管理器并且设置了启动项。

\
图27 设置开机启动项

\
图28 禁止使用任务管理器

“QrCode”敲诈者木马禁止任务管理器的函数和“Fantom”木马完全相同,除此之外获取计算机所在国家语言的函数也和“Fantom”敲诈者完全相同,因此可以基本确定两者来自同一团伙。

不过“QrCode”敲诈者木马最大的亮点还是来自于那个大大的二维码,虽然这个二维码并不带“扫一扫即可支付”的功能,只是用于提供比特币钱包地址和支付金额,但从这种接地气的设计来看,敲诈者木马离“扫一扫即可支付”不远了。

四、总结

从分析中可以看出,这几款“敲诈者”威力虽然参差不齐,但由于使用了各种各样的“花招”来迷惑和恐吓用户,并且简化了支付流程,因此它们的能力还是不容小觑。在敲诈者木马多样化的今天,用户在下载运行未知程序时保持警惕状态,对于具有迷惑性的程序更应该“慎点”。面对敲诈者木马多样化的趋势,360安全卫士已经开通了“反勒索服务”,并向用户公开承诺:使用360安全卫士11.0版本并开启该服务后,一旦感染敲诈者病毒,360将提供最高3个比特币(约13000元人民币)的赎金并帮助用户回复数据,让用户远离财物及文档的损失。
 

关键词:木马