检测Follina(CVE-2022-30190)微软Office 0day漏洞

作者:Sec-Labs | 发布时间:

相关阅读

{"id":17473,"title":"一个word文档引发的远控0day漏洞——follina","author":"FancyPig","author_id":1,"cover_image":"","cover_video":"","views":5486,"comment_count":5,"category":"knowledge","is_forum_post":false}

正文

Follina(CVE-2022-30190)是一个最近被发现的微软Office零日漏洞。这是一个高危漏洞,黑客可以利用这个漏洞进行远程代码执行(RCE)攻击。为了帮助你防止破坏性的漏洞,LogRhythm实验室提供了对该漏洞的洞察力和防御Follina的技巧。

在这篇博客中,你将学习如何使用入侵指标(IOC)和AI引擎(AIE)趋势规则检测Follina(CVE-2022-30190)零日漏洞,以突出异常活动。我还将指导你使用LogRhythm案例和游戏手册执行威胁搜索。本博客分为以下四个主题。


Follina(CVE-2022-30190)的摘要和相关参考资料。
如何检测像Follina这样的零日漏洞:

  • 一个专注于Follina IOCs的威胁猎取实例。然后我们将探讨为MITRE ATT&CK "T1137: 办公室应用程序启动 "技术。
  • 使用趋势规则来发现异常活动,如零日攻击。
  • 虽然这篇博客的重点是LogRhythm技术,但该指导也应该适用于LogRhythm之外。

Follina (CVE-2022-30190)漏洞摘要和参考资料

2022年5月27日,安全研究员Kevin Beaumont在博客中提到 "Nao_sec "识别了一个恶意的微软Word文档,该文档利用了微软Office的一个已知但很少使用的功能,在基于Windows的系统上进行恶意活动。该漏洞的关键是攻击者利用了Windows中一个很少使用的组件,名为微软支持诊断工具(MSDT),并使用特制的Word或RTF文件来触发MSDT下载和执行恶意代码。

最近,Follina仍然被 "XFiles信息窃取恶意软件 "积极利用,正如BleepingComputer所指出的。

根据微软安全响应中心(MSRC)的说法,微软于2022年6月14日发布了更新,以解决该漏洞。这个更新应该尽快在你的组织中应用。来自MSRC的更多信息可以在这里找到。

Sophos在6月15日发布了一篇博客,题为 "Follina得到修复--但它没有被列入补丁星期二的补丁中!" Sophos指出,CVE-2022-30190并没有正式列在微软6月份的安全更新中,然而KB5014697或KB5014699似乎已经修复了这个微不足道的漏洞。你可以在这里阅读更多关于Sophos的发现。

 

检测Follina零日漏洞

LogRhythm有很多关于什么是零日,以及如何检测它们的优秀博客和论文。作为一个额外的资源,你可以阅读这篇文章,"检测微软Exchange零日漏洞指南",以获得更多的一般信息。

在观察Follina攻击的工作原理时,MSDT几乎没有被调用,在监控Windows系统的进程并使用LogRhythm的AI引擎时,检测这种罕见的情况是微不足道的。使用AIE趋势规则检测不常见的或很少执行的进程,通常会导致值得进一步调查的可疑活动。

为了说明LogRhythm如何将Follina检测为可疑活动,我们将在这里重点介绍Paul Ducklin与Sophos对恶意Word文档的详细安全分析。

 

可疑的父进程和子进程

在Sophos的例子中,恶意的DOC文件在打开时将催生MSDT进程。在微软安全审计中,事件ID 4688会是这样的。

ParentProcessName> C:\\Program Files\\Microsoft Office\root\Office16\WINWORD.EXE和NewProcessName> C:\\Windows\System32\msdt.exe

这个观察结果也会与微软Sysmon事件ID 1和以下内容相似。

ParentImage> C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE and Image'> C:\Windows\System32\msdt.exe

创建一个AIE规则来检测这种父子关系是相当直接的。在这个例子中,我创建了一个带有参数的AIE日志规则。

  • 普通事件是 "进程/服务开始"
  • 父进程名称是"(同时选择常规表达式复选框)
  • 进程名称是"%msdt\.exe"(也选择了正则表达式复选框)

1b360dc6d1091625

注意:按照LogRhythm的最佳做法,你应该进一步过滤此规则,以适用于AIE性能的考虑,过滤到适用的日志源。

在上面的例子中,我利用了LogRhythm的公共事件,其中的日志信息被认为是 "进程/服务开始",包括微软安全审计4688和微软Sysmon事件ID 1,以及大量其他类似的日志来源。有了AIE,你可以指定RegEx模式来帮助捕获规则的标准,无论微软Office安装在哪里,以及解析是否包括完整的路径,使这个规则非常通用,并且仍然保持高效的检测逻辑。

这个AIE规则对今后的工作很有帮助,但如果你需要评估在创建AIE规则之前是否曾经观察到这种行为呢?接下来,我将演示如何使用 LogRhythm 的案例管理和 WebUI 进行威胁搜索。

 

使用LogRhythm Case和WebUI进行威胁猎取

在之前的文章中,我介绍了如何使用案例管理执行威胁猎取,因此我不会在本博客中深入探讨每个组件的细节。要深入了解使用LogRhythm进行威胁猎取的过程,请阅读该文章以了解更多技巧。

