一个有趣的利用Equation对象的Remcos RAT变种

2018年5月4日 235点热度 0人点赞 0条评论

图片

FortiGuard实验室捕获了一个利用微软去年11月修补的Microsoft Office漏洞CVE-2017-11882的恶意软件样本。

 

该样本是一个包含Equation对象的RTF文档,目前分析看来是Remcos RAT版本“2.0.4 Pro”的新变种,感染后能够控制受害者的个人电脑。

 

样本名称“RFQ File.doc”,RTF文件。公式对象(攻击数据)包含在“\ * \ objdata”目标中。

 

它为了避免被网络安全产品(如防火墙设备和Anti-AV软件)检测,攻击者在实际的方程对象前添加了大量填充数据,甚至使用ASCII控制字符将实际的方程对象数据拆分为很多部分,如空格(0x20),制表符(0x09),回车符(0x0D)或换行符(0x0A)。这些控制字符被解析器MS Office Word忽略。这是避免安全产品的一种逃避方法。

 

图片

图1.部分原始RTF示例内容

 

为了清楚地看到真实的公式对象数据,在删除了无用的填充数据,并恢复了拆分的数据后,可以在图2中看到整个数据,恶意shellcode就在其中。

 

图片

图2.恢复的Equation对象数据

 

当这个RTF在MS Office Word中打开时,会发生缓冲区溢出,并执行shellcode。由于核心shellcode和数据是加密的,数据首先被解密,然后跳转到执行核心shellcode。图3提供了解密的核心shellcode和字符串内容的局部视图。

 

图片

该shellcode是一个下载器。 它的唯一目的是将文件从“hxxp://persianlegals.com/wp-includes/js/gist.exe”下载到“%APPDATA%\ namegh.exe”中,然后运行下载的文件。

 

图4显示它调用API CreateProcessW来运行下载的文件,并调用API ExitProcess来终止EQNEDT32.EXE的运行。

 

图片

下载的文件是一个自解压文件,这意味着它包含压缩存档和一个小程序,将其解压缩到指定的文件夹中,然后执行其中一个文件。

 

对于这个实例,它将文件提取到“%temp%\ 01644247 \”文件夹中,将整个文件夹设置为Hidden属性,然后使用参数“%temp”运行文件“%temp%\ 01644247 \ enj.exe” %\ 01644247 \ cgj = agr“。 图5显示了测试环境中该文件夹的屏幕截图。

 

图片

文件“enj.exe”毫无疑问是一个AutoIt脚本解释程序。 程序版本是3.3.8.1,虽然它的官方网站显示最新版本为3.3.14.5。 文件“cgj = agr”是恶意的AutoIt脚本,“ujb.mp4”是配置文件,它将被“cgj = agr”脚本读取和解析。

 

将“cgj = agr”放入任何文本编辑器中,您可以看到内容充满了“#xZQMLS????????????????????????????????????????????????? “字符之间插入真实的脚本代码。

 

“#”的起始行可以被认为是对AutoIt的注释。 通过删除所有“#”行,我们可以得到清晰的脚本,如图6所示,结果发现代码被混淆了。

 

图片

变量和方法的所有名称都是没有意义的,这使得很难执行静态分析。所以开始手动去混淆,并在AutoIt Debugger中调试它。

 

通过检查下面的图7,使用去混淆代码,很容易理解它将要做什么。

 

图片

 它从“ujb.mp4”读取配置数据,然后从中提取和解密“[sData]”数据(即在“[sData]”和“[esData]”之间)。 之后,它将解密的数据写入一个随机名称文件。

 

这个新创建的文件将位于与“cgj = agr”相同的路径中,其名称将由5个随机字母组成。 这次是“SENPR”。 “SENPR”是另一个混淆的AutoIt脚本。

 

脚本也读取“ujb.mp4” - 配置文件 - 并从中加载一些设置值,这可以更改代码分支。

 

通过遵循其主要分支,它做了以下事情:

 

1.它将自身添加到系统注册表中作为自动运行项目。这允许恶意软件在系统启动时自动启动。

 

它还在“HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run”中添加一个名为“WindowsUpdate”的新密钥。图8显示新项目已添加到注册表中。文件名是短名称格式。

 

图片

2.然后从配置文件中提取“[Data]”数据(即在“[Data]”和“[eData]”之间),并将其解密以获得PE文件。然后它会在.Net框架安装目录 - “RegSvcs.exe”中获取exe文件的完整路径,该文件将在稍后执行。 (“RegSvcs.exe”是一个.NET服务安装工具)。

 

为了防止其代码被轻松分析,它有一个x86 ASM二进制代码,它通过调用CreateProcess运行带有挂起状态的“RegSvcs.exe”,然后用解密的PE文件替换它的代码。

 

这允许解密的PE文件作为“RegSvcs.exe”执行,以便在受害者的机器上执行恶意行为。在下面的分析中将它称为假“RegSvcs.exe”。

 

解密后的PE文件从未保存到本地文件中。相反,它总是存在于内存。这个PE文件是Remcos RAT的主要组件。图9显示了执行x86 ASM代码以在“RegSvcs.exe”进程中运行假“RegSvcs.exe”的“SENPR”代码片段。

 

图片

它连接到它的C&C服务器, 他们是“polextrading.ddns.net:1667:moron”和“poliy.kozow.com:1667:moron”。

 

然后它将收集到的有关受害者PC的信息发送给C&C服务器。数据在发送之前被RC4加密,使用从“SETTINGS”资源的第一个80H数据生成的相同RC4加密密钥。

 

如图10所示,在加密之前,将要发送给C&C服务器的数据转储出去。

 

图片

文件“RFQ File.doc”已被检测为“MSOFFICE /CVE_2017_11882.A!tr”,FortiGuardAntiVirus服务检测到文件“gist.exe”为“AutoIt/ Remcos.DGY!tr”。

 

目前,FortiGuard Web Filtering服务将下载URL评为“恶意网站”。

 

IOCs:

URLs

hxxp://persianlegals.com/wp-includes/js/gist.exe

Sample SHA256

RFQ File.doc

59130C3542D86B8AFDE1D5A8BB6CDFE43BBD24A992F5B4B537BD808E3C7E6F99

gist.exe/namegh.exe

894AD81A297854D5522C117F94490BCE379FC6A54F8FE10A1F55143ECD5C8816

 

来自参考:

https://www.fortinet.com/blog/threat-research/new-remcos-rat-variant-is-spreading-by-exploiting-cve-2017-11882.html

图片

图片

57070一个有趣的利用Equation对象的Remcos RAT变种

这个人很懒,什么都没留下

文章评论