使用非常复杂的混淆和反分析技术:深入分析信息窃取恶意软件Astaroth | xxx使用非常复杂的混淆和反分析技术:深入分析信息窃取恶意软件Astaroth – xxx
菜单

使用非常复杂的混淆和反分析技术:深入分析信息窃取恶意软件Astaroth

六月 19, 2020 - 4hou

一、前言

近期,Cisco Talos详细分析了信息窃取恶意软件Astaroth,该恶意软件使用包括流行的COVID-19在内的多种诱饵,主要针对巴西发起攻击。在Astaroth恶意软件中,使用了非常复杂的混淆和反分析/逃避检测技术,从而阻止研究人员对该恶意软件家族的检测和分析。该恶意软件创造性地使用YouTube频道作为编码和加密后的命令与控制(C2)通信通道。

1.1 独特功能

Astaroth使用了一系列强大的反分析/逃避检测技术,而这些是我们近期所看到的最为复杂的技术。Astaroth可以有效逃避检测,并以非常合理的判断方式来确保它仅会被安装在位于巴西的操作系统上,同时可以规避在沙箱和研究人员的系统上安装。此外,该恶意软件会在常见端口上利用常见服务,同时还将YouTube频道作为C2,以此来尽可能地逃避检测。

1.2 工作原理

1、用户收到一封具有迷惑性的电子邮件,在这一系列的恶意活动中,所有电子邮件都使用葡萄牙语,并且是针对巴西的用户发送。

2、用户单击电子邮件中的链接,该链接将用户定向到攻击者所使用的服务器上。

3、从Google基础架构下载初始Payload,即一个ZIP文件,其中包含LNK文件。

4、在LoLBins(ExtExport/Bitsadmin)用于进一步感染之前,实施了多层混淆。

5、在投放Astaroth Payload之前,进行了大量的反分析、逃避检测的检查。

6、从YouTube频道说明中,提取经过编码和加密后的C2域名。

1.3 核心结论

通过Astaroth,我们可以看到一些恶意软件已经达到非常成熟的水平。通过对这一恶意软件的分析,我们可以了解到攻击者可能会使用的高级反分析、逃避检测的手段,这类具有较强反分析能力的恶意软件很可能会扩散到巴西以外的地区。作为企业等组织,需要针对这些具有较强逃避检测能力的信息窃取恶意软件进行充分的防护,同时应该通过有效方式防御这种复杂的攻击。同时,目前已经有大量攻击者使用COVID-19的主题来发起攻击,而这个恶意软件的攻击活动则是使用该话题的又一个案例。

二、摘要

根据当前的威胁形势,网络上分布着各种恶意软件系列,这些恶意软件以企业或个人为目标。在所有这些威胁之中,大多数都存在一个共同点——为了金钱。有很多恶意软件都会以最终系统上存储数据的访问权限为目标,这些数据可以通过各种方式转变成金钱。为了使利益最大化,一些恶意软件作者和恶意软件分发者正在竭尽全力逃避检测,特别是逃避自动化分析环境和可能会调试恶意软件的恶意软件分析工程师。而我们今天所分析的Astaroth恶意活动,则展现了一个教科书级的逃避技术。

在该恶意软件背后的威胁行为者非常关心如何逃避检测,他们并不是仅仅向恶意软件中引入了一两项反分析检查,而是引入了多达数十项检查,其中包括大多数商品化恶意软件都很少见到的检查项。这种类型的恶意活动展现了一些以金钱为目的的攻击者在过去几年中达到的成熟水平。这项恶意活动专门针对巴西,并且使用专门针对巴西用户设计的诱饵,包括COVID-19(新冠肺炎)和Cadastro de Pessoas Físicas(CPF,巴西个人纳税人登记号码)。除此之外,投递程序甚至在投放最终恶意Payload之前都使用了非常复杂的技术以及多层混淆和逃避技术。在投放Payload之后,还会进行另外一系列的检查,以确保以较高的把握在巴西的操作系统上执行Payload,而并非在研究人员或其他安全技术(特别是沙箱)所使用的系统上执行。除此之外,该恶意软件还使用了新型的技术,通过YouTube进行命令与控制更新,结合使用了大量新技术和已有技术。