创建零日Follina威胁猎取案例并添加游戏手册

要开始进行零日Follina威胁猎取,你可以观看我的YouTube教程,或继续阅读下面的书面说明。

 

分步说明

在LogRhythm WebUI中,在 "案例 "选项卡下,您可以开始创建一个案例,以开始搜索威胁。

7743e6b329092633

在案例仪表板上,点击新的案例图标,创建威胁狩猎案例。

94e778b63e093012

接下来,用一些能描述案件内容的东西来命名该案件。在这个例子中,我把 "博客 "这个名字和这个博客的标题作为案例名称的前缀,以方便参考。

ce2844910b093041

接下来,在点击 "保存 "按钮之前,给案件添加一个摘要。

46cd5f8912093103

在创建案例后,添加一个适当的Playbook,以便在接下来的步骤中遵循。在选择Playbook的类型时,我将利用我们做的一个Playbook来帮助我们确定可以创建的MITRE ATT&CK规则。我将选择我们的 "使用MITRE ATT&CK假设的威胁猎杀 "Playbook。

9dbb8dd0b3093127

Playbook程序。导致MITRE ATT&CK T1137。办公室应用程序的启动

游戏手册中的第一个程序让我形成一个假设。在这样做的时候,我选择了MITRE ATT&CK T1137。办公室应用程序启动。在 "检测 "表和 "进程创建 "数据组件中,MITRE ATT&CK说要。

"监测新执行的进程,这些进程可能利用基于微软办公软件的应用程序在启动期间的持久性。收集进程执行信息,包括进程ID(PID)和父进程ID(PPID),并寻找由Office进程产生的异常活动链。非标准的进程执行树也可能表明有可疑或恶意行为。如果winword.exe是可疑进程和与其他对抗性技术有关的活动的父进程,那么它可能表明该应用程序被恶意使用"。

186a238380093214

程序的其余部分将介绍收集日志和分期创建AIE检测规则的过程。接下来,我将介绍基于已知父子进程关系的新检测规则,还将介绍趋势规则如何发现异常的父子进程关系,以便你能够迅速抓住零日。

 

AI引擎的检测

AIE: LRLABS_CVE-2022-30190:Follina

我根据IOC创建了这个AIE规则,其中观察到父进程 "winword.exe "启动进程 "msdt.exe"。

7f16b51ebe093248

AIE规则是利用LogRhythm的名为 "进程/服务开始 "的通用事件。这将包括微软安全事件ID 4688和微软Sysmon事件ID 1等。当观察到父子进程时,该规则将发生事件,并提醒分析员潜在的损害风险。
AIE事件。LRLABS_CVE-2022-30190:Follina

我使用LogRhythm ECHO测试了AIE规则。如图9和10所示,AIE事件包含的信息将帮助分析人员确定是否需要进一步调查。

3a459fbd5e093306

01eea81733093318

接下来,我将演示如何在不事先了解CVE-2022-30190的情况下使用趋势规则来检测这种活动。

异常的趋势规则。"罕见的子进程"

目前,我有四个异常的测试规则,检测到父进程名称 "winword.exe "以及进程名称 "msdt.exe"。我将重点讨论其中一个名为 "罕见的子进程 "的异常规则。在下图中,AIE事件显示了异常的(在过去30天内没有被SIEM看到过)父/子进程。

6376f62e7d093359

接下来,我将执行AIE钻探,显示触发AIE事件的原始日志。

f8320f6bd8093509

 

趋势规则将显示给定时间窗口内与AIE规则相关的所有日志。在这种情况下,趋势规则每八小时执行一次评估,我在这段时间内运行了三次不同的测试,因此在仪表板上共显示了六条日志。

c16159594c093448

863dfc913f093536

AIE规则。异常的 "测试 "规则:test_rare子进程

AIE趋势规则摘要在下面的屏幕截图中。首先值得指出的是 "时间和时间表 "的设置。在这里,我对任何新的父进程名称和进程名称的30天的基线进行一天的评估。

cf8078dd57093612

在下面的表达式屏幕截图中,显示的表达式是必须观察到一个或多个实时日志,并且是新的,目前没有出现在基线中。规则逻辑指出,规则一和规则二都必须为真。

09d3a7b437093628

当创建或编辑表达式时,它看起来是这样的。这里,表达式的类型是 "计数。日志计数阈值"。

d32251ed9e093646

在表达式逻辑部分,你可以在描述中看到很多不同的逻辑运算可以被设置。在这个例子中,1和2都必须为真。

bdce133e0f093705

在时间和日程设置中,示例规则被设置为1天的实时时间。

029d515390093751

基线时间被设定为30天。

12ec363af0093807

在下面的截图中,评估频率被设置为 "自动"。自动的作用是自动设置评估时间为实时时间的1/3。

注意:在使用自动设置时,实时时间必须能被3整除。

71a117c116093842

在下面的截图中,评估频率被自动计算为8小时。

3b976ad3d1093901

创建这样的趋势规则有助于突出你的SIEM中 "新 "的感兴趣的东西。在这种情况下,这种新活动发现了 "Follina "攻击。这个规则,加上你执行的威胁搜索,将有助于发现你环境中的未来零日攻击。

参考原文

原文链接

https://logrhythm.com/blog/detecting-follina-cve-2022-30190-microsoft-office-zero-day-exploit/

标签:学习笔记, logrhythm