Dark Crystal RAT的新变种分析
2020-06-01 11:00:00 Author: www.4hou.com(查看原文) 阅读量:306 收藏

FireEye Mandiant威胁情报团队通过跟踪网络攻击者及其使用的恶意软件发现了一种新型C#变种Dark Crystal RAT(DCRat)。目前,研究人员已经进行了沙盒测试,并对Dark Crystal RAT进行了反向工程以审查其功能和通信协议。通过发布此文,研究人员旨在帮助安全工作人员寻找Dark Crystal RAT的攻击迹象和其他明显迹象,并协助.NET恶意软件新手或遇到该样本的未来变种的其他恶意软件研究人员。

Dark Crystal RAT的发现过程

威胁情报小组为FLARE提供了一个EXE示例,该示例被认为包含Dark Crystal RAT,并且MD5哈希为b478d340a787b85e086cc951d0696cb1。通过沙盒测试,研究人员发现该示例生成了两个可执行文件,而其中一个可执行文件又生成了三个可执行文件。图1显示了通过沙箱测试发现的恶意可执行文件之间的关系。

Figure1.png

研究人员开始分析的第一个示例最终产生了五个可执行文件

有了沙盒测试结果,研究人员的下一步就是对每个可执行文件进行分类分析。研究人员发现原始样本和mnb.exe是一个删除程序,dal.exe是清除删除的文件的清理实用程序,daaca.exe和fsdffc.exe是Plurox的变体。然后,研究人员开始分析最终删除的样本dfsds.exe。研究人员在同一样本中发现@James_inthe_box的简短公开报告,将其标识为DCRat以及RAT和凭据窃取程序。研究人员还找到了包含相同样本的公共沙箱运行。其他公开报告描述了DCRat,但实际上分析了初始样本中与daca.exe捆绑在一起的daaca.exe Plurox组件。

由于dfsds.exe是缺少详细公开报告的RAT,研究人员决定进行更深入的分析。

初步分析

离开沙箱分析环境后,研究人员对dfsds.exe进行了静态分析。研究人员选择使用CFF Explorer开始静态分析,CFF Explorer是一个很好的工具,用于打开PE文件并将文件的内容分成易于查看的形式。如图2所示,在CFF Explorer中查看dfsds.exe后,该实用程序向研究人员表明它是.NET可执行文件。这意味着研究人员可以采用与本机C或C ++示例不同的方法来进行分析。否则,研究人员可能会用来缩小本机样本功能的技术(例如查看其导入的DLL,以及使用的DLL中的功能)对该.NET样本没有产生有用的结果。如图3所示,dfsds.exe仅从mscoree.dll导入函数_CorExeMain。研究人员本可以在IDA Pro中打开dfsds.exe,但是IDA Pro通常不是分析.NET样本的最有效方法。实际上,免费版本的IDA Pro无法处理.NET公共语言基础结构(CLI)中间代码。

Figure2.png

CFF Explorer显示dfsds.exe是一个.NET可执行文件。

Figure3.png

dfsds.exe的导入表没有用,因为它仅包含一个函数。

研究人员没有在dfsds.exe上使用像IDA Pro这样的反汇编程序,而是使用了.NET反编译器。幸运的是,对于逆向工程师来说,反编译器可以在更高的级别上运行,并且通常会产生与原始C#代码非常接近的结果。 dnSpy是一个很棒的.NET反编译器。 dnSpy的界面在Assembly Explorer中显示示例名称空间和类的层次结构,并在右侧显示所选类的代码。打开dfsds.exe时,dnSpy会告诉研究人员,该示例在链接时的原始名称为DCRatBuild.exe,其入口点为

Figure4.png

dnSpy可以帮助研究人员找到样本的入口点

Figure5.png

dnSpy将Main方法反编译为类似C#的代码