在本文中,我们将对Astaroth恶意软件家族进行深入分析,并详细介绍我们在过去的近一年中观察到的一系列活动。其中将包括详细的反混淆分析、从最初的垃圾邮件到最终投放的Payload分析、Astaroth使用的所有逃避技术分析。希望通过本篇文章,能让大家了解到如何在自己的环境中进行样本分析。这个恶意软件非常难以琢磨,我们估计在可以预见的将来,对于用户和防御者来说,都可能是一个令人头疼的威胁,特别是如果其针对的目标转移到南美和巴西之外,则会更加严重。

三、技术细节

Astaroth包含一个多阶段的感染过程,可以用于检索和执行恶意软件。总体而言,感染过程如下图所示。我们将在后面的部分中详细描述感染过程的每个步骤。

1.jpg

3.1 交付阶段

这些恶意活动通常以恶意电子邮件作为开始。这是一种常见的策略,电子邮件会被设计为看起来像是熟悉品牌的合法电子邮件,试图诱导用户单击其中的恶意链接或打开附件。在我们的分析中,我们收集并查看了自2019年年终开始Astaroth恶意活动所使用的数千封恶意邮件。这些电子邮件中的绝大多数都是针对巴西,因此是使用葡萄牙语编写的。在过去的6-8个月中,攻击者使用了不同话题开展了不同的攻击活动。下面展示了攻击者冒充成某个巴西知名品牌发出的电子邮件示例。

2.png

在这一恶意活动中,攻击者试图让用户点击一个看上去像是过期发票的链接,这也是一种常见的策略。电子邮件中的超链接实际指向的是与显示不同的URL,但用户可能会认为他们点击的是指向巴西某本地汽车租赁网站的链接,但实际上点击的链接如下:

hxxp://wer371ioy8[.]winningeleven3[.]re/CSVS00A1V53I0QH9KUH87UNC03A1S/Arquivo.2809.PDF

在早期的恶意活动中,有一个典型的特征,就是使用攻击者拥有的域名和子域名(即上方的wer371ioy8)。我们已经看到存在大量独特的子域名和URL,这很有可能表明URL是随机生成的,并且服务器会根据请求的不同而产生相应的响应。

当我们开始追踪感染源时,我们找到了恶意软件的实际位置。用户单击链接后,将会被重定向到Google Drive,以下载实际的恶意ZIP文件,我们将在后文中分析该文件。攻击者通过多种方式进行Web重定向,最常见的一种就是302-Cushioning技术。同时,这些攻击者还使用了此前曾见到过的策略——iframe。

3.png

请注意,这里的iframe利用相对位置,并将iframe呈现在屏幕的上方和左侧,这是我们在漏洞利用攻击工具包中经常能够观察到的情况。最初在重定向到Google基础架构时,还会引入感染路径,从而对中间的请求进行加密。这样的流量将会产生对Google托管的ZIP文件的明文请求,如下所示。

4.png

攻击者在恶意活动期间,还利用了一些其他的诱饵,包括COVID-19。在下面展示的电子邮件中,攻击者仿冒了来自巴西卫生部的邮件,向市民提供有关如何应对COVID-19爆发的措施。

5.png

在公告中,提及了在巴西境内分发呼吸器(一种用于治疗COVID患者的必要医疗设备)的情况,并提供了一系列建议,这些建议可以以PDF格式下载,并提供了一个下载链接。但是,该链接实际指向的是攻击者的服务器,并且会再次重复上述过程。这也是攻击者持续利用COVID-19来传播恶意软件的另一个示例。

最近,我们注意到这些攻击者分发恶意软件的方式有所变化。他们仍然在使用与发票和账单相关的诱饵,但是更改了格式,并删除了其中的一些基础结构。

6.png

如我们所见,这封电子邮件试图诱导与债务相关的用户单击链接,但同时其中还提到了会影响收件人CPF的有效性。CPF是巴西的一个重要证件编号,类似于美国的社会安全号码SSN。这个证件适用于所有纳税的公民和游客,其用途包括申请驾照、开设银行帐户、注册手机号码等等。如果这个证件不再可用,将会严重影响人们的生活,产生高昂的成本。因此,这是一个非常有效的诱饵。

