当前位置: 首页 > 科技观察

如何预测恶意软件的下一次攻击

时间:2023-03-16 00:41:10 科技观察

当我们分析一个流行的恶意软件系列时,我们首先查看它使用的恶意基础设施,以收集背后的线索。本文以Dridex为例,谈谈如何利用恶意基础设施来推测下一次可能的攻击。Dridex银行木马于2014年首次出现,至今仍是最流行的恶意软件家族之一。2020年3月,Dridex位居最流行恶意软件榜首。Dridex是由一个名为“EvilCorp”的网络犯罪组织创建的,该组织对全球银行系统造成了大约1亿美元的损失。在本文中,我们介绍了迄今为止有关Dridex的关键细节。探索了Dridex的发展历史,并展示了其关键技术特征和传播方法。Dridex中的关键模块名称:EvgeniyBogachev:臭名昭著的ZeuS恶意软件的创建者。MaksimYakubets:运营Dridex的ErideCorp网络犯罪集团的负责人。在Dridex之前,Zeus是最受欢迎的。Zeus是一种特洛伊木马恶意软件,其功能包括将受感染的计算机变成僵尸网络节点、窃取银行凭证以及下载和执行单个恶意模块。据FBI称,一个网络犯罪集团的成员试图使用ZeuS在全球范围内窃取大约2.2亿美元。以下时间线显示了ZeuS发展的关键点:当ZeuS源代码在2011年泄露时,该恶意软件的各种分支开始出现。它是非常流行的恶意软件,并衍生出许多不同的恶意软件分支。在撰写本文时,ZeuS与29个不同的恶意软件家族相关联,总共约有490个版本。2014年5月,FBI发布了一份公告,描述了EvgeniyBogachev的情况,并承诺悬赏300万美元,以获取导致逮捕和/或定罪的信息。ZeuS家族在Dridex时代消失后,Dridex得到发展。该恶意软件是Bugat(2010年出现)演化的结果,Bugatv5在2014年被命名为Dridex。据称AndreyGhinkul(来自摩尔多瓦)是2015年Dridex僵尸网络背后的管理员之一。IgorTurashev也是Dridex僵尸网络背后的管理员之一。DenisGusev是EvilCorp背后的主要投资人之一,更多与Dridex相关的名字可以在美国财政部制裁声明中找到。下面的时间线显示了Dridex发展过程中的一些里程碑:从2017年开始,Dridex继续使用Bitpaymer生成大量勒索软件,该分支继续使用2019年开发的DoppelPaymer和2020年开发的WastedLocker。2019年,Dridex至少有14个活跃的僵尸网络,其中一些是以前发现的,而另一些是新开发的。僵尸网络通过其ID号来区分。这些是目前最活跃的:10111、10222、10444、40200、40300。在2019年底,FBI发布了一份公告,描述了Dridex的作者,并承诺悬赏500万美元(此前悬赏E.Bogachev300万美元)。还有证据表明,马克西姆过着奢侈的生活,这无疑是他恶意活动的结果。到目前为止,MaksimYakubets还没有被执法部门逮捕。如前所述,到2020年,Dridex是世界上最流行的恶意软件家族。感染链在我们开始分析Dridex样本本身之前,我们想了解恶意软件背后的基础设施。它是如何分布的?目标是什么?支持文件的初始检测率是多少?Dridex的分发当运营商想要分发Dridex时,他们会使用来自各种网络犯罪集团的已建立的垃圾邮件程序,在生成的电子邮件中小心地附加恶意文件。在Dridex生命周期的不同时期,Necurs、Cutwail和Andromeda僵尸网络都参与了Dridex的传播。当用户下载并打开此类文档(可能是Word或Excel)时,会启动一个嵌入式宏来下载并执行Dridex有效负载。TargetDridex针对全球不同的知名机构:美国银行账户;美国信用卡公司;美国金融投资公司;欧洲银行账户;沙特阿拉伯、卡塔尔、阿曼的政府机构;攻击者将他们的垃圾邮件伪装成合法电子邮件。我们可以举出UPS、FedEx和DHL等公司的例子,它们的徽标和邮寄方式被用作此类电子邮件的诱饵。当受害者单击该链接时,将打开包含恶意文档的存档或恶意文档本身。初始检测率当第一次看到Dridex在野外传输文件时,它的检测率非常低。在下面的屏幕截图中,我们看到了Dridex的Excel文档的初始检测率:Dridex传播文件的初始检测率Loader和PayloadDridex示例包括一个加载程序和有效负载,我们将在下面讨论每个部分的亮点。反调试技术Dridex加载器利用OutputDebugStringW函数使恶意软件分析变得更加困难,不同的加载器产生不同的输出(“Installing...”字符串非常流行),但思想在任何地方都是相同的:创建一个长循环有很多无意义的调试消息。在下图中,我们看到了这样一个具有大约2亿次迭代的循环示例:具有0xBEBBE7C(大约2亿次)迭代的循环调用OutputDebugStringW日志中的输出如下:DridexdebugmessagesFloodedanalysislogsObfuscatedpayloads被严重混淆很少有函数被直接调用。调用解析是在散列的帮助下执行的,该散列标识库及其包含的函数。下面的屏幕截图显示了此类解析的示例:Dridex有效负载中的调用解析示例所有对关键Dridex任务重要的函数都是这样调用的。解析的互联网函数调用示例我们使用Labeless工具来解析混淆的函数调用,恶意软件中的字符串使用RC4算法和样本中存储的解密密钥进行混淆。配置负载中的主要兴趣点是它的配置,其中包含以下重要细节:木马ID;C&C服务器数量;C&C服务器本身列表;配置示例:本例payload木马ID为12333的Dridex配置示例命令控制服务器包括:92.222.216.44:44:4469.55.238.203:338966.228.47.181:44198.199.106.229:5900104.247.224.104104.247.224.1041.200:88452.46.8.148:884POST请求更多命令,等待200OK响应。请注意,这些服务器不是真正的C&C服务器,而是连接到真实服务器的代理。Dridex僵尸网络基础设施恶意软件发送到C&C服务器的信息包含以下数据:计算机名称;僵尸网络ID号;请求类型;操作系统的架构;已安装软件列表;这些数据使用RC4算法加密,密钥存储在恶意软件的加密字符串中。至少有6种不同类型的请求;其中有:“list”:获取配置;“bot”:接收机器人模块;使用IOC进行早期检测越早发现感染,缓解的机会就越大。为了尽可能快地捕获感染,同时花费最少的资源,我们希望专注于初始传播阶段。然而,检测只是一方面。我们可能会自信地说某些东西是恶意的,但我们也想对威胁进行分类。为此,我们必须确保这个特定的恶意软件确实是Dridex。让我们再看看Dridex感染链,确定我们可以用于检测和识别的不同阶段:Dridex检测的不同阶段在Dridex感染的不同阶段,我们可以使用以下指标进行检测。第一阶段,恶意文件:filehash;文件内的图像;文件的内部结构;内部使用的宏;第二阶段,服务器:域;网址;第三阶段,加载器和有效负载:样本哈希;配置文件中的IP地址;为什么这么多因素很重要?我们已经看到Dridex的基础设施和指标与其他流行的恶意软件系列(如Emotet和Ursnif)之间的相关性。恶意文档在用于传送上述所有恶意软件时具有共同的指标。Dridex和Emotet使用一些C2服务器,特别是代理服务器,尽管端口和连接类型不同。所以,我们要分析很多细节才能下结论。与我们拥有的特定僵尸网络相关联的独特因素越多,就越容易判断另一个攻击是否具有相同的模式。当然,对恶意软件进行分类的理想方法是获取并分析最终的有效负载:如果是Dridex,则在恶意软件之前启动的所有内容也被归类为Dridex。然而,可能需要一些时间(有时在获得初始恶意文档后相当长的时间)才能知道结果。通过分析感染链早期阶段的所有指标,我们可以更快、更有信心地进行分类。另一个有趣的是利用同一个网络下载Dridex的例子,我们分析了用于此目的的域,解析了他们的IP,发现其中很多都在同一个网络84.38.180.0/22中,总共不到1024个.该网络属于俄罗斯公司ASNSelectel,很少删除恶意内容或垃圾邮件。我们在84.38.180.0/22网络(以及同一ASN内的其他网络)中看到了以下链接到Dridex域的IP地址,并且日期显示Dridex域首先指向了相应的IP:虽然仅此因素不足以识别Dridex,这是一个很好的辅助细节,可以在处理DridexIOC时参考。检测下图显示了不同日期的Dridex峰值6月29日Dridex感染峰值7月6日至7月8日Dridex感染峰值能够及早阻止Dridex攻击是至关重要的,在许多情况下,如果是在7月6日和7月8日之间如果没有垃圾邮件在7月8日之间发送了几天,僵尸网络活动在第二天减慢,我们没有像7月22日以来Dridex高峰期那样获得那么多的IOC命中率几天以来我们没有看到任何新的Dridex垃圾邮件样本。Dridex9月7日重出江湖,连续2天活跃度激增:恶意文档。现在,它们的数量在单个文件中可以高达50个。我们一直在监控这个僵尸网络并在不同的执行阶段检测它的有效载荷。本文翻译自:https://research.checkpoint.com/2021/stopping-serial-killer-catching-the-next-strike/