SunCrypt勒索软件:eCh0raix新型衍生变种 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

SunCrypt勒索软件:eCh0raix新型衍生变种

Change 勒索软件 2021-04-01 10:43:00
1005471
收藏

导语:eCh0raix和SunCrypt两款勒索软件在代码上相似,但其幕后的操作者在暗网论坛上的宣传方式、攻击目标等的选取上却截然不同,很可能由两个不同的运营团队在操纵。

介绍

恶意软件作者在编写新的恶意软件时通常会重用自己写过的代码,因此在做恶意软件的关联分析时,常通过代码段的对比来作为判别标准,但需要注意的是,这类代码需要具有强烈的标识性,能将其归因到具体的组织或个人。随着新型攻击组织和恶意软件的不断涌现,“老酒装新瓶”现象也时常发生,例如GandCrab运营团队在2019年5月间宣布将停止勒索软件活动,但不久后又出现了一种名为REvil(也被称为Sodinokibi)的新型勒索软件,两者的代码具有很强的相似性,表明当GandCrab勒索软件关停期间,其作者用GandCrab的部分代码又开发出了一款新的勒索软件。

本文将分析勒索软件SunCrypt和QNAPCrypt之间的联系,QNAPCrypt在2019年被用于攻击群晖科技(Synology)、威联通(QNAP)等NAS品牌设备。这两款勒索软件在代码重用和技术方面存在很强的关联性,目前由不同的团体在操作。虽然这两款软件可能是同一人编写,但不同的操作者可能会使用不同的战术、技术和程序(TTPs),或是使用新的逃避技术,防御者必须保持警惕。

技术关联

SunCrypt是一种勒索软件即服务(RaaS),对其溯源可到2019年10月,此版本的SunCrypt由Go语言编写,针对Windows机器,此时检测到的攻击次数并不多,一直到2020年中期,出现了C / C ++编写的新版,攻击数量也开始增加。当其他威胁组织开始将恶意软件从C / C ++改为Go版本时,它却逆其道而行之。

SunCrypt与QNAPCrypt(也称为eCh0raix)勒索软件在代码上高度关联,可以肯定的是,两者的代码是从相同的源代码编译而来。

SunCrypt 2020和SunCrypt 2019

SunCrypt 2020年的新变种由C编写,与2019年的早期版本没有共同代码。除了功能相似外,有其他信息帮助我们将其归类:

SunCrypt窃取并加密了受感染机器上的文件后,会向用户显示勒索记录,如下图1所示。 

图1:SunCrypt的赎金页面。左侧显示2019年版本,右侧显示当前版本,两者具有相同的单词和语法错误。当前的勒索页面公布了指向展示私人信息的链接,而老版页面没有。

2020年变种的勒索页面,有英语、德语、法语、西班牙语和日语版本,并带有一个输入框,当用户输入唯一ID时,会向用户发送聊天界面。2019年款的赎金页面具有类似的文本,主要区别在于背景颜色以及未支付赎金情况下胁迫话语。

SunCrypt 与QNAPCrypt的关联

2021版本可能是beta版本,PDB路径中显示的版本名为“ 0.1”,如图2所示。该图显示了redress(一款分析Go二进制文件的工具)处理后的部分输出,可以看到一个名为“ aes.go”的文件,其中包含两个函数,其中一个函数的名称中有一个错字,应该是“ EncAES”而不是“ EncEAS”。

这个错误也曾出现在QNAPCrypt版本2的两个样本中(8dd59345cc034317630b2ac2ee19b362和516291d10b370c7be3863335cf5d57eb)。图3中显示了QNAPCrypt样本之一的redress输出。在搜索了我们的恶意软件数据集和VirusTotal后,只有这三个样本具有两个函数名。由此可以得出结论,错别字是唯一的,两个勒索软件之间可能共享代码。

 

图2:SunCrypt 2019变种的部分redress输出。

 

图3:QNAPCrypt版本的redress输出,具有相同拼写错误。 

对函数的进一步分析表明,它们来源相同。“ EncFile”的流程图如图4所示,“ EncEAS”的流程图如图5所示。 

图4:EncFile函数的流程图,两者一致。

上述样本是针对不同的操作系统和架构使用不同版本的Go编译器编译的,导致所生成的汇编代码略有不同。EncFile函数为要加密的文件启动文件处理程序,它使用Go的标准库提供的“stat”函数来确定文件大小,根据文件大小将其分为两类。

对于SunCrypt,文件大小的分类标准是100 MB,而QNAPCrypt使用10 MB的阈值。在大文件类中,SunCrypt使用标准库“io”包的“ReadAtLeast”函数读取前100 MB,QNAPCrypt执行的也是相同的操作,只是在前10 MB中执行。