攻击者目前似乎正在删除一些基础架构内容,因为现在URL直接指向Google托管的ZIP文件,示例如下:

hxxp://48.173.95[.]34.bc[.]googleusercontent[.]com/assets/vendor/aos/download.php

这就类似于前面提到的URL,但是不需要与攻击者的服务器进行交互。我们看到的这两种攻击活动目前都处于活跃状态,并且这些URL现在仍然可用。一旦最初的投放程序进入系统,LNK文件就会启动复杂的感染过程。

3.2 感染第一阶段

前面提到的ZIP压缩包中,包含恶意的Microsoft Windows快捷方式(LNK)文件,这些文件用于执行感染过程的第一阶段,即下载其他恶意内容,并启动感染过程。

7.png

为了防止研究人员分析其中包含的字符串,攻击者对其进行了混淆处理。其中一个LNK文件的示例如下:

8.png

在执行时,嵌入在LNK中的批处理命令负责创建一个JScript文件,该文件存储在“C:/Users/Public/Documents/”中,然后执行该文件。

9.png

这个JScript负责向攻击者控制的Web服务器发出HTTP GET请求,以检索感染过程的下一个阶段。

10.png

从攻击者控制的服务器收到的响应数据中,包含混淆的JScript的下一个阶段,该阶段由受感染系统上运行的进程直接执行,并且不会写入到系统文件中。用于从第一层受攻击控制的分发服务器中检索其他指令的URL结构在各个活动中有所不同,如下面的示例所示:

11.png

这些脚本是从捕获的网络流量中得到的。

12.png

在JScript执行后,将启动感染过程的下一个阶段。

3.3 感染第二阶段

在感染的早期阶段提供的JScript中包含各类混淆功能,从而使分析过程变得更加困难。在整个脚本中,都使用了CharCode替换,将其中的ASCII字符替换为十进制表示形式。例如,下面是混淆后的JScript的子集:

13.png

该脚本有效地采用了ASCII字符的十进制表示形式,将其转换,并将结果连接起来,以创建一个字符串,其中包含Windows命令处理器执行它们所必须的命令行语法。

取这些数值,并将它们与像这样的文本转换器交叉引用,就可以将数据转换为可读的形式:

14.png

除了CharCode转换之外,变量声明还用于破坏命令行语法,从而导致阅读和解释代码内容变得更加困难。

我们进一步分析上个示例中的变量声明,在将十进制转换回ASCII后,我们就可以获取要声明的变量的内容,并将其进行替换,以重建需要调用的命令行语法。

15.png

在对JScript进行反混淆之后,我们看到了一个强大的下载工具,恶意软件使用该下载工具尝试检索第三阶段恶意软件Payload并执行。下载工具负责执行以下过程:

1、首先尝试确定系统上是否已经存在第三阶段恶意软件Payload。

2、如果不存在,将创建随机生成的目录结构,一旦检索到该目录结构,将用于存储第三阶段的Payload。

3、然后,随机选择分发服务器域名和URL结构,并使用Windows实用程序bitsadmin尝试检索第三阶段的恶意软件Payload。

4、如果成功,则将存储最终的动态链接库(DLL),然后加载程序尝试使用ExtExportLoLbin加载DLL,并执行第三阶段恶意软件Payload。

3.4 分析第二阶段下载工具

在分发活动中使用的下载工具包含一些值得我们关注的功能,利用这些功能,攻击者所使用的分发基础结构将有能力弹性地阻止许多组织可能使用的URL或域名。

注意:在我们分析混淆后的下载工具时,我们将变量名称、函数名称、参数名称从其原始随机生成的值进行了更改,以提高可读性,并提升分析过程的效率。

下载工具首先检查位于以下目录的文件是否存在,以确定系统是否已经交付了第三阶段恶意软件Payload。

C:/Users/Public/h

如果文件存在,则读取其内容,因为其中包含第三阶段Payload的目录位置。