研究人员转到了从入口点方法调用的SchemaServerManager.Main方法,观察到它使用不同的整数参数多次调用ExporterServerManager.InstantiateIndexer,如图6所示。研究人员通过浏览ExporterServerManager.InstantiateIndexer方法,发现它是一个巨大的switch语句,具有许多goto语句和标签;图7显示摘录。这看起来不像典型的dnSpy输出,因为dnSpy经常重建原始C#代码的近似值,尽管缺少注释和局部变量名。这种代码结构加上代码引用CipherMode.CBC常量的事实,使研究人员相信ExporterServerManager.InstantiateIndexer可能是解密或反混淆例程。因此,dfsds.exe可能被混淆。幸运的是,.NET开发人员经常使用通过自动化方式可逆的混淆工具。

Figure6.png

SchemaServerManager.Main多次调用ExporterServerManager.InstantiateIndexer

Figure7.png

ExporterServerManager.InstantiateIndexer看起来像是一个反混淆例程

反混淆

De4dot是.NET的反混淆器,它知道如何撤销许多类型的混淆。在dfsds.exe(图8)上运行de4dot -d(用于检测)通知研究人员使用.NET Reactor对其进行反混淆处理。

8.png

dfsds.exe被.NET Reactor混淆了

在确认de4dot可以对dfsds.exe进行反混淆之后,研究人员再次运行它,以将示例反混淆到文件dfsds_deob.exe中(图9)。

9.png

de4dot成功对dfsds.exe进行了反混淆处理

对dfsds.exe进行反混淆处理后,研究人员在生成的dfsds_deob.exe上再次运行dnSpy。再次对SchemaServerManager.Main进行反编译时,结果有很大不同,如图10所示。将新输出与先前如图6所示的混淆后的版本进行对比,研究人员发现反混淆后的代码更具可读性。在反混淆的版本中,对ExporterServerManager.InstantiateIndexer的所有调用均被删除,这显然是一个字符串解码例程。相反,Assembly Explorer中显示的类名称没有更改,混淆器必须使用从标准列表中获得的毫无意义的名称,以不可恢复的方式替换原始的类别名称。接下来,研究人员注意到图10中的十行包含base64编码的数据。一旦成功地清除了示例的混淆,就可以继续提取其配置,并按照示例的代码路径获取其持久性功能和初始信标。

Figure10.png

对dfsds.exe进行混淆处理表明,该方法开始于某些路径操作,然后访问Base64编码的数据

配置,持久性和初始信标

回想一下,在图10中,研究人员发现SchemaServerManager.Main方法具有一个包含Base64编码数据的局部变量。对该数据进行解码可以揭示其中包含的内容。图11显示了解码后的配置:

11.png

在SchemaServerManager中解码base64数据Main显示一个配置字符串

图11显示了将数据解码为包含四个值的配置字符串:MHost,BHost,MX和TAG。研究人员分析了解析此字符串的代码,发现MHost和BHost用作其主要和备份命令与控制(C2)终端。请注意,图11中的MHost和BHost值相同,因此此示例没有备份C2终端。

在dnSpy中,可以为类和方法赋予有意义的名称,就像在IDA Pro中命名标识符一样。例如,方法SchemaServerManager.StopCustomer选择一个随机运行的进程的名称。通过右键单击StopCustomer标识符并选择Edit Method,可以将方法名称更改为PickRandomProcessName,如图12所示。

12.png

为方法分配有意义的名称会使继续分析程序更加容易

继续分析SchemaServerManager.Main方法发现该示例在重新启动后仍然存在,持久性算法可以总结如下:

1. 该恶意软件会选择一个随机运行进程的名称,然后将其自身复制到%APPDATA%和C:\。例如,如果选择了svchost.exe,则恶意软件会将其自身复制到%APPDATA%\ svchost.exe和C:\ svchost.exe。

2. 该恶意软件会创建一个快捷方式%APPDATA%\ dotNET.lnk,指向%APPDATA%下的恶意软件副本。

3. 该恶意软件会在登录用户的“启动”文件夹中创建一个名为dotNET.lnk的快捷方式,该快捷方式指向%APPDATA%\ dotNET.lnk。

4. 该恶意软件会创建一个快捷方式C:\ Sysdll32.lnk,指向C:\下的恶意软件副本。

