在通常的攻击场景下,用户收到一个包含恶意代码的Office文件(不限于RTF格式的Word文件,可能为PPT类的其他Office文档),点击尝试打开文件时会从恶意网站下载特定的 HTA程序执行,从而使攻击者获取控制。

攻击步骤

首先,问题是使用OLE2嵌入式链接对象,其次在处理一个HTA文件。

1 嵌入OLE2链接对象到一个文件,打开微软Word,单击“插入对象”按钮,如下面的截图:

2 选择从文件创建,插入URL HTA文件和刻度都链接到文件和显示为图标。

3 将文档保存为docx,DOC或RTF文件;所有这些处理ole2链接对象。

4 然而,图标和文字可能看起来有点可疑,因此可以通过更换图标和文件名,并渲染对象的Word,增加成功的可能性。这可以通过不选择“显示为图标”复选框,实现服务文档内容类型应用RTF或应用程序/文件/:

5 这使得HTA要呈现如下:

6 然而,用户交互仍然是必需的,用户必须双击“Hello”文本这个时间或保存文件强制文件执行连接更新的内容,并显示它。然而FireEye的描述不明确,需要用户交互并暗示载荷应自动运行打开文档时。研究小组发现的activebreach如何能够实现。经过更进一步的了解到RTF RFC”objupdate”控制被发现:

7 此控件的描述特别有趣,因为它暗示对象将在显示自身之前更新:

例如,可以创建一个包含一个objupdate控制,最终将迫使它更新启动文件。这可以通过获取先前创建的文档并在文本编辑器中修改它来实现:
Original:

{\object\objautlink \rsltpict\objw9027\objh450{\objclass Word.Document.8}{\objdata

注射\ objupdate控制文件:

{\object\objautlink\objupdate\rsltpict\objw9027\objh450{\objclass Word.Document.8}{\objdata

打开RTF文件现在造成托管HTA文件运行而无需用户交互:

值得注意的是,我们的研究显示,如果用户没有安装微软Office,问题仍然可以在写字板中然而利用的互动是必需的。

检测和响应

一些公司已经公布的规则由响应社区检测问题。在许多情况下,这些都是有点不准确,可能会产生误报,他们依靠的对象包含一个ole2link RTF文档检测。这并不一定意味着恶意行为,可能是一个合法的嵌入对象。
为了有效地检测cve-2017-0199,Yara规则应该识别\ objupdate控制添加条件。

喜欢就关注我们的公众号吧。微信搜索公众号:杂术馆

源链接

Hacking more

...