16.png

如果在受感染的系统上不存在包含第三阶段Payload位置的文件,则下载工具会生成并创建目录结构,在从攻击者控制的分发服务器检索到该目录结构后,将会存储第三阶段的Payload。恶意软件使用的目录结构存储在%APPDATA%的子目录中。

17.png

尽管对上述代码进行了一些修改(为便于阅读,添加了[A-Z]),但使用65-90之间随机选择的CharCode值调用JScript中存在的随机函数,然后将其转换回ASCII。这个CharCode范围表示从“A”到“Z”之间的所有ASCII字符的CharCode。

然后,将其写入最初查询的文件,以便恶意软件可以在随后的执行尝试中找到它。然后,创建这个目录结构,以便进行其余的加载过程。

接下来,恶意软件会检查这个目录位置是否存在名为“sqlite3.dll”的第三阶段恶意软件Payload。如果已经存在,它将检查文件的大小,如果文件大小小于10个字节,则会删除该文件,并继续加载过程。

18.png

如果成功找到了DLL并且该文件大于10字节,则加载程序会尝试加载该DLL,首先尝试找到并调用ExtExport.exe LoLbin,如果无法找到ExtExport.exe二进制文件,则会失败,返回到regsvr32。

19.png

在无法找到第三阶段DLL的情况下,加载程序将继续启动与一组分发服务器进行的HTTP通信,以检索并执行它。我们将这个过程进行简化,加载程序首先生成URL路径,用于后续检索DLL的Web请求。该过程将URL分为几个部分,使用随机化函数为每个部分生成一个值,然后将其串联起来,以形成完整的URL模式,从而实现这一目的。

20.png

要使用的分发服务器域名是通过调用附加函数生成的。该函数将选择“0”到“19”之间的随机数,然后与分发服务器域名列表进行比较。然后,将匹配的值存储在使用的变量中(如上图所示)。

21.png

在生成所有这些信息后,会将其编译并传递给使用Bitsadmin Windows实用程序的函数,以检索Payload,并将其存储在恶意软件的工作目录中。

22.png

在成功获取Payload之后,将使用前面提过的进程来尝试查找ExtExport.exe。如果未找到,则使用regsvr32加载DLL,并启动恶意软件Payload自身的执行。

在这里,还存在一个4000秒(或66分钟)的超时计数器,超时后即会退出。

23.png

下载程序从另外的两个分发服务器中检索其他二进制内容,这些文件直接作为第三阶段的一部分执行。

24.png

生成的HTTP GET请求如下图所示。

25.png

在上述这些活动中,传递的Payload是核心的Astaroth DLL。Astaroth是一个模块化的恶意软件家族,用于从受感染系统上的各种应用程序中窃取敏感信息。

3.5 Astaroth分析

在第二阶段期间检索的三个Payload都是二进制组件,这些组件将会被组合,以重建Astaroth DLL。将其组合后,将会执行DLL,以启动感染过程的最后一个阶段。我们对这些DLL中的函数进行了详细的分析,并确定了与其攻击操作相关的几个重要特征,将在下面着重介绍。

3.5.1 反分析/反沙箱机制

Astaroth具有一系列强大的反分析和反沙箱机制,可以用于确认是否继续感染过程。下图概述了这些检查过程。

26.jpg

在这些恶意活动中使用的Astaroth样本具有广泛的环境检查集,可以识别恶意软件是在虚拟环境中还是在分析环境中执行。如果任何一项检查没有通过,则该恶意软件使用以下命令行语法,强制重新启动系统:

"cmd.exe /c shutdown -r -t 3 -f"

下面是与这些反分析机制相关联的代码执行流程。

27.png

该恶意软件利用CreateToolhelp32Snapshot来识别可能安装在系统上的虚拟机,以查找是否存在与VirtualBox和VMware相关的内容。

28.png

恶意软件寻找虚拟机上常见的硬件设备。

29.png

检查Windows注册表(HKLM/HARDWARE/DESCRIPTIONS/System/SystemBios/Date)中存储的SystemBiosDate值,并确认该值是否等于“06/23/99”,这个值是VirtualBox虚拟机使用的默认值。