对于较小的文件,两个软件都使用都使用来自“io”包的“ReadFile”函数,读取的数据被传递给加密数据的“EncEAS”函数。最后,在删除原始文件时,将EncEAS输出内容作为新文件写入磁盘,并附加相应扩展名。除了大小限制之外,两款软件的函数逻辑是相同的。 

图5:SunCrypt与QNAPCrypt的“EncEAS”函数流程图比较。

其他相似之处

两款勒索软件除了文件加密函数代码雷同外,还具有其他相似之处,QNAPCrypt中的函数与SunCrypt中的函数的相似之处。

图6:QNAPCrypt和SunCrypt之间具有相似功能的函数。文件加密逻辑相同,而密钥生成和密钥加密又非常相似,且均通过计算机的语言环境和GeoIP来确定计算机的位置。

两种勒索软件都设计为不能在某些独立国家联合体(CIS)上运行,如果QNAPCrypt认为文件在白俄罗斯语,俄语或乌克兰语的计算机上运行,则不会对其进行任何加密,SunCrypt也有类似处理,名单中包含吉尔吉斯斯坦和叙利亚。

在确定计算机用户国籍这一点上,两款勒索软件采用的方式非常相似——使用了两个信息源。一是计算机的语言环境,由于QNAPCrypt针对Linux机器,而SunCrypt针对Windows机器,因此获取此信息的方式也有所不同;第二个是根据机器的外部IP地址通过地理位置进行,两种勒索软件都与外部服务联系以获取此信息,SunCrypt使用“ ip-api.com”,QNAPCrypt使用“ ipapi.co”。

两款软件都在CFB模式下使用AES对文件进行加密,均生成唯一的32个字符的密码,生成的过程逻辑也非常相似。如图7所示,密码中的字符是从有效字符列表中随机选择的,包括所有英文字母的大小写以及数字0到9,由标准库中的math包中的rand实现,在随机性上是不加密的。以当前时间为随机种子,每次调用负责生成密码的函数时,SunCrypt都会重置种子,而QNAPCrypt会在初始化期间设置种子,SunCrypt还使用该函数生成受害者标识符。

图7:生成加密密码。该函数循环32次,并使用“ rand.Intn”从有效字符列表中选择一个随机字符,循环完成后,字符的字节片将转换为字符串。

加密密码是用二进制文件中的公钥RSA加密的。这段代码的逻辑于图8所示,代码使用“EncryptPKCS1v15”函数,属于“crypto/rsa”包。

图8:使用二进制文件中包含的公共密钥对密码进行加密。

两款勒索软件都有作为Tor隐藏服务托管的C2设施。QNAPCrypt的第一个版本通过C2获取赎金票据的信息和比特币钱包,SunCrypt发送活动信息并将窃取文件上传到C2服务器。为了访问隐藏的服务,两者都使用公共可用的SocksV5代理,QNAPCrypt直接连接到一个IP地址(192.99.206[.]61),而SunCrypt使用的代理通过域vie8hoos[.]xyz访问。

勒索软件加密的文件类型也相似,都有一个文件扩展名列表,用于确定是否加密文件。SunCrypt具有589个文件扩展名的列表,如果将SunCrypt列表与QNAPCrypt的第一个版本使用的列表进行比较,可以看到SunCrypt的列表添加了四个新条目,并删除了19个条目。列表未进行任何排序,因此提取列表的顺序与恶意软件中出现的顺序完全相同。下面的代码片段显示了两个列表的“diff”。

$ diff suncrypt_ext.lst qnap_ext_20190705.lst
460d459
< .mp4
562, 564d560
< .java
< .swift
< .go
589a586, 604
> .gcode
> .ngc
> .sldprt
> .sldasm
> .x_t
> .step
> .fits
> .cat
> .ctlg
> .fit
> .rsn
> .eml
> .vhdx
> .cfg
> .plist
> .bckup
> .far
> .tbz
> .abf

将SunCrypt的列表与同一年8月的QNAPCrypt第二版使用的列表进行比较,重叠部分会更多,不同的是SunCrypt增加了三个条目,删除了两个。整体上看,字符串相似度为0.991,这是一个很强的相似度。“diff”输出如下所示。

$ diff suncrypt-files.lst qnap_ext_20190801.lst
562, 564d561
< .java
< .swift
< .go
589a587, 588
> .gcode
> .ngc

总结

尽管两款勒索软件在代码上相似,但其幕后的操作者在暗网论坛上的宣传方式、攻击目标等的选取上却截然不同,eCh0raix和SunCrypt很可能由两个不同的运营团队在操纵。安全人员应考虑到这一点,不能因为一个恶意软件家族是另一个恶意软件家族的迭代,就把它们的运营团队划上等号,如果被其他攻击者接手,操作方式、功能和规避技术上可能都会有所改变。防御者必须保持警惕。

本文翻译自:https://www.intezer.com/blog/malware-analysis/when-viruses-mutate-did-suncrypt-ransomware-evolve-from-qnapcrypt/如若转载,请注明原文地址:
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务