欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

利用Office文档结合社会工程学手段欺骗用户执行恶意代码

来源:本站整理 作者:佚名 时间:2018-09-10 TAG: 我要投稿

写在前面的话
Microsoft Office文档为攻击者提供了各种欺骗受害者运行任意代码的方法。当然,攻击者可能会尝试直接利用Office漏洞,但更常见的情况是向受害者发送包含恶意代码的文档。 与此同时,微软也一直在制定安全措施。一般措施当文档从internet上下载时,并不会直接打开,而是在受保护视图中打开它们。
Office 2016和Office 365使用其他安全措施(如GPO),以便在从Internet下载文档时完全禁用宏。而且Packer文件扩展名黑名单,阻止黑名单文件类型的运行。 当然,这些保护并不完美,但它们有助于减少这类攻击。最近,Matt Nelson演示了SettingContent-ms文件可用于运行任意命令。这些文件最初不在黑名单中,因此可用于欺骗受害者从Office文档运行SettingContent-ms文件。但此文件类型现已添加到黑名单中,以保护Office 2016/365用户。在2018年8月补丁周二期间,微软还发布了一个修复程序,如果这些文件没有从%WinDir%\ImmersiveControlPanel打开,就阻止它们被打开。在这篇博客中,我将展示另外两种诱导受害者运行恶意代码的方法。两种方法都需要一定量的用户交互。
Shell.Explorer.1
所述Shell.Explorer.1OLE对象(CLSID {EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B})充当嵌入Windows资源管理器或嵌入式的Internet Explorer。此OLE对象可以嵌入Office文档中,并作为持久对象保存在文档中。专有格式用于持久化Shell.Explorer.1对象,可以在偏移量76(0x4C)处找到。位于此偏移处的结构是ShellLink(LNK)结构的 MS-SHLLINK 。 初始化(加载)Shell.Exporer.1对象时,ShellLink结构将被解析为常规LNK文件。然后,该对象从ShellLink 获取ID列表,并使用它来导航(浏览)到提供的文件,文件夹或网站。

Embedded Explorer
提供文件夹路径时,该对象的行为类似于Windows资源管理器。可以浏览文件或文件夹,甚至可以通过双击来执行文件。攻击者可能会滥用此功能来嵌入Windows资源管理器。如果攻击者可以说服其受害者双击攻击者控制的文件,则可以远程运行可执行代码。 但是这种攻击似乎很难实现。首先,OLE对象需要单击才能激活,其次,用户需要双击OLE对象才能实际获得可用的Windows资源管理器视图。最后,用户还需要双击Windows资源管理器视图中的文件。 在管理员限制浏览某些文件夹或驱动器的可能性的情况下,嵌入Windows资源管理器对象会很方便。例如,如果限制对C:驱动器的访问,则本地用户可以使用包含嵌入式Windows资源管理器的Office文档来规避此限制。此外,该对象可用于窃取NetNTLM哈希值,但由于这对Office文档并不难,因此使用单击的OLE对象进行激活是没有意义的。

IE浏览器
当Shell.Explorer.1充当嵌入式Internet Explorer时,事情会变得更有意思。除了可以在文档中嵌入Web浏览器之外,它还允许浏览本地计算机上的文件,以及浏览到远程位置(共享和网站)上的文件。没有一些用户交互,这是不可能完成的。单击激活也适用于此模式,单击该对象将触发Internet Explorer的文件下载功能,这意味着将向用户显示“文件下载”对话框。如果用户单击“ 运行”或“ 打开”(取决于文件格式),则将执行该文件。

某些文件类型(如EXE文件)将触发另一个警告对话框。但是通过使用其他可执行文件类型可以轻松避免此对话框。

保护模式IE被禁用用于控件,这确实会阻止显示其他对话框——如UAC对话框。因此,只需要两次单击就可以运行恶意代码,即单击以激活,然后运行/打开。
Poc
下面的PowerShell脚本将尝试创建包含嵌入式Internet Explorer对象的Word文档。该脚本使用Packager对象创建一个嵌入文件的对象,单击该对象将触发文件下载功能。

Microsoft Forms 2.0 HTML控件
Microsoft Forms 2.0对象库包含许多可以在Office文档中使用的“HTML”ActiveX控件。这些控件标记为可安全初始化,并且不要求用户为嵌入它们的文档启用ActiveX。存储格式比Shell.Explorer.1对象简单得多。本质上,它由对象的CLSID和HTML片段(UTF-16编码)组成。HTML片段不一定必须格式正确,对象只会搜索它支持的属性。两个对象支持action属性,该属性采用URL。这些对象是:
- Forms.HTML:Image.1 (CLSID {5512D112-5CC6-11CF-8D67-00AA00BDCE1D})
Forms.HTML:Submitbutton.1 (CLSID {5512D110-5CC6-11CF-8D67-00AA00BDCE1D})
单击设置action属性的嵌入对象,将导致打开定义的URL。常规URL将在默认浏览器中打开,但文件URL(包括共享文件)将直接打开。将显示一个警告对话框,但此对话框与其他警告对话框略有不同,如图6所示。此警告对话框对于所有文件类型都是相同的。

Forms.HTML:Image.1接受一个src,可用于配置文档中显示的图像。使用图像可以伪装对象,例如将其伪装成嵌入文档以诱使受害者点击它。 应该注意的是,当Office文档包含Web标记时,会显示另一个警告对话框,表明它是从Internet下载的。此对话框更明确,从远程攻击者的角度来看,这种技术没什么用。 

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载