30.png

然后,该恶意软件使用EnumChildWindows检查受感染系统上正在运行的程序,以识别可能在受感染系统上运行的常见分析、调试和沙箱工具。

31.png

尝试识别通常用于恶意软件分析的以下程序:

    OllyDbg     ImmunityDebugger     WinDbg     IDA Pro     Process Explorer     Process Monitor     RegMon     FileMon     TCPView     Autoruns     Wireshark     Dumpcap     Process Hacker     SysAnalyzer     HookExplorer     SysInspector     ImportREC     PETools     LordPE     Joebox     Sandbox     x32dbg

恶意软件还会使用SbieDll.dll的GetModuleHandleA来检查系统上是否存在Sandboxie。

32.png

与检查Sandboxie类似,恶意软件还会检查是否存在“dbghelp.dll”,该文件是Microsoft发布的Windows调试工具的一部分。

然后,它会在以下位置检查Windows注册表中存储的值:

HKLM/Software/Microsoft/Windows/CurrentVersion/ProductId

恶意软件会寻找以下值:

    76487-644-3177037-23510     55274-640-2673064-23950

如果存在这些值,则表明主机环境是属于CWSandbox或JoeBox。

33.png

然后,该恶意软件列举与运行该恶意软件的帐户相关联的用户名,并检查用户名是否等于“CURRENTUSER”。

34.png

接下来,恶意软件尝试打开与SoftICE(DOS和Windows内核模式调试器)关联的虚拟设备“///.//SICE”和“///.//NTICE”。

35.png

它还会利用对IsDebuggerPresent的调用来尝试确定样本是否正在调试器中执行。恶意软件并不是以标准的方式导入函数,而是采取了动态加载的方式,这样就能避免静态分析样本过程中被检测到的风险。

36.png

通过手动检查进程环境块(PEB),可以确认调试器是否存在。

38.png

接下来,恶意软件尝试识别其自身是否正在WINE环境中执行,这一过程是通过加载ntdll.dll并检查函数“wine_get_version”和“wine_net_to_unix_file_name”是否存在的方式来实现的。

39.png

该恶意软件还利用对GetModuleHandleA的调用来检查是否存在沙箱环境中常见的几个其他DLL,包括:

    dbghelp.dll     api_log.dll     dir_watch.dll     pstorec.dll     vmcheck.dll     wpespy.dll

这些DLL文件对应着不同的沙箱平台,包括VMware、SunBelt Sandbox、VirtualPC和WPE Pro。

最后,该恶意软件尝试使用QEMU,确定其是否在模拟环境中执行。它通过检查与QEMU Guest Agent相关的“qemu-ga.exe”来完成此操作。

40.png

如前所述,如果上述这些检查中的任何一项没有通过,恶意软件都会终止执行,并强制系统重新启动。这也说明了Astaroth为逃避对恶意样本的分析,针对不同平台所做出的努力。

该恶意软件还利用GetSystemDefaultLangID和VerLanguageNameA来确认受感染系统所使用的语言,然后将语言名称与子字符串“portu”进行比较,以确定系统是否配置为使用葡萄牙语。如果使用的语言不是葡萄牙语,则该恶意软件将通过ExitProcess终止。

41.png

接下来,DLL开始循环,检查打开窗口的标题是否与“pazuzupan0155”相匹配。如果该窗口不存在,则恶意软件会调用WSAStartup,然后继续使用类似于以下的URL模式,从攻击者控制的服务器下载其他恶意Payload:

hxxp[:]//15uaer[.]coragem[.]cf/?17475461717677867

这次我们检索到的Payload是一个PE EXE,而不再是DLL。然后,恶意软件使用Process Hollowing的技术执行这个EXE。在这里,Process Hollowing将针对进程userinit.exe,并使用相同的进程。

42.png

如果确实存在一个标题为“pazuzupan0155”的窗口,则DLL将会调用sleep函数,并重复循环过程。这样一来,可以确保恶意软件能持续在受感染的系统上执行。如果删除了可执行文件,DLL将在下次执行循环时进行替换。这样还可以确保在攻击者更新版本后,可以从分发服务器上检索最新版本的恶意软件。