5. 该恶意软件会在登录用户的“启动”文件夹中创建一个指向Sysdll32.lnk的快捷方式,该快捷方式指向C:\ Sysdll32.lnk。

6. 该恶意软件会创建指向%APPDATA%\ dotNET.lnk的注册表值HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \ scrss。

7. 该恶意软件会创建指向C:\ Sysdll32.lnk的注册表值HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \ Wininit。

经过持久性步骤后,该恶意软件会检查该恶意软件的多个实例:

1. 恶意软件会随机休眠5到7秒;

2. 该恶意软件会获取仍用base64编码的配置字符串的MD5哈希,并创建互斥对象,其名称为该哈希的十六进制表示形式。对于此样本,恶意软件创建了互斥对象bc2dc004028c4f0303f5e49984983352。如果由于另一个实例正在运行而导致失败,则恶意软件退出。

然后,该恶意软件会发出信标,这也使它可以确定是使用主主机(MHost)还是使用备用主机(BHost)。为此,恶意软件基于MHost URL构造信标URL,向信标URL发出请求,然后检查服务器是否以HTTP响应主体“ok”响应。如果服务器未发送此响应,则该恶意软件无条件使用BHost;该代码如图13所示。请注意,由于该示例具有相同的MHost和BHost值(来自图11),因此恶意软件使用相同的C2终端,而不管检查是否成功。

13.png

恶意软件根据MHost URL发出HTTP请求,以确定是使用MHost还是BHost

获取信标URL的完整算法如下:

1. 获取MHost URL,即 hxxp://domalo[.]online/ksezblxlvou3kcmbq8l7hf3f4cy5xgeo4udla91dueu3qa54
/46kqbjvyklunp1z56txzkhen7gjci3cyx8ggkptx25i74mo6myqpx9klvv3/akcii239my
zon0xwjlxqnn3b34w。

2. 计算完整的MHost URL的SHA1哈希,即56743785cf97084d3a49a8bf0956f2c744a4a3e0。

3. 从MHost URL中删除最后一个路径组件,然后从上方附加SHA1哈希,并设置?data = active。因此,完整的信标URL为hxxp://domalo[.]online/ksezblxlvou3kcmbq8l7hf3f4cy5xgeo4udla91dueu3qa54
/46kqbjvyklunp1z56txzkhen7gjci3cyx8ggkptx25i74mo6myqpx9klvv3/56743785cf
97084d3a49a8bf0956f2c744a4a3e0.php?data=active。

发出信号后,恶意软件将继续使用已配置的C2发送和接收消息。

消息和功能

在对dfsds.exe进行静态分析以确定其如何选择C2终端并确认C2终端URL之后,研究人员转向了动态分析,以收集示例C2流量并使其更易于理解生成和接受C2消息的代码。幸运的是,即使服务器未发送有效响应,该恶意软件仍继续向C2终端生成请求。为了在不允许恶意软件访问Internet的情况下侦听和拦截对C2终端(domalo[.]online)的请求,研究人员使用了FLARE的FakeNet-NG工具。图14显示了一些C2请求,表明FakeNet-NG捕获了恶意软件。

14.png

FakeNet-NG可以捕获恶意软件对C2终端的HTTP请求

通过将由恶意软件生成并在FakeNet-NG中捕获的消息与恶意软件的反编译代码进行比较,研究人员确定了其消息格式和类型。注意,上图中最后一个可见的HTTP请求包含一个正在运行的进程列表。通过跟踪反编译代码,研究人员发现方法SchemaServerManager.ObserverWatcher.NewMerchant生成了此消息。研究人员将该方法重命名为taskThread,并为其调用的其他方法分配了有意义的名称。此方法的结果代码显示在图15中。

Figure15.png

生成正在运行的进程列表并将其发送到C2终端的方法

通过进一步分析代码,研究人员确定了恶意软件用来将数据发送到C2终结点的URL的组成部分以及它们的构造方式。

信标

