导语:今年2月初,比利时警方与卡巴斯基实验室的密切合作,发布了针对Cryakl勒索软件(也称为Fantomas)的免费解密密匙。这次的密切合作其实是No More Ransom项目的一部分,No More Ransom项目致力于为勒索软件的受害者提供帮助。
今年2月初,比利时警方与卡巴斯基实验室的密切合作,发布了针对Cryakl勒索软件(也称为Fantomas)的免费解密密匙。这次的密切合作其实是No More Ransom项目的一部分,No More Ransom项目致力于为勒索软件的受害者提供帮助。
近几年,勒索软件的风头已经盖过了大多数其它网络威胁,其攻击行动影响着全球各个行业和领域,包括公共和私营企业以及部门,还有消费者。打击勒索软件最有效的手段之一是对其进行预防。这也是为什么No More Ransom项目启动的原因。自从2016年6月启动以来, No More Ransom项目网站已经添加了32种语言版本。
对于卡巴斯基实验室来说,这次胜利是对Cryakl进行四年多监控的结果,这个事情清楚的说明了只有合作才能让全球的网络安全情况得到好转。目前,荷兰警方也是No More Ransom项目的一员。
今年是发现Cryakl的四周年,也是No More Ransom项目开启的两周年,借此机会研究人员决定详细讲述Cryakl的迭代历史。
传播方法
研究人员在2014年春天首次发现了Cryakl,当时该恶意软件刚刚开始传播,主要是通过垃圾邮件。一开始,从这类电子邮件表面看,似乎是来自俄罗斯联邦最高仲裁法院的仲裁结果的邮件,这类邮件的标题很耸人听闻,甚至连警惕心很强的人也很可能会点击其中的恶意附件。随着时间推移,电子邮件越来越多样化,有的邮件看起来像是当地房主联合会等组织发来的。Cryakl会创建一个长密钥,并将其发送到命令控制(C&C)服务器。没有此密钥,想要恢复被该恶意软件锁定的文件几乎是不可能的。
典型的恶意电子邮件包含以下类型的附件:
1.带有恶意宏的Office文档;
2.加载木马的JS脚本;
3.带有可执行文件链接的PDF文档;
大约在这个时候,该恶意软件获得了一个Fantomas的绰号,因为加密用户硬盘上的文件后,其中一个Cryakl变种(Trojan-Ransom.Win32.Cryakl.bo)将桌面壁纸改为Fantomas的图片,Fantomas(方托马斯)是1964年一部法国电影中的反派角色。由于Cryakl主要针对的是俄罗斯用户,因此相关信息大部分用俄语提供。
后来,在2016年,研究人员发现了Cryakl出现了一种有趣的修改方式,并采用了相当狡猾的传播模式。今天,使用专门的第三方软件进行的攻击不会引起多少人的注意,但在2016年,当Fantomas伪装成一个流行的俄罗斯会计程序和业务流程管理工具的脚本传播时,它却非常引人注意。这种做法在当时确实非常狡猾,当时的用户还没有这方面的安全意思,他们在收到 “更新银行程序”的恶意连接时,会不加思索的进行所谓的更新,从而将自己处于危险环境。
起初Cryakl主要针对俄罗斯的用户,大部分赎金要求都是用俄语写的。然而,进一步的研究表明,Cryakl并不局限于俄罗斯市场。
在2016年,研究人员观察到越来越复杂和多样化的勒索软件加密方案,包括为那些缺乏技能、资源或时间的人提供现成的解决方案来创建自己的勒索软件,这就是勒索软件即服务(RaaS)模式的出现。这些服务是通过不断扩大的,并越来越有影响力的黑市生态系统来循环的。
这也是Cryakl创建者最终定型的商业模式:“合作伙伴”被邀请购买恶意软件,并以此构建来攻击其他地区的用户,允许其“合作伙伴”第二次通过该产品获利。
统计数据
在扩大基础设施的同时,Cryakl也扩大了攻击范围。从发起第一次到今天,在俄罗斯有超过5万人,在日本、意大利和德国也有数千人受到了Cryakl的攻击。
受Cryakl攻击的用户的地理分布
多年来关于Cryakl活动的数据显示,它最初出现在2014年。
2014-2018年间,检测到被Cryakl加密的用户数量
在RaaS商业模式被确立后,Cryakl的攻击次数比原来增加了六倍多。
各种迭代版本的出现
由于各种“合作伙伴”出于他们各自的目的,在使用的过程中出现了各种迭代版本的Cryakl,不过经过分析,各种迭代版本的恶意软件的核心功能都差不多,版本之间的差异很小,这也使得识别Cryakl的攻击变得相对容易。
Cryakl是用Delphi编写的,且编写技术非常业余。当研究人员看第一个版本时,它立即跳出来了。文件操作极其无效,加密算法很低级且不安全,以至于研究人员认为这只是一个测试版本(因为内部版本被指定为0.0.0.0)。所以,总体印象是Cryakl的作者并不是很有经验的木马编写者。回想一下,这一切都始于关于军事征兵的邮件。
第一个检测到的恶意软件版本没有更改加密文件的名称,但在每个文件的末尾放置了一个文本结构,其中包含每个文件标题的MD5,文件本身的MD5,原始大小,偏移量以及一些加密片段的大小。它以标签{CRYPTENDBLACKDC}结束,该标签用于区分加密文件和未加密文件。
通过接下来几个月的持续观察,研究人员会定期发现Cryakl的更新版本:从1.0.0.0,2.x.0.0,3.x.0,…,到现在的8.0.0.0。随着版本的变化,Cryakl也逐渐地修改了加密算法以及文件命名方案,比如id-{….08.2014 [email protected]@275587800}[email protected]之类的扩展开始出现。文件末尾的文本结构也多次更改,并添加了新的加密和解密数据以及各种服务信息。
之后,研究人员发现Cryakl的CL 0.0.0.0版本(不要与0.0.0.0混淆),它与以前的版本相比有着显着的变化:除了使用“homebrew”对称算法对文件部分进行加密外,由于未知原因,Cryakl现在还使用RSA算法对其他部分进行了加密。另一个显着的变化是是向攻击者的C&C服务器发送加密的关键数据。加密文件末尾的结构被添加了新的标签({ENCRYPTSTART}, {ENCRYPTENDED},用于确定加密的文件。
Cryakl CL 0.0.1.0的修改部分
在版本CL 1.0.0.0中,Cryakl停止通过互联网发送密钥。相反,解密所需的数据现在用RSA加密,并放在文件末尾的结构中。
在随后的版本CL 1.1.0.0 – CL 1.2.0.0中,这一特点没有发生任何改变,只有RSA密钥的大小增加了。虽然这提高了整体加密水平,但没有从根本上改变它业余的特点。
Cryakl CL 1.2.0.0的修改部分
从版本CL 1.3.0.0开始,Cryakl再次出于未知原因停止使用RSA加密文件。RSA算法仅用于加密密钥,而文件内容则由略微修改过的 “homebrew” 对称算法处理。
Cryakl CL 1. 3.0.0的修改部分
在所有版本的恶意软件中,网络犯罪分子都会留下各种电子邮件地址用于和受害者通信。这些地址包含在加密文件的名称中(例如,[email protected] 1.3.1.0.id- … .randomname-FFIMEFJCNGATTMVPFKEXCVPICLUDXG.JGZ.lfl)以及由Cryakl设置的图像桌面壁纸中。受害者收到的回复电子邮件中,就包含赎金金额和加密货币钱包地址。
在收到赎金后,幸运的话,网络犯罪分子会向受害者发送解密工具和密钥文件。
付款条件各不相同,例如,上面提到的Trojan-Ransom.Win32.Cryakl.bo设定了48小时的截止日期。此外,有的网络犯罪分子并不会立即说出他们想要的赎金,而是向受害者列举攻击时的成本。例如,在一次攻击中,网络罪犯要求1000美元的赎金。据受害者的说法,攻击者感染所有与电脑相连的设备,并删除了所有备份。
Cryakl的覆灭
Cryakl的问题在于它的最新版本采用了非对称RSA加密,恶意软件主体包含用于加密用户数据的公钥。如果不了解相应的私钥,研究人员就无法开发解密工具。所以,比利时警方查获的解密密匙使研究人员能够破译多种版本的勒索软件。
解密密匙
这些密钥使得研究人员升级RakhniDecryptor(卡巴斯基Rakhni勒索病毒解密工具)成为可能,并有机会解密使用以下版本的Cryakl加密的文件:
由于各个机构的通力合作,勒索软件上升的势头也到了很大的抑制。