3.5.2 模块分析

通常使用样本所使用函数名称中存在的字符串值来跟踪Astaroth的版本。最新恶意活动中所使用的恶意软件版本名称为“gomorytrol”。与先前版本的Astaroth一致,这些版本名称都是以恶魔来命名。

43.png

其中的函数包括各种计时器、表单和线程,与此前版本基本相同。Astaroth的“gomorytrol”版本在内部称为157版本,下面列出了其他最新的版本。

“masihaddajjal”(152版本)

“forneus”(153版本)

“mammonsys”(154版本)

“pazuzupan”(155版本)

“lechiesxkw”(156版本)

“gomorytrol”(157版本)

需要注意的是,在我们分析Astaroth的过程中,该恶意软件的版本就有过多次更新,这说明了该威胁目前正在迅速发展。

一旦执行了Astaroth的Payload,将在以下位置检查是否存在使用备用数据流(ADS)存储的文件:

sqlite3.dll:MllkguwbwyshtY6767TGuddhyfyoomrifk

如果没有找到该文件,那么恶意软件将下载其他Payload,并通过ADS进行存储。

44.png

然后,该额外的Payload将被解密、加载到内存中并执行。它执行的是与感染的前一阶段中相同的一组反分析检查。此外,该恶意软件还会创建与各种分析环境、沙箱环境相关的字符串列表,然后使用GetModuleFilenameA和GetComputerNameA来检查系统的主机名和进程文件路径,并在当字符串匹配时终止执行。

45.png

恶意软件还会执行其他检查,以确认系统的语言配置。除了在先前阶段中使用过的方法之外,恶意软件还会检查系统是否使用英语,并在使用英语的环境上终止执行。

该恶意软件现在利用一个新的工作目录:

"%USERPROFILE%/Public/Libraries/jakator"

自从早些时间我们对恶意软件进行分析以来,恶意软件执行的许多核心信息窃取功能都没有发生变化。在最近的恶意样本中,攻击者特别关注从巴西银行的客户中获取银行信息。

3.6 命令与控制(C2)

与之前的分析相同,该恶意软件包含主要C2和辅助C2基础结构,也就是设置了冗余的C2机制。恶意软件与C2服务器通信的主要方式是利用YouTube频道说明来检索C2域名。攻击者已经建立了一系列YouTube频道,并正在利用频道说明来创建和传递僵尸网络节点应该与之通信的C2域名列表,以获取其他说明和更新。

46.png

与Astaroth相关的YouTube频道示例:

hxxps://www.youtube[.]com/channel/UC48obBfnUnI8i9bH2BmDGBg/about hxxps://www.youtube[.]com/channel/UC1XqzXRrROkMrIUbSxhATcQ/about hxxps://www.youtube[.]com/channel/UC2N4Ej53G7pKYJlA7lOj0SQ/about hxxps://www.youtube[.]com/channel/UC3YzBxaeuGNBFQRS4bfV8XA/about hxxps://www.youtube[.]com/channel/UCfgh5rFgl267MHRxkFttVLg/about hxxps://www.youtube[.]com/channel/UC96ziVgeQrKVPp1hofl1dsA/about hxxps://www.youtube[.]com/channel/UCbbq2Jm2Swj95AVFoHPMdRg/about hxxps://www.youtube[.]com/channel/UC76P-6J1BP39fjNGkudw1Jw/about hxxps://www.youtube[.]com/channel/UC-XIp1YC9eZPnNO9VBJTCLw/about hxxps://www.youtube[.]com/channel/UCA87kfgVEB8yshwYxUdSYLA/about hxxps://www.youtube[.]com/channel/UCbnDU85fizL0EWdZiwTYonA/about hxxps://www.youtube[.]com/channel/UCc2nVj0SBkr99-lFO1LCV-A/about

47.png

与此前的Astaroth版本相同,信息分隔符“|||”中间的内容包含已加密、Base64编码后的C2域名列表,如下所示:

48.png

