黑客针对国外中文新闻网站展开攻击,旨在传播后门病毒

近日,FortiGuard Labs公开披露了一场针对海外华人的网络攻击活动。在这场活动中,攻击者利用了已知的WinRAR文件漏洞(CVE-2018-20250)和RTF文件漏洞(CVE-2017-11882)来使恶意软件能够绕过常规的认证检查。

此外,“水坑攻击(Watering hole)”在这场活动中也得到了运用——攻击者利用了一个被黑掉的国外中文新闻网站来传播恶意软件。也可以这么理解,这场网络攻击活动瞄准的正是海外华人。

被黑掉的国外中文新闻网站

FortiGuardLabs表示,这个被黑掉的中文新闻网站位于美国,被攻击者注入了恶意网络钓鱼链接,大多伪装成该网站的介绍页面。此外,还有一个“联系我们的Twitter”的链接,实际上是一个网络钓鱼Twitter登录页面。

图1.伪装成网站介绍页面的钓鱼链接(红框)和虚假Twitter登录页面链接(蓝框)
图2.在被黑网站上运行的恶意JS脚本
图3.去混淆后的JS脚本

恶意JS脚本首先会检查cookie数据,以确保访问来自Windows系统。然后,它会检查是否存在“___utma”,这是一个用于区分Google Analytics中用户和会话的Cookie。

如果存在,它接下来就会将另一个脚本从“hxxps://click.clickanalytics208[.]com/s_code.js?cid=239&v=243bcb3d3c0ba83d41fc”下载到被黑网站上。

那么,这个脚本是用来干嘛的呢?它能够执行从C2服务器接收到的任意JS脚本。

恶意软件分析

如上所述,感染有两种途径:一种是利用了WinRAR文件漏洞(CVE-2018-20250),另一种是利用RTF文件漏洞(CVE-2017-11882)。

图4.WinRAR漏洞利用(CVE-2018-20250)

1.利用WinRAR漏洞(CVE-2018-20250)提取后门

恶意.rar文件实际上是一个.ace文件,它有一个对应的解压路径,见图4蓝框。通过利用WinRAR漏洞(CVE-2018-20250)将conf.exe解压缩到启动文件夹中,它可以实现在系统启动时自动执行。

FortiGuardLabs表示,攻击者发起这场活动很有可能只是为了对恶意软件进行测试,因为只有当用户名为“test”时,conf.exe才能够被正确提取。

此外,FortiGuard Labs还发现conf.exe感染了Sality,一种多态的感染型恶意软件。执行conf.exe时,conf.exe中的后门payload和Sality传染源shellcode(Sality C2服务器目前处于非活跃状态)将同时执行。

图5.后门C2(绿框)和Sality C2(红框)

2.利用RTF漏洞(CVE-2017-11882)下载后门

提取的.doc文件实际上是一个.rtf文件,它会触发Microsoft公式编辑器,运行regsvr32.exe连接到154.222.140[.]49,然后下载一个被命名为“123.sct”的恶意脚本。

图6.RTF漏洞利用(CVE-2017-11882)
图7.用于下载恶意软件下一阶段payload的脚本“123.sct”

执行后,123.sct会将“hxxp://154.222.140[.]49/qq.exe”下载到“C:\\Windows\Temp\conf.exe”。需要说明的是,通过这种渠道提取的conf.exe没有感染Sality。

后门payload分析

FortiGuardLabs表示,他们在这场活动中共发现了2个不同版本的后门payload,但都具有相同的后门功能。当它们运行时,它们都会分配内存并动态加载一个恶意DLL,且导出函数也都一样,如下图所示。

图8.恶意DLL的导出函数

1.DealC

该函数负责收集系统信息,并上传到C2服务器。

2.DealR

该函数被用于恶意软件的安装。有两种安装方式:第一种是将恶意软件注册到“HKCU\Software\Classes\Folder\Shell\test\Command”,以便为复制的恶意软件添加快捷方式;第二种是将恶意软件注册到“HKCU\Software\Microsoft\Windows\CurrentVersion\Run”,并使用路径“[%PROGRAMDATA%]\Mpclient.exe”作为参数,以实现持久性。

有意思的是,它还会检查自己的名字是否是“kphonewiz(金山手机助手)”或“kminisite(金山毒霸热点新闻)”,这进一步表明这个后门恶意软件针对的是中国人。

图9.有意思的字符串,进一步表明该恶意软件针对的是中国人

3.DealS

在运行后门的主组件之前,DealS将加载Windows库。它这样做的目的是为了收集Windows API调用函数地址,以便在内存中生成函数表。通过移动特定索引,使用简单的字符表对所有库名称和函数名称进行编码。

图10. 函数表创建和名称字符串解码函数

然后,它会将其安装路径从注册表“Software\Microsoft\Windows\CurrentVersion\Run”文件保存到文件“[%PROGDATA%]/Destro”。

主要功能

这种恶意软件包含了一些隐秘的功能,旨在收集系统信息并将信息上传到C2服务器。此外,它还可以下载文件,并为进一步的攻击创建一个反向shell。

后门功能:

  • 收集系统信息
  • 收集磁盘硬件信息
  • 收集特定目录下的目录列表
  • 收集特定目录中的文件列表
  • 收集已安装的程序列表
  • 收集进程列表
  • 从不同的应用程序收集数据,例如Skype、Fetion、SogouInput和SogouDesktopBar等
  • 收集网络适配器信息
  • 搜索文件
  • 收集截图
  • 创建一个反向shell
  • 下载文件
  • 获取收集的文件MD5哈希
  • 收集剪贴板文本
  • 收集CPU信息

恶意软件开发历程

FortiGuardLabs表示,这个后门恶意软件自2017年以来一直在被使用,以下是开发的时间表:

图11.后门恶意软件开发时间表

有意思的是,这个后门恶意软件总是使用一些中文软件的名称来诱使受害者执行它。起初,它只是一个可执行文件,但在2018年被更改为了DLL版本,被加密并保存在加载程序的数据部分中。当加载程序运行时,后门DLL将被解密并加载。

最新的样本被命名为“XLAccount.dll”(似乎是想要伪装成“迅雷游戏盒子”),它有一个有意思的新功能,能够收集有关一款名为“Shadowsocks”的VPN工具的信息。用过的人都知道,这是一款“翻墙”工具。

结论

在这场网络攻击活动中,黑客入侵了一家美国中文新闻网站,并注入了网络钓鱼链接,且恶意脚本到目前为止仍在运行。

自2017年以来,虽然攻击者已经多次更新了他们的后门恶意软件,但仍就一直试图通过使用一些中文软件的名称来伪装它们。

通过对后门恶意软件的功能以及C2服务器的分析,FortiGuard Labs认为攻击者仍在进行他们的恶意软件测试活动,以便为他们的恶意软件增加新的功能,进而窃取数量更大、类型更多的信息和数据。