前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >革命性创新?走近“高水准”新型勒索软件Spora

革命性创新?走近“高水准”新型勒索软件Spora

作者头像
FB客服
发布2018-02-09 16:18:40
6970
发布2018-02-09 16:18:40
举报
文章被收录于专栏:FreeBufFreeBufFreeBuf

勒索软件几乎每周都会增加新的“家族成员”,这类威胁的影响力不断上升。Emsisoft(奥地利的信息安全公司,主营业务有反恶意软件、互联网安全、应急响应、移动安全等)的研究员致力于发现与分析新型威胁,对于这个名为Spora的勒索软件也不例外。2017年1月10日该勒索软件首次在ID-Ransomware上被发现,因其特有的功能以及高水准的技术与展示界面引起了我们的注意。本文不但会介绍Spora的内部工作原理,还将介绍其索取赎金的现代化商业模式。

走近Spora

Spora由C语言编写而成并使用UPX可执行打包程序打包。与大多数勒索软件不同,Spora不会对其加密的文件进行重命名,因此没有特定的文件扩展名。感染系统时,它会给出一个精心设计的基于HTML的赎金说明和一个.KEY文件。两个文件的基本名称与勒索软件分配给每个用户的ID相同。赎金说明是用俄语表示的:

俄语版的赎金说明

译成英文的赎金说明

点击你的ID,系统会自动链接到他们的网站:

点击勒索说明后网站用户将被重定向

英文版的赎金支付页面

其中有几点很快引起了研究人员的注意。首先,网站界面的制作十分专业,美观程度也很高;其次,与其他勒索软件不同,它要求的赎金相对较低。稍后会解释原因。另外,该勒索软件提供给受害者各种“包”的功能也很有意思。你可以选择只恢复文件,或者同时支付删除勒索软件并不再受到二次攻击的额外费用。这是Spora勒索软件所特有的,以前从来没有遇到过类似情况。该网站还设有一个聊天框,可以与犯罪分子直接沟通,虽不是首创,但这种现象也不常见。据观察,犯罪分子的答复速度也很快。

Spora勒索软件是如何威胁用户的?

目前,Spora主要通过邮件欺骗俄罗斯用户,它把邮件内容伪装成是1C(在俄罗斯和很多前苏联国家中十分流行的会计软件)的发票。邮件中能看到的文件名是“Скан-копия _ 10 января 2017г. Составлено и подписано главным бухгалтером. Экспорт из 1С.a01e743_рdf.hta”,翻译过来的意思是“扫描件_ 2017年1月10日。由总会计师签字。出自1C.a01e743_pdf.hta”,这里利用两个扩展名的方式试图欺骗用户这是一个PDF格式的发票,但实际是HTA文件。

HTA文件即HTML应用程序,它允许任何人都能用HTML和各种脚本语言编写桌面应用程序。就好比你的浏览器没有能够防止网站篡改系统的安全机制。HTML应用程序在Windows上支持的两种脚本语言是JScript和VBScript,两者均在Spora中被使用。

当用户双击HTA文件时,它将在%TEMP%中创建一个名为close.js的新文件,然后将编码的脚本写入该文件。最后执行JScript文件:

HTA下载器的内容

JScript是加密的、模糊化的,能够防止利用自定义算法和CryptoJS的检测。如果去除模糊化,你会发现一个BASE64的编码字符串,其中包含恶意软件的可执行文件。该脚本的目的是解码上述字符串并将以下两个文件放入用户的%TEMP%文件夹:

doc_6d518e.docx 81063163ded.exe

JScript dropper会尝试打开或执行这两个文件,然后退出。第一个文件是包含无效数据的文档,会在用户打开WordPad或Word时显示错误:

伪造的损坏文件

我们认为该步骤的主要目的是转移受害者注意力,让他们觉得无法正常打开预期文档是因为该文档在传输时遭到损坏。损坏的文档可能不会让用户怀疑刚刚运行的是恶意的HTA文件。第二个文件是实际上对数据进行加密的勒索软件。

Spora密钥生成与加密

Spora使用的是RSA与AES的混合算法加密受害者数据。在某系统上实现加密需要用到Windows上的CryptoAPI。恶意软件编写者的公共RSA密钥是嵌入在使用硬编码AES密钥的恶意软件可执行程序中的,当Spora进入某系统时,首先查找并解密该公共RSA密钥。一旦该密钥成功导入,恶意软件会创建一个新的1024位RSA密钥组,我们将其称为受害者的RSA密钥组,由私钥和公钥组成。该恶意软件还将生成一个新的256位的AES密钥来加密受害者的私人RSA密钥。一旦受害者的私人RSA密钥被加密,恶意软件编写者的公共RSA密钥会对新的AES密钥进行加密。所有密钥材料和其它相关信息随后会保存在.KEY文件中。