第一种URL是信标,在恶意软件启动时仅发送一次。对于此样本,信标URL始终为hxxp://domalo[.]online/ksezblxlvou3kcmbq8l7hf3f4cy5xgeo4udla91dueu3qa54/46kqbjvyklunp1z56txzk

hen7gjci3cyx8ggkptx25i74mo6myqpx9klvv3/< hash >.php?data=active,如前所述,其中< hash >是MHost URL的SHA1哈希。

GET请求,格式1

当恶意软件需要向C2发送数据或从C2接收数据时,它会发送一条消息。第一类消息,研究人员称为“格式1”,是对格式为hxxp://domalo[.]online/ksezblxlvou3kcmbq8l7hf3f4cy5xgeo4udla91dueu3qa54/46kqb

jvyklunp1z56txzkhen7gjci3cyx8ggkptx25i74mo6myqpx9klvv3/akcii239myzon0xwjlxqnn

3b34w/< hash >.php? type=__ds_setdata&__ds_setdata_user=< user_hash >&__ds_setdata_ext=< message_hash >&__ds_setdata_data=< message >的URL的GET请求,其中:

1.< hash >是MD5(SHA1(MHost)),对于此示例,它是212bad81b4208a2b412dfca05f1d9fa7。

2.< user_hash >是运行恶意软件的计算机的唯一标识符。它始终按.NET System.Environment类提供的SHA1(OS_version + machine_name + user_name)进行计算。

3.< message_hash >标识恶意软件发送给C2终端的消息类型, < message_hash >的计算方式为MD5(< message_type > + < user_hash >),其中< message_type >是标识消息类型的简短关键字,而< user_hash >的计算方法如上所述。

3.1恶意软件支持的每个命令都有< message_type >的值,,可能的值,请参见图19中所示的代码示例中的“msgs”变量。

3.2观察到这使得很难从日志流量中直观地观察消息类型,或为消息类型编写静态网络签名,因为由于包含< user_hash >,每台设备的消息类型都会有所不同。

3.3一种消息类型使用值u代替< message_hash >的哈希;

4.< message >是消息数据,不会以任何方式隐藏。

另一种普通消息是getdata消息,这些是对格式为hxxp://domalo[.]online/ksezblxlvou3kcmbq8l7hf3f4cy5xgeo4udla91dueu3qa54/46kqb

jvyklunp1z56txzkhen7gjci3cyx8ggkptx25i74mo6myqpx9klvv3/akcii239myzon0xwjlxqnn

3b34w/< hash >.php? type=__ds_getdata&__ds_getdata_user=< user_hash >&__ds_getdata_ext=< message_hash >&__ds_getdata_key=< key >的URL的GET请求,其中:

(1).< hash >和< user_hash >的计算方法与上面针对getdata消息所述的相同。

(2).< message_hash >的计算方法也与上面针对getdata消息所述的一样,但是描述了恶意软件期望在服务器响应中接收的消息类型。

(3).< key >是MD5(< user_hash >)。

期望服务器对由< message_hash >指定的消息类型进行适当响应的getdata消息进行响应。

GET请求,格式2

从恶意软件到C2的几种消息使用不同的格式,研究人员将其称为“格式2”。这些消息是格式为 hxxp://domalo[.]online /ksezblxlvou3kcmbq8l7hf3f4cy5xgeo4udla91dueu3qa54/46kqbjvyklunp1z56txzkhen7gj

ci3cyx8ggkptx25i74mo6myqpx9klvv3/akcii239myzon0xwjlxqnn3b34w/< user_hash >.< mes

sage_hash >的GET请求,其中:

1.< user_hash >的计算方法如上所述,适用于getdata消息。

2.< message_hash >的计算方法也与上面针对getdata消息所述的一样,但是描述了恶意软件期望在服务器响应中接收的消息类型。 < message_hash >也可以是字符串comm。

表1显示了可能的< message_types >,它们可以作为格式2消息的一部分并入< message_hash >中,以指示服务器需要哪种响应类型。与格式1消息相反,格式2消息仅用于少数< message_type >值。

