Talos一直在与思科IR服务部门合作研究一个勒索软件,我们认为它是SamSam的新变种。这个勒索软件已经在包括政府,医疗保健和ICS在内的多个行业里有出现。这些攻击看起来并不是针对某一行业,而是具有某种投机取巧性。
根据SamSam被害者研究,SamSam不仅影响了商业发展,还影响到现实中的人们,特别是医疗行业。
非紧急手术可以重新安排时间,影响或许不是特别严重。但是如果该病人的病史和前期治疗是本次治疗的关键因素,那么SamSam影响可能就更为严重了。
此外,许多关键的生命抢救医疗设备现在高度计算机化。勒索软件会影响这些设备的运行,使得医务人员很难诊断和治疗患者,导致潜在的危及生命的风险。由于用于操作设备的计算机不可用,可能使在时间敏感操作中需要的设备不可用。
这些正在发生的攻击行为,其最初感染媒介目前还处于未知,Talos正在对此进行调查。SamSam的历史表明,攻击者可能会使用以前的作案手法攻陷主机,然后在目标环境中横向移动来传播,然后运行SamSam勒索软件。之前,我们在2016年的一波SamSam攻击期间观察到敌方攻击易受攻击的JBoss主机。尽管新版本的感染媒介还没有得到确认,但被攻陷的RDP/VNC服务器有可能在允许攻击者获得初步立足点上扮演重要角色。
当前SamSam变体与旧版相比使用的加密机制没有区别。然而,这次敌方已经添加了一些字符串混淆,并且改进了用于使检测和分析更加困难的反分析技术。
这个新的变体是使用loader(加载器)来部署的,该加载器解密并执行加密的勒索软件payload(载荷),该loader/payload模型代表了此恶意软件对所使用的反取证方法的改进。包含这种loader机制的样本早在2017年10月就已被发现。通过监控钱包1MddNhqRCJe825ywjdbjbAQpstWBpKHmFR所观察到,这波SamSam使用的钱包被多个受感染的受害者共享。我们也可以确定这个钱包的第一笔款项是在2017年12月25日收到的———对敌方来说这是个不错的节日礼物。这可以通过观察比特币区块链上的此钱包第一个交易来确认。其他比特币钱包也有可能被使用,但目前Talos还没有发现任何其他比特币钱包。
与之前的变种类似,我们认为这种SamSam变体的部署是高度手动的,这意味着攻击者必须采取手动操作才能执行恶意软件。对称加密密钥是针对每个文件随机生成的。其Tor洋葱服务和比特币钱包地址被硬编码到有效载荷中,而公钥被存储在具有扩展名.keyxml的外部文件中。
此外,代码分析没有发现任何一种联系Tor服务地址的自动机制,这意味着与受害者身份与相关的RSA私钥必须通过手动或者对手的其他工具完成。
由SamSam新变种显示的赎金提示
在大多数勒索软件中,攻击者试图说服受影响的用户,他们有能力在付款后解密数据。 SamSam在这里没有什么不同,甚至显示了一个声明,如上面的截图所示,“我们不想损害我们的可靠性”和“我们诚实”。
因此,SamSam敌方提供了两个文件的免费解密和一个额外的免费密钥来解密一个服务器。SamSam背后的始作俑者指出如果他们认为一个服务器不是一个重要的基础设施才会提供这个密钥,这再一次展示了他们通过网络监控和横向移动的能力。和以前版本的SamSam一样,他们建议通过他们的站点来向攻击者传递消息。
对手已经改变了他们的部署方法,现在他们使用一个名为“runner”的loader机制来执行payload。在执行时,loader将搜索其执行目录中扩展名为.stubbin的文件,该文件包含SamSam加密的.NET汇编payload。在读取文件时,loader使用作为第一个参数提供的密码解密payload,执行它,并传递剩余的参数。
loader是一个非常简单的没有混淆的.NET汇编程序。比较它的初始化向量(IV)和代码结构,它似乎是从Codeproject.com网站上发布的一个例子中派生出来的。
正如你在下面的图片中可以看到的那样,用于Rijndael加密的IV在两个实现中都是相同的(贴出的代码是十六进制的,由于反编译器原因,逆向代码是十进制的)。
贴出的代码
逆向的代码
在代码级特别注意函数“Decrypt”,很明显Codeproject源代码结构和最新的SamSam runner示例是相同的(从帖子中代码中的注释被删了)。
加密例程源代码比较
先前版本的SamSam通过使用AES加密字符串,将一些工作投入到恶意代码的混淆处理中。新版本还对函数、类名和字符串进行了混淆处理,包括目标文件扩展名列表、帮助文件内容和环境变量,这次使用带有固定硬编码密钥和IV的DES加密。
再一次,对手已经花费更多的精力来防止恶意软件样本本身取证恢复,而不仅仅是依赖恶意软件代码的混淆,这使得我们能够对这个样本进行逆向工程。
如前所述,解密payload的密码作为参数传递给loader,这减少了获得用于分析的payload的机会。
以前的SamSam版本有一个等效的方法,通过启动一个从硬盘删除自己之前等待1秒的线程,使得有payload的访问变得困难。
旧样本和新样本之间的主要加密例程的比较表明,这个版本的SamSam足够相似,可以确信它属于同一个恶意软件家族。
加密例程比较
以前的SamSam版本使用API调用DriveInfo.GetDrives()来获取可用驱动器的列表,但这个新版本的驱动器号码是硬编码的。在检查一个驱动器准备就绪后,它开始搜索非黑名单文件夹路径上的目标文件。
新变体保留与以前一些相同的目标文件扩展名的列表。它将一些新条目添加到不加密的路径列表中,其中包括用户配置文件“All Users"、“default”和启动目录。
这与试图保持受害者机器可操作性的大多数勒索软件是一致的。如果机器操作受到严重损坏,系统无法启动,受害者将无法支付,而如果他们让机器能够正常工作,限制其对文件/文件夹的访问,则受害者将有更大的机会支付以恢复他们重要的文件和文件。
就像以前版本的SamSam一样,新版本特别小心,以确保当前驱动器上有足够的空间来创建加密文档,从而避免任何会导致无法恢复的加密的损坏。
与大多数勒索软件不同,SamSam不删除卷影副本,并创建原始文件的加密版本,然后使用常规的Windows API删除该文件原始文件。虽然不太可能,但由于块覆盖,操作系统保存的受影响文件夹版本中的原始文件恢复也许是可能的。
在确定SamSam活动的范围时,Talos分析了攻击者在这些攻击中使用的比特币钱包地址。截至本文发稿时,攻击者已经收到约30.4 BTC,相当于325,217.07美元。如前所述,攻击者有可能利用多个比特币钱包,然而除了在这里列出的这个之外,Talos在这些攻击中没有发现其它钱包。
由于目前尚不知道具体的初始威胁向量,因此应实施最佳做法,以尽量减少对组织的风险。 Talos已经在以前与抵御勒索相关的威胁相关的博客中列出了应该被考虑几个最好的实践。按照最佳实践,像SMB或RDP这样的协议最好永远不要接上外网。
SHA256s
0785bb93fdb219ea8cb1673de1166bea839da8ba6d7312284d2a08bd41e38cb9
338fdf3626aa4a48a5972f291aacf3d6172dd920fe16ac4da4dd6c5b999d2f13
3531bb1077c64840b9c95c45d382448abffa4f386ad88e125c96a38166832252
4856f898cd27fd2fed1ea33b4d463a6ae89a9ccee49b134ea8b5492cb447fb75
516fb821ee6c19cf2873e637c21be7603e7a39720c7d6d71a8c19d8d717a2495
72832db9b951663b8f322778440b8720ea95cde0349a1d26477edd95b3915479
754fab056e0319408227ad07670b77dde2414597ff5e154856ecae5e14415e1a
88d24b497cfeb47ec6719752f2af00c802c38e7d4b5d526311d552c6d5f4ad34
88e344977bf6451e15fe202d65471a5f75d22370050fe6ba4dfa2c2d0fae7828
8eabfa74d88e439cfca9ccabd0ee34422892d8e58331a63bea94a7c4140cf7ab
8f803b66f6c6bc4da9211a2c4c4c5b46a113201ecaf056d35cad325ec4054656
dabc0f171b55f4aff88f32871374bf09da83668e1db2d2c18b0cd58ed04f0707
e7bebd1b1419f42293732c70095f35c8310fa3afee55f1df68d4fe6bbee5397e
比特币钱包
1MddNhqRCJe825ywjdbjbAQpstWBpKHmFR
Tor洋葱服务
jcmi5n4c3mvgtyt5.onion
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)