加密系统文件时Spora首先会生成一个新的256位per-file AES密钥。该per-file密钥最多加密文件的前5MB。完成后,恶意软件使用受害者的公共RSA密钥加密该per-file密钥,并将加密的per-file密钥添加到加密文件中。

这个过程一开始看起来比较复杂,但实际上这种恶意软件能够脱离命令和控制服务器进行操作,避免了恶意软件感染期间的信息交互过程以及被删除的风险。这也就意味着Spora能够在没有网络连接的情况下完成加密活动。另外,它也能够绕过其它勒索软件的缺点。拿DMA Locker 3举例,其恶意软件编写者的公钥直接加密per-file密钥,这会导致针对一个人的解密器同时用于同一攻击行动中其他受害者的问题。

但是,Spora的加密方式也存在一定问题:如果没有恶意软件编写者的私钥则无法恢复加密文件。

告诉我你是谁,我再告诉你需要支付的金额

前面已经提到过,Spora很多方面都和其它勒索软件有所不同。他们进入系统后的第一项行动就是进行加密程序,在当今的勒索软件领域中,即使是像Cerber这样有影响力的专业项目,他们的第一次迭代也存在着持续的风险性。另外Spora还有一个独特的定价模式来确定受害者需要支付的金额。

如前所述,由勒索软件创建的.KEY文件不仅存有受害者的RSA私钥,还包含一些附加信息:

.KEY文件中未加密内容

RSA私钥部分是即时可见的,前面讨论过其相关性,但这里我们要强调的是后面的附加信息。 RSA私钥后面跟着系统感染的发生日期、受害者的用户名和受感染系统的所在位置。下一个值则是硬编码标识符,只要受害者受到的是同一个我们所分析的Spora样本的感染,那么他们的硬编码标识符均相同。Spora编写者将这些信息作为攻击行动的ID,以此来跟踪不同攻击行动的效益并向行动发起者支付一定利润,这表明Spora的运营模式是勒索软件即服务的形式。

以下六个数值特别有趣。选择要加密的目标时,Spora将根据其文件扩展名分为六大类:

这些统计信息会作为六个数值的一部分包含在.KEY文件中,用于确定恶意软件编写者的勒索金额。发起针对性攻击之前,我们已经通过RDP看到了某些特定受害者的赎金价位。加密前攻击者都会根据RDP来检查服务器的拥有人以及其中所包含的文件内容。但Spora却在这一步上发挥得淋漓尽致,它不仅使这种策略能够达到目标,而且实现了完全的自动化。这也就解释了为什么我们测试系统的赎金价格这么低,因为它几乎没有任何恶意软件编写者认为有价值的文件。

另外,.KEY内容及统计信息也用于创建在每位用户首次访问Web面板时都需要键入的用户ID。一般的ID格式如下所示:

US741-85RZR-TRTZT-ZTFFT-ZYYYY

Spora ID始终显示五个字符块,用连字符分隔。前两个字符(US)是系统所在区域的双字母国家/地区代码。接下来的5个字符(74185)是通过.KEY文件的未加密内容计算出来的MD5哈希值的前5个字符。接下来的字母(RZRTRTZTZTFFTZ)是利用简单替换密码编码的.KEY文件的统计字符串。所有管道符号(|)都被替换为字母T。以下代码片段列举了其它的替换字符:

Spora为用户ID编码时使用的字符替换表

如果最后一个区块未满5个字符,则使用Y字符填充。这样的话,只要根据用户ID就能成功跟踪到Spora加密的文件数。我们目前正与ID Ransomware和No More Ransom等平台合作,通过上传的赎金记录中包含的标识符来收集统计数据。

如何保护自己?

最好的保护方式当然还是一个可靠的备份策略,因为Spora使用的加密方式安全性相当高,想要拿回数据的唯一办法就是获得勒索软件编写者的协助。除了常规备份,一些反恶意软件的行为阻止技术也日趋成熟,大家可以按需采购,这里就不打广告了。

*参考来源:blog.emsisoft.com,FB小编Carrie编译,转载请注明来自FreeBuf.COM

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 走近Spora
  • Spora勒索软件是如何威胁用户的?
  • Spora密钥生成与加密
  • 告诉我你是谁,我再告诉你需要支付的金额
  • 如何保护自己?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档