Dark Crystal RAT的新变种分析(下)

表1:恶意软件使用特殊消息向服务器请求任务时的消息类型

POST请求

当恶意软件需要上传大文件时,它会发出POST请求。这些POST请求发送到hxxp://domalo[.]online/ksezblxlvou3kcmbq8l7hf3f4cy5xgeo4udla91dueu3qa54/46kqb

jvyklunp1z56txzkhen7gjci3cyx8ggkptx25i74mo6myqpx9klvv3/akcii239myzon0xwjlxqnn

3b34w/< hash >.php,在POST数据中具有以下参数:

1.名称是 < user_hash > + "." + < message_type >,其中< user_hash >是如上所述计算的,并且< message_type >是要上传的数据类型。

2.上传是一个将数据发送到服务器的文件;

表2显示了可能的< message_type >值以及要上传的文件类型。

Dark Crystal RAT的新变种分析(下)

表2:文件上传到服务器时的消息类型

功能

通过分析处理对通信消息的响应的代码(格式2),研究人员可以评估恶意软件的功能。表3列出了响应中使用的关键字以及每种功能的说明。

Dark Crystal RAT的新变种分析(下)

Dark Crystal RAT的新变种分析(下)

Dark Crystal RAT的新变种分析(下)

Dark Crystal RAT的新变种分析(下)

Dark Crystal RAT的新变种分析(下)

表3:DCRat的功能

Dark Crystal RAT服务器的概念验证

从Dark Crystal RAT收集有关其功能和C2消息格式的信息后,说明该功能并测试我们对消息的理解的另一种方法是编写一个概念验证服务器。下面是研究人员编写的代码片段,其中包含用Python编写的准系统DCRat服务器。与真正的RAT服务器不同,该服务器没有用户界面,攻击者无法选择并启动命令。相反,它具有发送给RAT的预先编写的命令列表。

服务器启动时,它将使用Python BaseHTTPServer开始侦听传入的Web请求(第166-174行),假定传入的POST请求包含RAT正在上载到服务器的文件。该服务器假定所有文件上传都是屏幕截图,并将其保存到“screen.png”(第140-155行)。对于GET请求,服务器必须区分信标,普通消息和特殊消息(第123-138行)。对于普通消息,仅将__ds_setdata消息打印到标准输出,而唯一支持的__ds_getdata消息类型是s_comm(屏幕截图通信),服务器以所需的屏幕截图尺寸对其进行响应(第63-84行)。对于comm类型的消息,服务器按顺序发送四种类型的命令:第一,它隐藏桌面图标;第二,它隐藏桌面图标。然后它会发出字符串“Hello this is tech support”。接下来,它显示一个消息框,要求输入密码;最后,它启动Windows计算器(第86-121行)。

图16显示了Dark Crystal RAT在已配置为将所有流量重定向到domalo.online到研究人员编写的概念验证服务器的系统上运行时的结果。

Dark Crystal RAT的新变种分析(下)

Dark Crystal RAT实例与概念验证服务器通信时的结果

继续深入分析

在对Dark Crystal RAT进行反向工程之后,研究人员继续进行分析,以了解可以找到哪些其他信息。研究人员分析的一个局限性是不想让样本与真实的C2通信,因此研究人员将其与互联网隔离。为了了解更多关于Dark Crystal RAT的知识,研究人员尝试了两种方法:一种是使用Tor浏览Dark Crystal RAT网站(files.dcrat[.]ru),另一种方法是查看其他人使用“真正的”Dark Crystal RAT服务器进行实验的YouTube视频。

Dark Crystal RAT网站

研究人员发现Dark Crystal RAT的网站位于files.dcrat[.]ru,如图17所示。观察到有一些下载RAT本身的选项以及一些插件,DCLIB扩展名与研究人员在RAT中找到的插件加载代码一致。

Dark Crystal RAT的新变种分析(下)

网站files.dcrat[.]ru允许用户下载Dark Crystal RAT及其一些插件

