Outlook是微软Office套件中的桌面应用程序,现已成为世界上最受欢迎的应用程序之一,用于发送和接收电子邮件、安排会议等操作。从安全角度来看,该应用程序是负责将各种网络威胁引入组织的关键“网关”之一。该应用程序中任何微小的安全问题都可能造成严重的损害,并破坏企业的整体安全性。
因此,在典型的企业环境中检查Outlook上的攻击向量是必要的,这也是Check Point研究团队开展此项研究的初衷。在此项研究过程中,Check Poin研究人员以一个普通用户的身份点击和双击Outlook上的内容,来完成日常工作所需的操作,并从安全研究的角度来检查这些操作可能带来的安全风险。
研究重点聚焦三类攻击向量:“明显的”超链接攻击向量,“一般的”附件攻击向量,以及针对Outlook电子邮件阅读和“特殊对象”的“高级”攻击向量。
请注意,本文中讨论的研究是在最新的Outlook 2021(Windows桌面版)上进行的,截至2023年11月,在典型/默认的Outlook + Exchange Server环境中已经安装了最新的安全更新。
如果攻击者想通过电子邮件攻击某人,一个“明显的”方法是攻击者发送带有恶意web超链接的电子邮件,以诱使受害者点击这些HTML电子邮件中的链接。事实上,这是整个行业每天都在与之斗争的所有网络钓鱼邮件的攻击载体。
对于这种攻击向量,攻击者基本上使用电子邮件作为“桥梁”来执行基于web的攻击,无论它们是基于社会工程的网络钓鱼攻击,浏览器漏洞利用,甚至是高技术的浏览器零日漏洞利用。
请注意,只需点击一下就可以在Outlook上启动web链接。用户甚至不需要额外的确认。虽然这听起来很可怕(与我们将讨论的下一个攻击媒介相比),但安全风险并不在Outlook中,而是在浏览器中。如果浏览器足够强大(能够对抗浏览器漏洞),用户足够聪明(能够对抗网络钓鱼攻击),就不会有问题。这可能就是Outlook将“可用性”作为首要标准的原因所在;另一个原因可能是电子邮件的超链接太常见了,不可能让用户去确认每次点击,因为那样不仅太烦人,还耗费太多时间。
但是,Outlook超链接不仅仅是web链接,它们可能包含其他类型的超链接,这些超链接可能也会引入安全风险。事实上,Check Point研究人员已经在这个攻击媒介中发现了一个Outlook漏洞。然而,讨论特定的漏洞并非本文的目的,在此就不赘述了。
以下是一般的攻击方式:攻击者向受害者发送带有恶意附件的电子邮件,引诱受害者打开该附件。
Outlook上的“打开附件”可能意味着两种不同类型的操作。当用户“双击”附件时,系统会试图调用Windows上的默认注册应用程序,并针对该附件文件类型来打开该应用程序中的附件;而当用户“单击”附件时,它会试图调用已注册的“预览器”应用程序,并针对该附件文件类型来预览Outlook应用程序中的附件。下面我们将详细讨论这两者。
“附件”场景中引入的安全风险取决于该附件文件类型的注册应用程序的安全性。如果应用程序具有足够的健壮性和适当的安全措施,那么它对最终用户的风险就会降低。反之,如果应用程序不安全,则对最终用户来说风险更大。
如果用户双击附件,Outlook将尝试调用已注册的应用程序,并针对附件的文件类型来打开附件。根据附件的扩展名(文件类型),可能存在以下三种情况:
2.1.1 无点击(NO CLICK):附件的扩展名被标记为“不安全”的文件类型
Outlook无法打开附件,但可以接收。
下图显示了用户收到一个“. vbs”附件,但无法打开,原因是“. vbs”文件类型被Outlook标记为“不安全”。
微软在这里列出了Outlook上被阻止的不安全文件类型。
【图1:Outlook上被禁用的不安全附件】
2.1.2 一次双击和一次单击:附件的扩展名没有标记为“不安全”,也没有标记为“安全”
您可以将其视为“未分类类别”。在此场景中,将向用户显示一个提示对话框,要求用户确认打开文件。
在此场景中,用户需要执行两次点击才能打开附件。一次是双击附件;第二次是点击提示对话框上的“打开”按钮(不是默认按钮)。在此之后,Windows操作系统上该特定文件类型的默认/注册应用程序将用于打开附件。
Check Point研究人员最新披露了一种有趣的攻击技术:攻击者通过电子邮件传递.accdb漏洞利用,经由80/443等通用端口泄露NTLM信息;这也属于这种情况。
在现实世界中,这种“未分类”场景中有很多文件类型。对于普通的Outlook用户来说,不可能知道自己打开的每个应用程序/附件是否足够安全。因此,我们建议用户对这种攻击媒介保持谨慎:不要轻易点击来自不受信附加的“打开”按钮。
对于应用程序开发人员来说,尽管这种情况在现实世界中仍然很少见,但一个很好的建议是遵循web标记(mark -of- web, MotW)。在这种情况下,当附件在第三方应用程序打开之前位于Outlook临时目录中时,它会被标记为“来自互联网”。因此,如果第三方应用程序检查并遵守MotW——例如在检测到文件具有MotW标志时限制功能和/或在应用程序沙箱中打开应用程序——这将是一个非常好的安全实践。
(*知识说明:在默认的Outlook + Exchange Server环境中,MotW仅为来自组织域以外的电子邮件地址的附件设置,而不用于组织内部的电子邮件地址。因此,MotW对于开发人员平衡应用程序的安全性和可用性非常有用。)
例如,在2023年2月的“补丁星期二”,微软通过CVE-2023-21715为Microsoft 365应用程序Microsoft Publisher发布了一个“深度防御”功能。该更新所做的只是在.pub文件具有MotW时完全禁用Publisher上的宏。根据研究结果显示,在“pre - CVE-2023-21715”环境中,当Publisher打开嵌入宏的.pub文件时,如果.pub文件具有MotW,则会向最终用户提供以下警告对话框。
【图2:在“pre - CVE-2023-21715”环境下,当.pub文件有MotW时,用户仍然可以选择“启用宏”】
在“post CVE-2023-21715”环境下,对话框将变为以下形式:
【图3:在“post CVE-2023-21715”环境下,当.pub文件具有MotW时,“启用宏”按钮被删除】
请注意不同之处,当文件附带MotW(来自Internet)时,用户现在没有选择“在.pub文件中运行宏”的选项,这使其对最终用户来说是安全的。
2.1.3 一次双击:附件的扩展名被标记为“安全”文件类型
在这个场景中,当用户双击附件时,将直接打开附件。
由于在此场景中,在打开附件之前不需要对用户进行额外的确认,因此只需双击即可调用应用程序打开附件。应用程序开发人员应该非常小心地将他们的文件类型/应用程序注册到这个类别中。
一个强烈推荐的安全加固措施是为应用程序开发一个应用程序沙箱,并在其中处理以下文件:如Word、Excel和PowerPoint的“受保护视图”模式。也就是说,Word(.docx、.doc、.rtf等)、Excel (.xlsx、.xls等)和PowerPoint(.pptx、.ppt等)文件类型,以及最新的Adobe Acrobat Reader(测试版本为2023.006.20360)中流行的PDF文件类型都注册在这个“安全”类别中。
【图4:从外部电子邮件打开文档时,Word在受保护视图模式下运行(进程完整性级别为“AppContainer”)】
Word/Excel/PowerPoint上的受保护视图模式不是典型的应用程序沙箱。事实上,除了在沙盒进程中处理文件之外,它还限制了应用程序在受保护视图模式下运行时可能运行的功能。例如,激活保护视图模式时,所有与OLE相关的特性都将被禁用。因此,从安全的角度来看,Word/Excel/PowerPoint上的保护模式比典型的应用程序沙箱要强大得多。
如果用户“单击”附件(与双击相比),Outlook将尝试调用已注册的“预览器”应用程序,并针对附件的文件类型在Outlook中“预览”附件。尽管它被称为“预览”,但从技术角度来看,附件文件仍然是打开和处理的。不同的是,预览时,第三方应用作为COM服务器在后台运行,附件内容显示在Outlook窗口中。如前所述,当通过双击“打开”附件时,第三方应用程序直接运行,内容显示在应用程序的窗口中。
根据附件的扩展名(文件类型),预览附件时可能存在以下四种情况:
2.2.1 无预览:附件的扩展名被标记为“不安全”
这与我们在“双击”场景的“无点击”中讨论的情况相同。由于附件是完全禁用的,所以没有打开或预览选项。
2.2.2 无预览:没有注册的扩展名预览应用程序
事实上,我们看到的大多数文件类型都属于这一类,因为大多数处理这些文件类型的应用程序都没有注册为Outlook预览应用程序。下图当用户试图通过单击预览.wmv文件(媒体文件类型),但没有该文件类型的注册应用程序时,则显示错误消息。
【图5:在Outlook上单击尝试预览.wmv附件,但收到错误消息】
2.2.3 两次单击:预览应用程序已注册,但需要额外的“确认”才能预览内容
有一些文件类型,它们的预览应用程序已经注册,但是Outlook对预览附件的安全性不太有信心,所以Outlook会给用户一个额外的警告对话框——这就需要再单击一次——来确认预览附件。因此,在此场景中有两次单击,一次用于单击附件,另一次用于单击警告窗口上的“预览文件(Preview file)”按钮。
下图展示了在操作系统上安装Adobe Acrobat Reader时预览.pdf附件(一种流行的文件类型)。当用户单击附件时,Outlook询问用户是否要继续预览。此外,还有一个选项让用户选择是否他/她每次都要确认此文件类型。
【图6:在Outlook上单击预览.pdf附件的示例】
请注意,在后台,PDF附件是在Adobe Acrobat Reader沙盒中处理的(完整性级别为“Low”的“Acrobat.exe”进程之一)。Adobe Acrobat Reader进程由Windows进程“prevhost.exe”启动。如下图所示。
【图7:当用户在Outlook上预览PDF附件时,Adobe Acrobat Reader在后台运行,并在沙盒环境中处理附件】
(*知识说明:在Windows中,标准/默认用户以“中等”完整性级别启动进程,因此如果一个进程以较低的完整性级别(“Low”或“AppContainer”)运行,通常表明该进程在受限制的应用程序沙箱中运行。)
2.2.4 一次单击:预览应用程序注册并标记为“安全”
这个场景是读取附件内容的最流畅的方式。当用户只需单击附件时,附件将被预览,其内容将显示在Outlook窗口中。
由于过程非常顺利,因此可能引入的潜在安全风险很高。因此,从安全的角度来看,只有具有强大安全增强功能的应用程序才应该注册到这个“预览安全列表”中。
例如,Word、Excel和PowerPoint文件类型都在此列表中。下图是一个在Outlook上预览.docx附件的示例。
【图8:在Outlook上单击预览.docx附件的示例】
并且,在Outlook上预览Word、Excel或PowerPoint附件时,相应的应用程序始终以安全性强的Protected View模式运行,如下图所示。所以它在保护用户的同时也提供了很好的可用性。
【图9:当用户在Outlook上预览Word附件时,Microsoft Word在后台运行并以受保护视图模式处理附件】
值得注意的是,它与之前讨论的Adobe Acrobat Reader场景有点不同,沙箱中的“WINWORD.EXE”进程直接通过Outlook进程启动,而不是通过“prehost.exe”,并且只有一个“WINWORD.EXE”进程,而在Adobe Acrobat Reader场景中,有两个“Acrobat.exe”进程。
该攻击向量适用于只要受害者在Outlook上阅读电子邮件就会触发安全问题的场景。所以这是一个非常强大的攻击媒介。
它通常被称为安全领域的“预览窗格”(Preview Pane)攻击向量,特别是针对Microsoft安全更新页面。例如,下图是微软已修补的一个漏洞,当用户在Outlook上阅读电子邮件时就可能会触发,但被称为“预览窗格”攻击向量。
【图10:典型的微软安全更新网页,其中包含一个可能由“预览窗格”触发的漏洞】
事实上,正如有人指出的那样,这是一个令人困惑的名字。无论如何,当提及Outlook“预览窗格”攻击载体时,我们可以假设只要用户在Outlook上阅读电子邮件,这个漏洞就可能被触发。
这存在于Outlook处理电子邮件或与电子邮件一起发送的其他对象的核心功能中。从漏洞研究的角度来看,当Outlook解析或处理电子邮件格式时一旦存在漏洞,通常就会发生这种情况。Outlook支持三种类型的电子邮件格式:纯文本电子邮件格式、HTML电子邮件格式和TNEF电子邮件格式(通常称为“Outlook Rich Text”格式)。HTML和TNEF是复杂的格式,因此它们会产生更多的漏洞,特别是对于二进制格式的TNEF。错误类型可能从内存损坏到逻辑错误不等。
下图是TNEF格式电子邮件的一个示例,注意字符串“Content-Type: application/ms-tnef”,它指定该电子邮件遵循TNEF格式。
【图11:典型TNEF格式电子邮件的内容】
从历史上看,在Outlook电子邮件读取攻击向量中发现了许多漏洞,但有效的漏洞很少。这是因为在Outlook中寻找脚本环境或由Outlook触发脚本环境不是一件容易的事情,但仍然可能发生一些失误。
例如,2015年,研究人员报告了Outlook中的一个逻辑错误,称为“BadWinmail”,该错误允许通过OLE机制运行嵌入TNEF格式的任何Flash漏洞(当时,Windows 8/10默认安装Flash)。只要受害者在Outlook上阅读电子邮件,就可以实现任意和可靠的代码执行,甚至无需点击任何东西,所以这是一个非常强大的零日漏洞。
对于上述的Outlook预览窗格(电子邮件阅读)攻击向量,虽然它已经非常强大,但仍需受害者阅读电子邮件才会触发。然而,在另一种更先进的攻击场景中,甚至无需受害者阅读电子邮件,只要受害者打开Outlook并从电子邮件服务器接收电子邮件,他/她就会被攻破。这就是我们称之为“特殊对象”的攻击向量。
以下是一个现实世界的例子,在2023年3月,微软披露他们检测到一个威胁参与者使用Outlook中的零日漏洞(CVE-2023-23397)攻击乌克兰组织。该零日漏洞允许本地Windows将(Net)NTLM凭据信息泄露到攻击者控制的服务器。详细地说,根本原因是Outlook处理来自攻击者发送的所谓“提醒”对象时的逻辑漏洞。请注意,这种攻击甚至不需要受害者在Outlook上阅读电子邮件——只要受害者打开Outlook并连接到电子邮件服务器,它就会自动触发。
现在我们已经审查了Outlook上的所有攻击向量,比较它们中的每一个将是有趣和有价值的,可以帮助组织了解攻击场景可用于提供漏洞利用的容易程度(或困难程度)。为此,研究人员假设了攻击者的位置,并利用Outlook作为“交付方法”将一个漏洞“交付”到目标应用程序中。
研究人员使用分数来标记攻击场景所需的用户交互性(或者,交付漏洞利用的难度)。例如,假设他们有一个针对Microsoft Access(一个应用程序通常与Outlook一起安装,作为Office套件的一部分)的零日漏洞,他们需要使用Outlook来提供Access漏洞。研究人员测试过,当Microsoft Access安装在受害者的机器上时,.accdb附件将落在场景2.1.2中——附件的扩展名没有标记为“不安全”,也没有标记为“安全”。正如我们前面所讨论的,这将需要一次双击和一次单击。]
如果我们将一次单击的得分设置为1.0,因为执行一次双击比执行一次单击要困难一些,那么我们可以将执行一次双击的得分设置为1.2(与单击相比,加上0.2分)。动作越难,得分越高。
因此,对于上述2.1.2场景,总分为1.2(一次双击)+ 1.0(一次单击)= 2.2。
使用这种方法,我们可以得到下表。
场景 | 描述 | 用户交互性 | 得分 |
1.1 | 邮件正文中的Web链接 | 一次单击 | 1.0 |
1.2 | 邮件正文中的其他超链接 | 一次单击 | 1.0 |
2.1.1 | 第三方应用打开附件,文件类型标记为“不安全” | 无 | 无 |
2.1.2 | 第三方应用打开附件,文件类型未标记为“不安全”,也未标记为“安全” | 一次双击+一次单击 | 2.2 |
2.1.3 | 第三方应用打开附件,文件类型标记为“安全” | 一次双击 | 1.2 |
2.2.1 | Outlook中预览的附件,文件类型标记为“不安全” | 无 | 无 |
2.2.2 | Outlook中预览的附件,没有注册的扩展名预览应用程序 | 无 | 无 |
2.2.3 | 在Outlook中预览的附件,已注册预览器,但未标记为安全 | 两次单击 | 2.0 |
2.2.4 | 附件在Outlook中预览,已注册预览器并标记为安全 | 一次单击 | 1.0 |
3.1 | 电子邮件阅读/预览窗格攻击向量 | 没有点击,只要阅读电子邮件即可 | 0.2 |
3.2 | 其他Outlook特护对象利用 | 没有点击,只接收邮件即可 | 0 |
【表1:针对Outlook上各种攻击场景的评分系统】
正如上表所见,研究人员将电子邮件阅读/预览窗格攻击向量的得分设置为0.2(场景3.1),因为与场景3.2(特殊对象利用)相比,它需要更多的用户交互性。对于特殊对象利用,研究人员将得分设置为0,因为这是攻击者的完美场景。
从表中我们可以发现,对于攻击者来说,最具挑战性的场景是场景2.1.2——附件的扩展名既没有被标记为“不安全”,也没有被标记为“安全”,得分高达2.2。最完美的一个是场景3.2——Outlook特殊对象利用(0分),或者场景
3.1——电子邮件阅读攻击向量(0.2分)。
然而,需要注意的是,此处只是比较用户交互性;这有一个很大的先决条件,那就是要为目标应用开发一个有效的漏洞。事实上,大多数时候,当得分较低时(很容易被利用),为目标应用寻找和开发一个有效的漏洞的难度就会很高。
例如,对于web浏览器漏洞,得分很低(1.0),这意味着相对容易交付漏洞,但发现和开发针对现代浏览器(如Google Chrome)的有效漏洞是很难的(因为攻击者需要绕过所有现代利用缓解措施)。因此,从防御的角度来看,Outlook邮件中网页链接的风险对普通用户来说并非完全不可接受。
再举一个例子,对于场景2.1.3(双击打开附件),如果我们假设攻击者有一个Word漏洞,可以在正常模式下工作,而不是在Microsoft Word的“受保护视图”模式下工作——事实上,这是最常见的基于Word的攻击。如果攻击者(从外部来源)将漏洞利用作为电子邮件附件发送,为了获得成功的利用,受害者不仅需要在这种情况下执行一次双击,还需要在Microsoft Word上执行一次额外的单击(用于“启用编辑”按钮,见下图),以退出非常严格的“受保护视图”(Protected View)模式。因此,如果我们考虑完整的攻击链,则交付典型的基于word的漏洞利用总共需要两次用户点击。
【图12:用户需要点击“启用编辑”按钮退出Office受保护视图模式】
因此,当我们评估通过Outlook攻击向量提供的漏洞利用的风险时,需要评估全局——不仅需要考虑本文讨论的Outlook攻击场景,还需要考虑漏洞利用本身,包括开发漏洞利用的难度。
在本文中,我们研究了现代Outlook中的各种攻击向量,并比较了攻击者使用Outlook交付漏洞利用时每种场景所需的用户交互性。研究人员以普通Outlook用户的身份,使用真实世界的例子,以及自身的尖端漏洞研究技术,对这些场景进行了全面分析,希望本文能够帮助安全行业深入了解Outlook可能带来的安全威胁。