在分析过程中,我们观察到了频道描述信息会进行周期性变化。这就提供了一种有效的方式,可以利用企业环境中通常允许的平台,根据需要调整C2基础结构。

该恶意软件还包含故障机制,该机制适用于YouTube通信失败的情况。在我们所分析的样本中,如果YouTube通信失败,恶意软件将使用以下URL作为C2通道。

hxxps://sombrio[.]xxapocalipsexx[.]space/amem//dir1/?4481829444804=184448294448&1= < Base64 encoded C2 message >

49.png

受感染系统的初始信标中包含有关环境的各种信息,其格式如下:

50.png

我们对恶意软件所使用的C2进行分析,结果表明,DNS解析后绝大部分都位于巴西,这也与分发过程、恶意软件执行前检查、恶意软件所针对性的金融机构所针对的国家相一致。

总体而言,Astaroth采用了一种不同寻常的方法来实现其域生成算法(DGA),并将C2更新传递给受感染的系统。由于恶意软件使用了多个冗余C2机制,因此能够非常好地应对其基础架构被取缔的情况。

四、总结

从本质上来说,Astaroth是一个将侧重点放在逃避检测的恶意软件,作者采取了所有可以采取的方式来确保这一机制的成功。恶意软件实施了复杂的反分析和反沙箱检查措施,以防止恶意软件被检测或分析。从最开始采用有诱惑力的诱饵,到层层混淆,再到最终暴露出恶意行为。然后,恶意软件以严格的标准进行检查,尽可能避开研究人员和沙箱所使用的工具或技术。由于存在这样的设计,导致该恶意软件很难被分析。在最后,为了增强其复杂性,攻击者还使用了YouTube等流行、合法的服务,将其命令与控制基础结构隐藏在加密、编码后的流中。

除此之外,该恶意软件家族的更新和修改速度惊人。这表明其开发者仍然在积极改进中。攻击者可以在其基础架构中快速移动和调整,几乎每周都变更一次,以保持领先于防御者。如果恶意软件将其目标范围扩大到更多的国家,那么就需要更多的防御者共同努力,以应对这一复杂的威胁。

随着攻击者不断寻找更多方式来产生大量的收入,这些以经济为目标的威胁也日趋于复杂化。Astaroth只是其中的一个案例,而逃避检测和反分析机制对于恶意软件是否成功来说至关重要。为此,对于企业来说,就需要采用多层技术与控制措施,以最大程度地降低其影响,或者至少能够有效地快速检测和补救。这其中就包括终端、域名、Web和网络的安全技术。通过将这些技术分层,企业可能就有能力检测到类似于Astaroth这样具有逃避检测功能的复杂恶意软件的存在。

五、防护措施

使用先进的恶意软件防护产品可以阻止这些威胁参与者使用的恶意软件的执行。AMP中的漏洞利用防护功能可以自动保护客户免受未知攻击的侵害。

云网络安全或网络安全设备的网络扫描功能可以防止访问恶意网站,并有能力检测这些攻击中使用的恶意软件。

使用电子邮件安全产品,可以阻止威胁参与者在攻击活动中发送的恶意电子邮件。

使用网络安全设备,例如下一代防火墙(NGFW)、下一代入侵防御系统(NGIPS),可以有效防范入侵。

使用安全互联网网关可以阻止用户连接到恶意域名、IP或URL。

开源Snort订阅者规则集用户可以在Snort.org上下载最新版本的规则包以保持最新状态,目前已经发布SID 53861以检测该威胁。

八、威胁指标

恶意域名列表:https://storage.googleapis.com/blogs-images/ciscoblogs/1/2020/05/85f1cf8c-astaroth_domains.txt

LNK文件哈希值列表:https://storage.googleapis.com/blogs-images/ciscoblogs/1/2020/05/8e5bc9c5-astaroth_lnk.txt

JScript哈希值列表:https://storage.googleapis.com/blogs-images/ciscoblogs/1/2020/05/75a46c5b-astaroth_jscript.txt

二进制哈希值列表:https://storage.googleapis.com/blogs-images/ciscoblogs/1/2020/05/1bb9c5f4-astaroth_binary.txt


Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51