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
文章评论