图18显示了一些其他插件,包括能够抵抗在虚拟机中运行,禁用Windows Defender以及禁用某些型号的网络摄像头指示灯的插件,但研究的样品中没有插件。

Dark Crystal RAT的新变种分析(下)

Dark Crystal RAT网站上列出的其他插件

图19在RAT页面上列出了软件下载,研究人员花了一些时间查看这些文件,发现了一些有趣的事情:

1.网站上列出的DCRat实际上是一个“构建器”,它封装了RAT的构建和供攻击者部署的配置。这与图4中显示的名称DCRatBuild.exe一致。在对构建器的简短测试中,研究人员发现它具有许可检查。当研究人员发现DCRat构建器的公开YouTube视频正在运行,研究人员就不会绕过它,研究人员将在后面展示。

DarkCrystalServer不是自包含的,它只是一个PHP文件,允许用户提供用户名和密码,从而导致其下载和安装服务器软件。由于需要提供凭据并与dcrat[.]ru通信(图20),因此研究人员没有进一步分析DarkCrystalServer。

Dark Crystal RAT的新变种分析(下)

RAT页面列出了用于RAT、服务器、API和插件开发的软件

Dark Crystal RAT的新变种分析(下)

DarkCrystalServer要求输入用户名和密码,并回调到dcrat[.]ru下载软件,因此研究人员没有进一步进行研究

在对iOS数字取证和事件响应(DFIR)进行例行调查之后,研究人员发现了一些可疑事件,这些事件早在2018年1月就影响了iOS上的默认邮件应用程序。研究人员分析了这些事件,发现了一个影响苹果iphone和ipad的可利用漏洞。ZecOps在很长一段时间内,在企业用户、vip和mssp上检测到该漏洞的多个触发器。

该漏洞的攻击范围包括向受害者的邮箱发送自定义电子邮件,使其能够在iOS 12上的iOS MobileMail应用程序或在iOS 13上发送的邮件中触发该漏洞。

几乎没有可疑事件包括黑客通常使用的字符串(例如414141…4141),经过确认,我们验证了这些字符串是由电子邮件发送者提供的。值得注意的是,尽管有证据显示证实了受攻击者的电子邮件是由受害者的iOS设备接收和处理的,但本应接收并存储在邮件服务器上的相应电子邮件却丢失了。因此,我们推断这些电子邮件可能已被有意删除。

我们知道从2018年1月开始在iOS 11.2.2上发生了多个触发事件,当前,攻击者可能正在滥用这些漏洞,详情请点此。在研究触发这些漏洞的过程中,我们已经看到一些可疑受害者之间的相似之处。

受影响的版本:

1.所有经过测试的iOS版本都容易受到攻击,包括iOS 13.4.1;2.根据我们的发现,这些漏洞都是在iOS 11.2.2或更高版本上主动触发的;3.iOS 6及更高版本容易受到攻击,iOS 6于2012年发布,iOS6之前的版本可能也会受到攻击,但我们尚未检查较早的版本。因为在iOS 6发行时,iPhone 5已上市。

研究人员发现,MIME库中MFMutableData的实现缺少对系统调用ftruncate()的漏洞检查,该漏洞导致越界写入。我们还找到了一种无需等待系统调用ftruncate失败即可触发OOB-Write的方法。此外,我们发现了可以远程触发的堆溢出。众所周知,这两种漏洞都是可以远程触发的。OOB写入漏洞和堆溢出漏洞都是由于相同的漏洞而引发的,即未正确处理系统调用的返回值。远程漏洞可以在处理下载的电子邮件时触发,在这种情况下,电子邮件将无法完全下载到设备上。

受影响的库:/System/Library/PrivateFrameworks/MIME.framework/MIME;易受攻击的函数:-[MFMutableData appendBytes:length:]。除了手机邮件应用暂时放缓外,用户观察不到任何其他异常行为。在iOS 12上尝试利用漏洞(成功/失败)之后,用户只会注意到邮件应用程序突然崩溃。在iOS13上,除了暂时的速度下降之外,这不会引起注意。如果随后进行另一次攻击并删除电子邮件,则失败的攻击在iOS 13上不会明显。

