0x00 简述
Phobos大家族是近期发生的一种勒索软件,在2019年初初次被科学研究工作人员发觉。此后逐渐,该恶意程序不断被发觉存有新的变种。与原来变种对比,新的变种不但持续改善其进攻方式,而且还常常改动加密文件的后缀名。虽然该勒索软件不断的时间段非常短暂性,但有许多受害者都表明,她们缴纳了敲诈勒索的保释金,但文档却没被修复。
两个星期前,FortiGuard试验室从郊外捕获了一个新的危害样本。这是一个Microsoft Word文本文档,含有一个故意宏,用以散播Phobos勒索软件名叫EKING的变种。大家对该样本开展了进一步的剖析,在这篇研究内容中,大家将呈现该变种是怎样感柒受害者的系统软件,及其它是怎样在受害者机器设备和分享网络文件夹名称上扫描仪并应用AES优化算法加密文件的。
0x01 在Word中开启捕获的样本
打开Word文本文档以后,会展现出一条警示,标示受害者点击淡黄色栏中的“开启內容”按键以启用宏,如下图所示。
因为宏很有可能包括恶意程序,因而在默认设置状况下,MS Office Word会展现一个“安全警告”,警示客户该文本文档很有可能出现风险性。随后,客户可以经过点击“开启內容”按键来选择是不是实行宏。
MS Office Word中的样本內容。
可是,这一文本文档中的安全警告是一个陷阱。根据查询宏代码,大家发觉在其中有一个名叫Document_Close()的内嵌文档函数公式,当MS Office Word撤出时,会全自动启用该函数公式。换来讲之,当受害者关掉文本文档时,可能实行虚假的宏代码。这类方法还能够绕开一些沙盒解决方法,FortiSandbox将这一故意Word文档鉴别为风险性手机软件(Riskware)。
宏代码十分简单清楚,它从开启的样本中获取一个Base 64编号的块,并存放在坐落于C:\Users\Public\Ksh1.xls的本地文件中。随后,根据启用指令“Certutil -decode C:\Users\Public\Ksh1.xls C:\Users\Public\Ksh1.pdf”将文档编解码为另一个文档。“Ksh1.pdf”是通过Base64编解码后的文档,事实上是一个PE文档(DLL文件)。下边是宏代码的截屏,展现了将在哪里将Base64编号后的文档“Ksh1.xls”编解码为“Ksh1.pdf”。
通过Base64编解码后获取的文档:
宏的最终一项工作是运行命令“Rundll32 C:\Users\Public\Ksh1.pdf,In”来运作编解码后的PE文档“Ksh1.pdf”。编解码后的PE文档“Ksh1.pdf”是包括导出来函数公式“In”的DLL文件,在以上命令中由“Rundll32.exe”启用。
导出来函数公式In的ASM编码:
图中展现了“Ksh1.pdf”的导出来函数公式In的ASM编码。依据我还在ASM编码边上插进的注解,大家非常容易了解,它最先在“C:\Users\Public\cs5”处建立了一个新的文件目录。随后,根据添加API “URLDownloadToFile()”从URL“hxxp://178[.]62[.]19[.]66/campo/v/v”下载文件并存放到“C:\Users\Public\cs5\cs5.exe”。最终,根据添加API “CreateProcessA()”来运作免费下载的“cs5.exe”文档。在这儿,免费下载URL字符串数组和详细文件路径字符串数组都是在DLL文件“Ksh1.pdf”中开展了硬编码。非常值得留意的是,免费下载的文档“cs5.exe”是Phobos的Payload文件。
0x02 剖析Payload EXE文档
“C:\Users\Public\cs5\cs5.exe”是Phobos的EKING变种的Payload,该变种应用了不明的加壳工具,如下图是Exeinfo PE表明的結果。
受保障的Phobos Payload EXE文档:
Phobos具备AES数据加密的配备块,在其中包括很多配备信息内容(在大家剖析的变种中包括69项)。他们在一个函数公式中被破译,随后伴随着索引号主要参数一起被应用。在其中还包括用以加密文件的新后缀名字符串数组、用以转化成数据加密密匙的数据信息、文件扩展名目录、Phobos的版本信息、受害者的敲诈勒索信息提示这些。
在下面的图,我们可以见到对具备新后缀名的加密文件“.id[<
从配备块破译新的后缀名:
0x03 运行第二个过程并实行2组指令
当“cs5.exe”运作时,它根据添加API CreateProcessWithTokenW() 及其来源于Explorer.exe过程的动态口令来建立本身的第二个过程,进而让第二个过程在Explorer.exe动态口令的安全性前后文中运作。这样一来,它就具备在受害者的系統上读写能力大量文档需要的权利。
Phobos在2个建立的进程中实行2组指令。
下边列举了第一组指令,在其中包括我加上的注解:
根据删掉Windows系统用以还原系统的卷影团本,受害者没法再应用这一作用来复原数据加密的文档。勒索软件还能够避免受害者根据全自动启动修复作用复原文档,或是从备份数据文件目录中复原文档。
第二组指令关掉了受感柒系统软件上的Windows服务器防火墙,如下所示所显示。
0x04 加上自动运行项
该恶意软件还从加密的配置块中解密字符串“Software\Microsoft\Windows\CurrentVersion\Run”(索引号为0x11),这也是注册表文件的子途径。随后,会与此同时在HKEY_LOCAL_MACHINE和HKEY_CURRENT_USER下建立一个自动运行项“cs5”。下面的图是在HKEY_CURRENT_USER下加上的自动运行项的截屏。
加上自动运行项“cs5”:
除开将该项加上到系统软件注册表文件的自动运行组以外,勒索病毒还会继续将“cs5.exe”拷贝到2个启动文件夹中,分别是“%AppData%\Microsoft\Windows\Start Menu\Programs\Startup”和“%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup”。下面的图呈现了将“cs5.exe”拷贝到2个启动文件夹中的ASM编码精彩片段。
将Payload文档拷贝到启动文件夹中:
在Windows运作时,Windows系统会全自动实行这两个文件夹名称中的可执行程序。这代表着,Windows将在运行流程中运作4个“cs5.exe”文档以确保恶意软件的分布式锁。大家不用顾虑会发生争执,由于Phobos应用了Mutex目标来保证仅有一个过程已经运作。假如具有同样的Mutex目标,则别的的“cs5.exe”过程可能撤出。
0x05 Phobos在受害人系统软件上实行的主要每日任务
针对一个勒索病毒而言,其关键每日任务便是加密受害人的文档,随后开展敲诈勒索,以获得对资料的解密。在这儿,大家将深入分析Phobos的EKING变异是怎样实行这一目标的。
为了更好地提升特性,它建立了好几个进程来扫描仪和加密受害人系统软件上的文档。除此之外,它采用了很多Event目标来操纵和同歩这种进程的进展。
5.1 用以停止过程的进程
根据应用进程的方法,勒索病毒可以停止特殊名字的41个过程(在目录中特定)。名字目录一样也是存放在配置块中,其索引号为0x0a。
在别的勒索病毒大家族中,也常常会发觉同样的过程名字目录,这种勒索病毒也会开展同样的实际操作。
这种过程归属于MS SQL Server、Oracle Database、VMware、Panda Security、MySql、FireFox、SQL Anywhere、RedGate SQL Backup、MS Excel、MS Word、MS Access、MS PowerPoint、MS Publisher、MS OneNote、MS Outlook、The Bat!、Thunderbird、WordPad等商品。
Phobos会再次停止这种应用软件,以驱使他们释放出来现阶段开启的所有文档,进而可以对它进行加密。
5.2 用以扫描件并开展加密的进程
该线程的进程调用函数API GetLogicalDrives()来获得并枚举类型受害人系统软件上的全部逻辑驱动器,例如“C:\”、“D:\”、“E:\”这些。随后,它为每一个逻辑驱动器建立2个扫描线程。这代表着,每一个逻辑驱动器中的文档都是会应用2个进程开展解决。
忽视2个系统软件文件夹名称:
为了防止对受害人的Windows系统开展毁坏,它会忽视2个系统软件文件夹名称以及子文件夹名称,不对这其中的资料开展加密,这两个文件夹名称分别是“%WinDir%”(通常为“C:\Windows”)和“%ProgramData%\Microsoft\Windows\Caches”。下面的图呈现了Phobos检验现阶段途径(“\\?\D:”)是不是与它必须忽视的2个系统软件文件夹名称配对。
如前所述,勒索病毒建立了2个进程来扫描仪每一个控制器中的文档。一个进程用以一般扫描仪(一个文档然后一个文档),另一个进程仅用以与数据库查询有关的资料的独特扫描仪。我们可以觉得这种文档对受害人的实际价值要超过其他文件。随后,会根据下列后缀名的次序(索引号为0x06)来扫描仪数据文件:
此外,勒索病毒还包括2个后缀名清除目录。在其中一个涵盖了Phobos先前曾采用过的加密文件扩展名,如下所示所显示(索引号为0x07):
另一个目录包括此变异用以向受害人表明敲诈勒索信息内容的文档,及其一些Windows系统文档,如下所示所显示(索引号为0x08):
扫描线程在调用函数中运用这两个清除目录来过虑文档,以依据其规范开展加密。与此同时,Phobos仍在每一个扫描线程中建立了一个加密进程,用以对受害人的资料开展加密。那麼,扫描线程和加密进程怎样协调工作呢?扫描线程再次扫描件,并将具备详细途径的文件夹名称拷贝到公共性缓冲区域中,在挑选一个文档后会设定一个事情。接着,加密进程就可以从公共性缓冲区域中获得文件夹名称并开展加密。
5.3 加密优化算法和密匙的应用
Phobos使用AES优化算法的CBC方式做为其加密文档的加密优化算法。在我的研究中发觉,Phobos的这一变异沒有应用Windows给予的用以AES的内嵌Crypto API,反而是自主完成了AES的作用。
我们知道,当大家在讨论AES CBC加密和解密时,通常会提及“IV”和“Key”。
针对其密匙长短,我们知道Phobos应用256位密匙(20H字节数),这也是最強的文档加密。除此之外,它应用非对称加密的公与私钥登陆密码系统软件来维护AES密匙。公匙包括在索引号为0x2的配置块中,在解密后应用。
AES密匙和早已加密的公匙:
AES密匙是应用10H字节数的任意数据信息和10H字节数的数据信息,由解密的公匙转化成的。如下图所示,在运行内存对话框的最上边转化成了AES密匙(20H字节数),下面是加密的AES密匙(80H字节数)的有关数据信息,这一部分数据信息是应用卷系列号“%systemdrive%”(例如受害者系统上的“C:\”)和公匙转化成的,与此同时还包含函数Sub_401706中的一些破译后的变量定义值。在数据加密的AES密匙以后也有四个字节数,在其中包括以上两部份的CRC32哈希值。
一旦受害者给予了系统控制器卷系列号(应用Phobos中的API GetVolumeInformationW())、数据加密的AES密匙及其别的变量定义值数据信息,网络攻击就可以应用其拥有的公钥来复原AES密匙。数据加密的AES密匙将被记载在数据加密的资料中,稍候大家将剖析数据加密的文档构造。正是如此,在敲诈勒索信息提示中规定了受害者给予系统控制器的卷系列号。
IV(原始空间向量)数据信息的尺寸为10H字节数,通常是随机生成的。它也像数据加密的AES密匙一样,纪录在数据加密的资料中。IV与AES密匙一同用以数据库加密,就好似MD5优化算法中的盐一样。
在得到IV数据信息和AES密匙以后,就可以对数据加密的资料开展破译。
5.4 用以加密文件的进程
如上所述,数据加密进程是由扫描线程运行。在扫描线程选择文件后,便会将该文件的完善途径拷贝到数据加密进程的公共缓冲区域,该缓冲区由扫描线程通告(设定事情目标)。
随后,它将配备块中的文件格式字符串数组(索引号0x04)破译为这些加密文件的新文件扩展名,如下所示所显示,在其中的“<
具备新后缀名的加密文件:
这一全过程仅仅应用新的后缀名,对加密文件开展重新命名的实际操作。这一次,由扫描线程挑选和过虑的资料是“\\?\E:\test_file.txt”,其加锁的文件夹名称是“\\?\E:\test_file.txt.id[[581F1093-2987].[wiruxa@airmail.cc].eking”。
随后,再次载入所选择文件的內容(例如“E:\test_file.txt”)。我们知道AES数据加密块的尺寸固定不动为10H字节数。因而,假如要数据加密的数据信息尺寸沒有与10H两端对齐,就要应用添充数据信息来额外在原始记录的后边,以处理该问题。Phobos勒索病毒应用的添充标识符为“00”。
启用AES_CBC_Encrypt()函数公式来加密文件內容:
图中表明了Phobos启用AES_CBC_Encrypt()函数公式,其主要参数arg0是一个密匙目标(AES_CTX Struct),在其中包括用以加密文件內容的IV和密匙(添充了三个“00”)。
数据加密后,Phobos根据添加API WriteFile()将保密储存到加密文件中(例如“E:\test_file.txt.id[[581F1093-2987].[wiruxa@airmail.cc].eking”),如下图所示。
将保密储存到加密文件中:
数据加密的资料內容由两部份构成,第一部分是初始文档主要内容的保密,第二部份是一组数据信息,大家称作decryption_config_block,它用以破译第一部分。下面的图呈现了加密文件內容的截屏,大家关键剖析一下decryption_config_block中包括的內容。
数据加密后的资料內容实例:
前10H字节数(应用鲜红色标识)是加锁的初始文档內容。后边的40H字节数(应用深蓝色标识)是一个数据加密块,在其中包括一些变量定义值及其初始文件夹名称,这种文档应用同样的AES密匙和IV开展数据加密。接着的14H字节数“00”可以视作是数据信息定界符。后边的10H字节数(应用灰黑色标识)是这一文档的IV数据信息。下面的Dword 0x03承担通告初始文档內容额外添充的尺寸。有80H数据信息块(应用翠绿色标识)是加锁的AES密匙的有关数据信息,该数据在扫描线程中转化成,而且针对不一样的扫描线程而言是不一样的。下边的Dword 0xF2是全部decryption_config_block的尺寸。最终的6个字节数“4B E5 1F 84 A9 77”是以配备块中索引号为0x00的部位破译得到的。
以后,Phobos要做的最终一件事便是启用API DeleteFileW()来消除受害者系统中的初始文档。
5.5 扫描仪网络共享資源
该进程函数公式用以网络共享資源。Phobos应用主要参数dwScope的不一样值来多次启用API WNetOpenEnum()。这种变量值分别是RESOURCE_CONNECTED、RESOURCE_RECENT、RESOURCE_CONTEXT、RESOURCE_REMEMBERED和RESOURCE_GLOBALNET。
RESOURCE_CONNECTED:例举全部现阶段接入的資源;
RESOURCE_RECENT:例举全部近期联接的資源;
RESOURCE_CONTEXT:仅例举启用方的互联网前后文中的資源;
RESOURCE_REMEMBERED:例举全部记牢的(长久)联接;
RESOURCE_GLOBALNET:例举互联网上的任何資源。
在这儿,应用到WNetOpenEnumW()和WNetEnumResourceW()这两个API来枚举类型网络共享資源。
在取得成功获得到这其中的一种資源后,Phobos将应用上边的資源的详细详细地址(例如\\?\UNC\{resource name}\{folder name}),运作5.2中常表述的2个扫描仪过程,逐渐扫描仪并挑选在其中的文档。接着,如5.4中常表述的,扫描线程运行数据加密进程,并对选用的资料实现数据加密。
对于在其中一个资源共享,提前准备运行扫描线程:
图中展现了根据RESOURCE_CONNECTED获得的资源共享(“\\?\UNC\VBoxSvr\vbox_share_folder”),该資源启用Sub_405840函数公式,进而对于这一资源共享运行新的扫描线程。
5.6 用以监控和扫描仪新逻辑驱动器的进程
大家以前剖析过,Phobos会扫描仪当地逻辑驱动器及其网络共享資源上的文档,这种全是受害者系统现阶段的任何資源。
殊不知,也有此外一个进程,其关键目标是监控新的逻辑驱动器。例如,受害者假如联接了U盘或手机上,Windows系统会将其视作新的逻辑驱动器。这一流程会被这一线程捕获。该进程每秒钟运作一次检验,并对监测到的一切新逻辑驱动器运行2个新的扫描线程。下面的图呈现了该进程作用的逻辑结构伪代码。
用以扫描仪新逻辑驱动器的伪代码:
0x06 向受害者表明敲诈勒索信息提示
Phobos的主线任务程会等候全部扫描线程和数据加密进程进行工作中。随后,将info.hta(HTML版本号敲诈勒索信息提示)和info.txt(TXT版本号敲诈勒索信息提示)这两个文档拖放进桌面上及其受害者系统上可以用逻辑驱动器的网站根目录中。它还应用“open”指令启用API ShellExecuteExW(),以在受害者的显示屏幕上开启HTML版本号的info.hta,如下图所示。
向受害者表明敲诈勒索信息提示:
0x07 汇总
在这篇文章中,我对Phobos勒索病毒的EKING变异开展了详细分析。大家讲解了怎样从初始MS Word文本文档样版中免费下载Payload文档(cs5.exe),及其Phobos采用了什么对策来使其在受害者的系统上长久存有。
大家详细分析了Phobos的主要每日任务——扫描仪并数据加密受害者系统上的文档。通过研究以后,大家目前了解,它不仅会扫描仪逻辑驱动器上的文档,还会继续扫描仪网络共享資源和新联接的逻辑驱动器。在最终,大家剖析了Phobos的变异是怎么使用好几个进程来进行其工作任务的。
最终,大家表述了Phobos在进行数据加密后怎样向受害者表明其敲诈勒索信息提示。
为了更好地保障机器设备免遭恶意程序的进攻,大家提议不必开启不会受到信赖由来的电子邮箱配件。
0x08 安全防护计划方案
应用Web过虑、防病毒软件和內容网络安全产品,可以预防Phobos变异的进攻,例如:
FortiGuard Web过虑服务项目将免费下载URL标识为“恶意网站”;
FortiGuard防病毒软件服务项目将Word文件和免费下载的Payload文档检验为“VBA/Agent.KBU!tr”和“W32/Phobos.HGAF!tr.ransom”并阻拦;
FortiSandbox将Word文档检验为风险性手机软件;
应用FortiMail的用户可以检查到初始Word文档,并根据CDR服务项目进一步加强维护,该服务项目可以用来清除Office文档中的宏威胁。
除此之外,为了避免机器设备遭到到恶意程序进攻,大家提议用户不必开启不会受到信赖由来的电子邮箱配件。大家强烈建议对全部最后用户开展有关怎样辨别潜在性故意电子邮件的学习培训。
0x09 威胁指标值
9.1 网址
hxxp://178[.]62[.]19[.]66/campo/v/v
9.2 样版SHA-256
Word文档:
667F88E8DCD4A15529ED02BB20DA6AE2E5B195717EB630B20B9732C8573C4E83
Phobos Payload:
6E9C9B72D1BDB993184C7AA05D961E706A57B3BECF151CA4F883A80A07FDD955
0x0A 参照
https://id-ransomware.blogspot.com/2017/10/phobos-ransomware.html
文中翻譯自:https://www.fortinet.com/blog/threat-research/deep-analysis-the-eking-variant-of-phobos-ransomware倘若转截,请标明原文详细地址。