早在2021年9月,卡巴斯基实验室就发现了Tomiris组织 ,并认为该组织就是NOBELIUM/APT29/TheDukes/Turla,但这些仅仅是猜测而已。不过研究人员一直将其作为一个独立的组织进行检测和分析。
Tomiris专注于中亚地区的情报收集,其最终目的是窃取内部文件。目标是独联体的政府和外交部门,而在在其他地区(如中东或东南亚)偶尔发现的受害者还是独联体国家的外国代表驻外机构,这说明Tomiris的攻击范围很窄。该攻击的特点是倾向于用各种编程语言开发大量低复杂度的植入程序,这些植入程序使用基本但有效的封装和传播技术,针对相同目标反复部署。Tomiris偶尔会利用商业或开源的RAT。
在不同活动的基础设施中发现的语言文物都表明,攻击者者是讲俄语的。
总的来说,Tomiris开发的软件的迭代速度很快,且经常使用最前沿的技术,例如通过DNS劫持传播或命令和控制(C2)通道(Telegram)传播。
下图显示了检测到的Tomiris所出现的国家(绿色:阿富汗和独联体成员国)。值得注意的是,虽然研究人员在其他国家也确定了一些目标。
Tomiris的多语言工具集
Tomiris使用各种各样的恶意软件植入程序,可以快速地使用所有可以想象的编程语言开发。为了逃避安全检测,在一些情况下,研究人员观察到攻击者持续循环使用可用的恶意软件,直到其中一个最终被允许在受害者设备上运行。
Tomiris使用的工具分为三类:
下载程序,基本的恶意程序,其作用是部署后门或需要额外的合法工具。
后门,其功能集通常仅限于侦察、命令执行、文件下载和文件上传。
文件窃取程序专门用于窃取文件,通常依赖于硬编码的文件扩展名列表来自动查找最近编辑的文件并将其上传到C2。一些文件窃取程序是后门变种,并共享相同的代码库。
Tomiris使用各种攻击载体攻击受害者:带有恶意内容的鱼叉式网络钓鱼电子邮件(密码保护档案、恶意文档、武器化LNK)、DNS劫持、漏洞利用(特别是ProxyLogon)等。下表列出了我们所知道的所有Tomiris恶意软件家族:
此外,Tomiris还利用了开源或商业上可用的植入程序和攻击性工具。值得注意的是,后者与Tomiris相关,因为它们是从Tomiris下载器下载的,与其他Tomiris植入程序共享一个共同的C2,或被利用来部署其他Tomiris植入程序。
Tomiris工具之间的关系,箭头表示直接执行
总的来说,来自Tomiris工具集的部件似乎通常是可互换的,并且似乎与特定的活动或受害者无关。操作人员通常会将不同的家族混合使用,试图部署工具(通常是重复部署),几乎不考虑隐蔽性。
Tomiris使用的主要恶意软件:
Telemiris
Telemiris是一个Python后门程序,最初打包在PyInstaller中(我们后来也发现了一些nuitka打包的示例)。它的名字来源于它使用Telegram作为C2通道。在设置持久性(在%AppData%/service/中复制自身并创建RUN项)之后,恶意软件进入主循环,等待Telegram消息并对其进行回复。支持的命令有:
从观察到的情况来看,Telemiris被用作第一阶段植入程序,操作人员使用它来部署其他工具,如Roopy、JLORAT,甚至是合法的WinSCP二进制文件,以进一步窃取文件。
Roopy
这个文件窃取程序是用Pascal编写的,它定期爬取受害者的文件系统,并将所有感兴趣的文件上传到C2服务器。在启动时,它将CPU周期浪费在死代码和无用循环上,我们认为这些都是为了逃避。然后,Roopy创建其工作目录(%AppData%/Microsoft/NOneDrive),在其中存储已上传文件的列表(作为upload.dat)和等待上传的文档副本(在备份子文件夹中)。
然后,每隔40-80分钟,Roopy就会抓取C:Users和所有其他驱动器查找上个月修改的所有文档(.doc、.docx、.xls、.xlsx、.txt、.pdf),并将其暂存以供上传。发现的文件被收集在大小为5MB的ZIP中,并使用POST请求通过普通HTTP发送到C2服务器,POST请求包含以下数据:
这种数据格式、命名约定以及C2服务器使用的URL方案(即/h/pa)与SBZ文件查看器非常相似。研究人员已经确定了Roopy的许多变体,在这些变体中,默认情况下可以启用或禁用日志记录,或者通过对混淆数据的字节进行简单减法来替换base64编码方案。
JLORAT
首次发现Rust恶意软件是在2022年8月。与Telemiris类似,JLORAT在%AppData%中自我复制,并通过注册表RUN项设置持久性。它还创建了一个互斥锁来确保原子执行。后门程序首先收集受害计算机的信息,如系统信息、当前用户和公共IP地址。信息通过HTTP POST请求发送到非标准端口(即9942)上的C2。C2发送的样本数据如下:
然后,JLORAT在C2返回的数据中查找特定的关键字,开始运行。
发送到端口9999的数据不是在JSON字典中传递的,而是遵循特定的格式:
我们还发现了与其他模块捆绑在一起的JLORAT变体,这就将其变成了一个我们称之为JLOGRB的文件窃取程序。就像Roopy, JLOGRAB:
1.定期查找文档(.txt、.pdf、.xml、.xlsx、.doc和.docx文件的组合,具体取决于示例);
2.将列表另存为%AppData%/temp_id.txt;
3.复制在%AppData%/transport下发现的文档;
4.以压缩方式上传至C2。
JLORAT在状态消息中包含俄语的痕迹(“Дирекрияусрановлена!”,意思是“目录集”)。源二进制文件还包含元数据,表明部分源代码存储在“moduls”文件夹中,这似乎是英语单词“modules”的拼写错误,或者是俄语单词“модула”的音译错误。
Tomiris部署
在2022年9月,一个攻击者者购买了一个过期的域名(anam0rph[.]su),该域名曾经是僵尸网络(Andromeda)基础设施的一部分。这允许它们接收来自先前休眠感染的传入连接,并接管许多设备。乌克兰的受害者感染了KopiLuwak和QUIETCANARY,这两种恶意软件之前与Turla有关。
虽然公开的数据确实显示anam0rph[.]su于2022年8月12日重新注册,但找不到仙女座和KopiLuwak之间的任何联系。自2019年以来,研究人员一直在以“TunnusSched”的名称跟踪QUIETCANARY。
分析过程中,研究人员发现一个TunnusSched/QUIETCANARY样本(MD5 B38160FC836AD42F1753A0873C844925)已于2022年9月13日攻击了独联体的政府目标。分析还显示,这个TunnusSched恶意软件是从Tomiris的Telemiris(MD5 C49DBF390E876E926A338EA07AC5D4A7)部署的。
更准确地说,2022年9月13日,一名操作员试图通过Telemiris部署几种已知的Tomiris植入程序:首先是Python Meterpeter加载程序,然后是JLORAT和Roopy。这些努力被安全产品发现,导致攻击者从文件系统上的不同位置重复尝试:
所有这些尝试都以失败告终。暂停一小时后,操作员再次尝试,这次使用TunnusSched/QUIETCANARY样本:
TunnusSched样本也被阻止,攻击者继续尝试部署JLORAT和Roopy样本。这种活动和暴力感染的方法与研究人员过去观察到的其他Tomiris感染完全一致。
Tomiris组织与Turla组织是否有关
卡巴斯基于2016年首次报道了KopiLuwak。当时,这个JavaScript侦察工具被用于在希腊、罗马尼亚和卡塔尔等国部署ICEDCOFFEE。当时研究人员将攻击归因于Turla。
TunnusSched和KopiLuwak是同一工具集的一部分
从2019年开始,我们发现了与KopiLuwak以及Turla有关的很多植入程序,这些植入程序还都有关联,主要是因为它们利用了相同的RC4实现:
Topinambour(左)和TunnusSched(右)之间的代码相似性
这些示例中的RC4实现产生了完全相同的.NET字节码,据分析,这些字节码是Tunnus、TunnusSched和Topinambour独有的。
事实上,所有这些植入程序都是相互关联的,这一点毫无疑问,至少Topinambour与KopiLuwak密切相关。因此,研究人员认为,最迟从2019年开始,TunnusSched和KopiLuwak都是类似工具集的一部分。
最近的调查结果还证实,截至2022年9月,KopiLuwak和TunnusSched仍然是同一工具集的一部分,因为它们都是在针对乌克兰目标部署的。
Tomiris使用了TunnusSched
2022年9月,Tomiris利用tunussched攻击独联体的一个政府目标。此外,TunnusSched的使用是Tomiris活动的一部分,因为:
1.Tomiris利用的TunnusSched样本(MD5 B38160FC836AD42F1753A0873C844925)与Mandiant报告中从KopiLuwak部署的样本(MD5403876977DFB4AB2E2C15AD4B29423FF)非常相似。值得注意的是,它们共享相同的RC4加密密钥、用户代理字符串、未使用的代码(“ServerInfoExtractor”类)、PDB根路径(“c:UsersScottsourcereposKapushka.ClientBrowserTelemetryobjRelease”,以小写“c:”开头),都明确引用了VisualStudio 15.7,并将编译日期设置为2022年9月。
2.Tomiris使用的tunussched样本和Mandiant引用的样本都在同一时间段(2022年9月)部署在独联体的目标上。
3.Mandiant描述的TunnusSched部署涉及接管一个已禁用的AndromedaC2域。研究人员认为Tomiris作为一个攻击者者,接管了合法的政府主机名来部署Tomiris Golang植入程序。因此,我们认为Tomiris很可能劫持了Andromeda主机名或域名。
Tomiris使用了KopiLuwak
如上所述,至少从2019年开始,TunnusSched和KopiLuwak是类似工具集的一部分。2022年9月,在独联体的同一次活动中,它们也被一起使用,而tunussched也由Tomiris在CIS单独部署,两者都独立分析了使用非常相似的tunussched样本的案例。
因此,有理由认为TunnusSched和KopiLuwak都在被Tomiris利用。此外,很有可能Tomiris早在2019年就使用了KopiLuwak,当时进行的活动可能被错误地归咎于Turla。
Tomiris就是Turla吗?
如果我们认为Tomiris就是Turla,那本文的讨论将毫无意义,但事实并非如此。经过卡巴斯基实验室研究人员的多年追踪分析,Turla和Tomiris是独立的组织。Tomiris无疑会说俄语,但它的目标和技术与研究人员在Turla观察到的明显不一致。此外,Tomiris的一般攻击方法和逃避技术与Turla明显不一致。
由此分析,Turla和Tomiris两个组织可能只是在不同的时间点使用了KopiLuwak。考虑到KopiLuwak、Tunnus、TunnusSched等都是用JavaScript和.NET编写的,其中源代码基本上是由恶意软件提供的,其他攻击者可能已经重新调整了这些工具的用途,并继续使用它们。
Turla与Tomiris很可能是共享了工具和专业知识,或或彼此联合开展活动。Tomiris和Turla很大程度上是依托一个共同供应商,或者,Tomiris最初是作为Turla的编写代工组织。如果是这样的话,Tomiris完全有可能使用它为Turla开发的工具集,为不同的客户提供服务。
根据目前掌握到的示例,前两个假设的可能性最小,大概率上Tomiris和Turla之间存在某种形式的蓄意合作。然而,根据我们掌握的信息,很难确定其确切合作性质。无论如何,根据Tomiris开始使用KopiLuwak的时间,一些被认为与Turla有关的活动和工具实际上可能需要重新评估。
Topinambour、Tunnus、tunussched (QUIETCANARY)和RocketMan可能在过去都被Tomiris使用过,且这些工具也可能是Tomiris开发的。想想也是,所有这些工具都主要在独联体地区使用,这与Tomiris的传统受害者学一致。
总结
根据分析,可知简单粗暴把KopiLuwak和TunnusSched归因于Turla是不对的。这个工具集目前由Tomiris和Turla共享,另外,我们也不能排除有其他组织在使用它。
参考及来源:https://securelist.com/tomiris-called-they-want-their-turla-malware-back/109552/
原文始发于微信公众号(嘶吼专业版):经过多年追踪分析发现,Tomiris与Turla不是同一个组织