在失败的攻击中,攻击者发送的电子邮件将显示消息:“此消息无内容。”

崩溃取证分析

用户经历的部分崩溃(多次崩溃中的一部分)如下;崩溃的指令是stnp x8,x9,[x3],这意味着x8和x9的值已被写入x3并由于访问存储在x3中的无效地址0x000000013aa1c000而崩溃。

为了找出导致进程崩溃的原因,我们需要看一下MFMutableData的实现。

下面的调用树是从崩溃日志中提取的,只有选定的一些设备才会发生崩溃。通过分析MIME库,-[MFMutableData appendBytes:length:]的伪代码如下:在崩溃发生之前执行以下调用堆栈:如果数据大小达到阈值,则使用文件存储实际数据,当数据更改时,应相应更改映射文件的内容和大小,系统调用ftruncate()被inside -[MFMutableData _flushToDisk:capacity:]调用以调整映射文件的大小。ftruncate的帮助文档是这样说明的:如上所示,如果调用失败,则返回-1,并且全局变量errno指定漏洞。这意味着在某些情况下,此系统调用将无法截断文件并返回漏洞代码。但是,在ftruncate系统调用失败时,_flushToDisk无论如何都会继续,这意味着映射的文件大小不会扩展,执行最终会到达appendBytes()函数中的memmove(),从而导致mmap文件出现超出边界(OOB)的写入。

YouTube视频

研究人员发现了一些DCRat构建器和服务器的YouTube演示,YouTubehttps://www.youtube.com/watch?v=ElqjEzv9vog用户LIKAR在YouTube上展示了Dark Crystal RAT。开发者演示了如何在具有两个活动RAT实例的服务器上使用Dark Crystal RAT软件。在视频过程中,开发者浏览了软件中的各个屏幕。这使你很容易设想网络威胁将如何使用RAT,并证实研究人员对它如何工作的怀疑。

图21显示了在3:27时从视频中捕获的内容。请注意,Dark Crystal RAT构建器软件将DCRatBuild包称为“服务器”,而不是客户端。尽管如此,请注意其中一个选项是Java或C#(Beta)类型。通过观看此YouTube视频并进行其他一些背景研究,研究人员发现Dark Crystal RAT在Java版本中已经存在了一段时间。 C#版本相对较新,这就是为什么研究人员找不到有关它的详细报告的原因。

Dark Crystal RAT的新变种分析(下)

YouTube演示显示,以前存在Java版本的Dark Crystal RAT,而研究人员分析的C#版本为beta版

图22显示了视频中6:28的另一个捕获,屏幕上显示的功能与“msgbox”、“browseurl”、“clipboard”、“speak”、“opencd”、“closecd”以及表6中发现和列举的其他功能很好地排列在一起。

Dark Crystal RAT的新变种分析(下)

YouTube演示证实了研究人员在逆向工程中发现的许多Dark Crystal RAT功能

总结

在本文中,研究人员分析了威胁情报团队提供给他们的样本及其所有组件。通过最初的分类,研究人员发现其“dfsds.exe”组件是Dark Crystal RAT。研究人员发现Dark Crystal RAT是.NET可执行文件,并对其进行了反向工程。研究人员提取了恶意软件的配置,并通过动态分析发现了其C2通信的语法。研究人员实施了一个小型概念验证服务器来测试可以发送给恶意软件的命令的正确格式,以及如何解释其上传的屏幕截图。最后,研究人员再次介绍了实际的攻击者如何下载和使用Dark Crystal RAT。

综上所述,表4给出了此版本的Dark Crystal RAT(MD5:047af34af65efd5c6ee38eb7ad100a01)的攻击指标。

本文翻译自:https://www.fireeye.com/blog/threat-research/2020/05/analyzing-dark-crystal-rat-backdoor.html如若转载,请注明原文地址:


文章来源: https://www.4hou.com/posts/kD8Y
如有侵权请联系:admin#unsafe.sh