Windows 10中的 RCE漏洞:通过恶意链接发起
来源:http://www.tudoupe.com时间:2021-12-31

研究人员利用IE11/Edge遗留物和微软团队在Windows 10发现了一个驱动码实施问题。问题是由 Windows 10/11 默认处理器 ms-officecmd:URI 输入参数造成的。
当使用其他浏览器时,受害人必须接受一个无形的确认对话框,或者通过进行不安全的 URL 处理的桌面程序传递恶意的 URI 。
利用过程
一个无赖网站推动代码的实施。该网页将 Javascript 重新定位为精心设计的 ms-officecmd: URI(运行其它 Office 桌面应用程序的微软办公室 UWP 程序)。研究人员利用联合资源倡议的流程参数在电子中插入缺陷和绕过安全保障。微软团队电子程序 输入任何操作系统指令的 -- gpu- launter 参数。
请使用此链接在 Windows 10 上的微软边缘播放 RCE 视频 。
这是精心设计的 ms-officecmd: URL (注意 JSON 缩进) :

在进入恶意网站时,除互联网探索者和微软边缘遗留物以外的浏览器提供了一个相对不显眼的确认对话框:

在 Internet Explorer 和 Edge 遗产中显示缺少确认提示的替代浏览器 。
仔细设计的 ms-officecmd: URI 也可以使用进行危险的 URL 处理的桌面应用程序发送。
利用这一缺陷需要安装微软团队,但不能运行。 在下一节中,研究人员还将解释如何在MS团队的帮助下以各种方式滥用程序和设置。
虽然在调查时Windows 11尚未释放,但是由于在Ms-officecmd:URI进程中引入了相同参数的空白,它也受到影响。

强化恶意反内联内袭击情景
研究人员在2021年1月花费了一些时间,分析显著的桌面程序如何处理用户提供的磁共振成像仪,并发现代码执行差距。
为了显示研究人员在Windows上发现的东西,他们大多使用与文件有关的程序(nfs、dav、file等),以及通过在线文件共享托管可执行文件/jar文件。这些有效载荷要小心一点:人们必须安装 Java 或者使用不同的浏览器 。要启动您想要确认的程序, 需要任一对话框。
在此过程中,研究人员还发现WinSCP的URI处理中存在执行守则的漏洞。WinSCP是处理Windows上URI应用程序的行业标准。然而,它并没有预先列入操作系统。第三方联合资源倡议程序的问题并非新问题。之前的示例包括:
蒸汽代码执行:URL处理器(2012年);
团队10 代码执行: URI 处理器(CVE-2020-13699);
研究人员希望通过在Windows预加载的 URI 过程中发现代码执行漏洞,从而根据恶意的 URI 来改进袭击情景。
无法删除文件夹“{0}”。
Windows 10拥有大量与各种操作系统服务或其他微软产品有关的定制 URI 处理器。
为研究目的确定注册的URI程序最容易的方法之一是在登记册中重复搜索“URL协议”:

在 Windows 登记册中, 查找 URI 处理器 。
计算机中的任何匹配表示文件夹名称与注册的 URI 处理器的程序有关。登记表载有进一步信息。用于召唤相关处理器的空壳命令就是一个例子。将其输入浏览器地址栏是一种非常基本和实用的技术,有助于找出对软件很重要的东西。然后输入 :,上次按下 Enter 键时:
边缘的“ 计算器 : ” 计划用于打开计算器视频。 请访问此页面 。
ms-officecmd:过于复杂
ms-officecmmd:程序的名称很快引起研究人员的注意:MS Office是一个相当复杂的应用程序包。有一些可以利用的遗产功能,还有很长的历史。最重要的是,最后用一系列“命令”缩略语结束这届会议。这表明注射变得更加复杂和危险。
随着研究人员开始雇用它,发现一个可执行的本地布里奇(Local Bridge) 。它会短暂运行,但是,没有明显的外部影响。为了更好地了解到底发生了什么研究人员检查了Windows事件日志。它提供了以下非常宝贵的信息:

NET JsonReader Exception 在URI'ms-officecmd:无效时被抛出 。
当打开URIs-officecmd的空的、合法的JSON有效载荷时,没有发生同样的异常情况:为研究人员提供了有效的URI结构的第一个线索。
在联合资源倡议进程中的JSON决议最终揭示出Ms-officecmd:联合资源倡议能够完成高度复杂的事情,因此需要界定其职能。
Appbridge和当地桥梁.dll
为了收集进一步的信息,研究人员选择首先对LocalBridge进行反向翻译:

URI 验证和“ LaunchofficeAppValied”(dotPeek) 是“ 本地Bridge” 的反向来源 。
关于有效的JSON有效有效有效载荷结构的进一步详情,可在C#代码中找到:

不幸的是,这导致地方桥梁方面没有明显的行为。更多的AppBridge。 doll, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally,因为它包含的功能 启动办公室AppValidaded。JSON有效载荷最终将转交:

从“ AppBridge.dll” (dotPeek) 进口“ LaunchofficeAppValidad” 作为“ LocalBridge” 的反向来源 。
原始的 AppBridge 是由研究者通过重述它来建造的。 Dll 库提取了更多可能 JSON 属性的名称, 尽管还不清楚如何使用这些属性 。
“ Appbridge. dll ” : 相关 Unicode 字符串
办公室 UWP 应用程序(Eectron PWA) 调试
当当地大桥/ AppBridge.dll 分析未能及时提供预期结果时,同时,研究人员尝试了一种替代策略:他们用同样的方法处理 ms-officecmd:uritedultane, 研究人员尝试了另一种策略:他们用同样的方法处理 ms-officecmd:uri:他们用同样的方法处理 ms-officecmd:uri。让我们看看产生这种核素的应用程序。
虽然研究人员不确定哪些方案能完成这项工作,但无意发现的办公室UWP应用可能有用:
应用程序可使用自定义系统 ms-officeapp 来定义:打开时,它似乎与研究人员ms-officecmd调查的专题极为相似:
类似 https://ww.flickr.org. I'm sorry, office. Office365 com/ 上的网络界面几乎可以比较, 但它支持启动无法从网络上启动的桌面应用程序。

Windows 10 带有预先安装的办公室 UWP 应用程序。
根据经验,当办公室启动办公室桌面程序时,它将能够利用办公室UWP应用程序作为工具。只有在里面,我使用 ms -officecmd: 计划。使用了微软的“Edge DevTools预览”程序。研究人员可以进入该流程,并调试办公室的联合工作方案方案。

微软 DevTools 预览( 右) 有办公室 UWP 应用程序的调试目标( 左) 。
研究人员想要的信息简洁明了:
进行全球源搜索(ctrl + shipft + f),以识别方案关键字“ms-officecmmd”的外观:所查明的唯一事件是发射议定书常数的定义;
进行了另一项搜索,以查明发射议定书常数的使用情况:第一次撞击是在Via议定书发射功能中发现的。
在发射《Via议定书》中设定一个断点,并尝试点击左栏的Outlook符号触发该断点。
JSON载荷结构可从本地变量中提取。

“发射议定书” 即时定义(Edge DevTools预览版本) Office UWP 应用程序

ms- officecmd: “ JSON 负载从本地变量 'n' (Edge DevTools 预览版本) 中提取 。
恢复JSON有效载荷的最快方法是利用微软同步内部进程监测工具记录与当地布里奇有关的事件:
'ms-officecmmd: '过程监测仪报告了JSON的有效载荷.
ms-off-officecmd: 基本的 JSON 载荷结构
使用通过 ms-officecmd: URI 提取的 JSON 载荷打开 Office 桌面程序。 特别是, 从 Office UWP 应用程序提取的载荷可用于启动 Outlook :

这些研究表明,为了取得即时可见的结果,可以修改两种特性:
AppId: 即将启动的 Office 桌面程序;
檔名: 在所選程式中要開啟的文件路徑或 URL ;
名称和质量属性得到验证,并减少份量;
研究人员在安装了基本办公室的一台机器上发现了下列APID图象:
・ 1: Access
・ 2: Excel
・ 5: Teams
・ 6: Skype for Business
7: 0,只有一个驱动器。
・ 8: Outlook
・ 10: PowerPoint
・ 12: Publisher
・ 14: Word
・ 18: OneNote
・ 21: Skype
网鱼捕捞前景
第一个发现是:在文件名属性中指定 http(s) URL 时,有关网站将在Outlook的IE11驱动的嵌入式网络视图中显示。没有证据表明该网页的来源。材料来自外部网站这一事实甚至没有提及。这种行为可能会被滥用于 实施极具说服力的网络钓鱼攻击特别是因为电子邮件: 链接应该根据本地配置打开用户电子邮件程序:
以及Outlook: Outlook 窗口所展示的登录形式是攻击者拥有的网站,
《展望法典》执行问题
展望出乎意料的开放可能会被滥用。允许更多的用户相互接触,从而获得代码执行尽管Outlook不支持文件://URL,允许使用C:// "url计划 " 。然后作为本地路径的驱动程序运行 。此外,我们到达了Appbridge.dll, 它有一个尾端/文件的扩展检查。然而,当可执行文件打开时,以后将不予理睬。
这个“概念”的证明需要用户确认一个额外的警告对话框, 但研究人员认为环境足以欺骗更多有经验的用户接受:
关于来自铬的RCE互动攻击,请使用“ms-officecmd:”和“Outlook”。请见下文的详细视频。
当你点击恶意网页的链接时发生的情况如下:
向 unook 添加一个动态 iframe 点( 在本文中, 这是可执行文件更名为“ PutTY ” ), 然后在受害者的下载文件夹中保存一个名为“ outobook ” 的恶意执行文件 。
似乎无关紧要的邮件: 链接目标替换为恶意 ms- officecmd: URI, 引用文件名属性中下载的可执行文件( 注意左下角的暂停链接预览 ) 。
用户承认“ 开放本地桥” 对话框(没有明显的安全警告);
作为 Outlook 视图, 它会显示打开潜在危险的 URL 的警告弹出。 用户确认他们想要打开本地的“ outook” 文件 。
下载的文件应该执行( PuTTY 窗口应该关闭) 。
输入文件名属性参数
上文所描述的问题是滥用文件名财产。由于它只提供 " 展望 " 方案范围内出乎意料和不正确的信息,但是, ms- officecmmd 比较抽象的上下文: URI 进程是完全有效和可预测的:它不能取代本地文件路径,而除了本地文件路径外,还有许多不同的文件扩展名。办公室的大多数产品也通过网址网址提供直接查阅网上文件的机会。与微软 SharePoint/ OneDrive 类似 。
通过针对 URI 处理器,下一个发现是 URI 处理器如何处理文件名属性。人们更加强调滥用的可能性。即使我们对Appbridge.dll的核心功能原则没有完全的理解也可以假设,使用指定的参数来打开给定的 Office 应用程序, 使用指定的参数来打开给定的 Office 应用程序 。shell 命令最终由 URI 处理器生成和执行 。相反,您可以直接发布其可执行文件。在任何情况下,攻击者对文件名财产的控制必须作为炮弹指令的一部分或作为论据通过。当研究人员试图采用常规的指令和参数注入方法时,就会遇到问题。研究人员发现,简单的 " (双重报价+空间)顺序可能被用来绕过命名公约。
输入该参数是为了反映这里所描述的发现核心中最关键的问题之一。 在研究人员开始使用该参数之前,有一段视频来说明最基本的参数输入:
使用“ filename” 参数插入“ / q' switches ” : 注意打开第二个 URI 时没有蓝色启动( 装入) 屏幕; 请查看完整视频了解更多信息 。
这是在视频中出现的URI。

恶意单词/ Excel 插件正在装入 。
在发现一个能够将参数注入办公室方案的启动指令之后,因此,以下步骤是调查研究人员可使用何种参数。这名博客在微软办公室产品指令开关中写道:与启动的加载插件相连的命令行开关看来是最有希望的。
测试的插件类型如下:
正常的.dll 和.wll 文件;
VSTO 插件;
微软办公室插件;
然而,研究人员无法让程序在启动时成功装入任何插件 。

使用“ - l” 标记装入 Word 插件失败, 因为程序似乎将其作为要打开的文件文件处理 。
MITM小组可以用主机规则来验证泄漏
尽管该研究人员在注射以文件为中心的办公室方案参数方面的实验没有提供真实世界攻击者感兴趣的任何其他调查结果,但该研究人员的努力仅限于以下几个方面:然而,还存在另一套大有希望的应用:微软团队和Skype,这两套应用都以元素框架为基础。因此,有几项有用的Eaxtron指挥线参数和Node.js指挥线参数。
滥用的可能性是 -- -- 东道国规则,此选项可用于重新映射 IP 地址和主机名等 。与该应用到指定目标相关的所有网络交通路线。当新域用作地图目标时,只要 TLS 适合新域名配置,将不会发生 TLS 失败 。通过添加 --ignore-certificate-errors 选项,甚至不需要这样做。借助反向代理,倾听网络服务器也是一个选项。向微软团队后端服务提供的任何敏感信息都可以由攻击者提取。身份徽章和短信就是这方面的例子。反向剂也可用于修改API答复。并声称自己是微软团队的用户
当研究人员试图设计一个合适的有效载荷来输入这些参数时,他们必须克服另外两个挑战:
作为CVE-2018-1006的关键解决办法,他们的指令拆解的理由 被电子改变。在 URL 之后删除任何其他参数检查源代码,研究人员发现了“1-Let URI”计划的一个缺陷。跳过驱动程序 Windows 文件路径的过滤器( 即 C: / ) 。这使研究人员能够在假象前缀(如:/b/)后使用 Elictron参数。这是由电子和Appbridge.dll批准的。
Microsoft 团队并不总是在文件名参数出现时开始。 因为 Appbridge. 在 dll 中检查文件扩展名 。在下面的视频中,通过将目的地 IP 地址更改为54571215 的整数格式,可以避免此检查 。
使用插入的“主规则”和“不合格证书”选项,将微软团队 https 的流量转向研究人员自己的服务器;如欲了解更多信息,请点击此处。
请记住,在这份录像样本中,请求没有传送到监察组的实际后端,造成关联问题。
以下是影片中使用的URI:

使用检查调试器从本地网络运行团队/ Skype 代码 。
NODE.js- inspect 参数是另一个很有前途的参数。使用 Node.js 的 Javascrap 环境此选项指定了连接调试器的网络界面和端口号。出于安全原因,默认情况下, 调试只能通过本地界面进行 。在下面的视频中,研究人员使用 -- inspect=": 28966" 选项覆盖设置 。在2866港口接收任何网络接口的调试器连接。连接调试器后,研究人员使用以下节点js 库执行命令 : 需要 (“ child_ process”) c (")
为重建有效有效有效载荷,需要下列程序:
由于Skype在打开时使用文件名参数的方式,在插入其他参数之前,在虚拟文件名之后,需要增加一个字符。
指定侦听接口时,不支持整数 IP 地址格式 。人,强迫研究人员..因此,这一次,通过将字符附加到恶意软件名有效载荷的末尾, 研究人员可以避免 AppBridge 。 将检查 dll 中的文件扩展名 。
点击 VM 中的恶意链接,并将主机系统的调试器附加到 Skype 进程,即可显示本地网络问题。 请访问此页面 。
以下是影片中使用的URI:

请铭记,在易受攻击的环境中,攻击可伴之以约束性或(最近升级的)NAT滑动流技术,以便在没有本地网络接入的情况下对浏览器进行RCE。
使用 -- Inspect 调试器、MITM 和 SOP 来绕过团队代码;
研究人员尚未发现这种可能的操作差距。无论如何,他们想表达自己的意见。因为它是一个独特的配置。目标是整合上述主机规则,检查开关与 -- -- 残疾网络安全铬开关,以创造更高效的新环境。这将允许研究人员使用对铬 Javascript 上下文的控制, 连接到节点 js 调试器并运行任意命令 :
通过恶意网站将下列参数引入一.MS小组:
・ --host-rules="MAP
・ --ignore-certificate-errors
・ --inspect=1337
・ --disable-web-security
2. 在最初运作阶段,
三. Eairron Chromium浏览器Javascript请求中的恶意是,在节点http://:1337/json/list.js元数据终端,http://:1337/json/list.js元数据终端,为了获得调试器连接,
四. Eairron铬浏览器中的恶性爪子标本连接到 ws://:1337。
通过使用 -- gpu- 发射器指令, 您可以输入执行队代码 。
根据研究人员在向微软报告前的最新发现最后,他们使用恶意的 ms-officecmd: URL( URL) 执行任何代码。PoC的前提条件是安装,但不是微软团队的功能。
一. 带有 URI 方案和一个字符以通过 AppBridge.dll 认证的 AppBridge.dll 属性的文件名参数。尽管如此,CVE 2018-1006的Elicron恢复功能将不受影响(Elictron仍然允许在Windows文件名之后添加额外参数)。例如“C:”);
2. 注入两个额外 -- -- 残疾 -- -- gpu-sbox参数;
三. Appbridge 环绕环绕。 在 dll. Characters 或 错误文件名/ 的附加文件
4.添加一个shell指令,它可以用来将诸如&&这样的命令链在注入命令的末尾,以保持有效的语法。
请点击任何使用微软边缘和团队与用户互动的代码 。
有效载荷可能看起来是这样的:

Skype 预先安装在 Windows 10 中。通过在起始命令中添加 -- -- 次要参数,几个Skype示例可以同时运行。因此,如果发现有效载荷正在通过Skype程序利用这一问题,就有可能加以利用。它应能在基本Windows 10安装上没有任何先决条件地运作。研究人员试图找到Skype的有效载荷。但没有成功。在发现CVE-2018-1006在Skype具有脆弱性之后,他说:报告指出,可以采取更多的安全措施。
使用 -- gpu- 发射器命令, 您可以输入 IE11/ Edge 遗产 。
研究人员目前正在为微软编写错误报告。当他们提交报告时,研究人员强调,MCC报告方法具有强制性的下调选择,调查结果并不总是与调查结果一致。表示报告中的问题是否可以在最新的Windows Interr Dev Channel版本中转载。

“这是否又发生在Windows Insider Dev Channel上?” 质疑海安会的报告程序。
研究人员感到沮丧。该漏洞不仅有效,此外,简单地添加JavaScript, 点击恶意 URL,除了浏览恶意网站外,因特网探索者11和Microsoft Edge(现已停用)的预安装版本还可用于启动代码执行。没有任何用户交互。虽然研究人员的第一个目标是改善他们先前的攻击情况, 需要启动任何 URI 桌面程序,因此,在浏览器的使用方面,考虑不多。假设当前所有浏览器都有能力处理 ms-officecmd 之类的东西。事实证明,该假设是错误的,MS 边缘遗产就是一个例子。请使用此链接在 Windows 10 上的微软边缘播放 RCE 视频 。
以上录像中显示的有效载荷如下:

研究人员使用这个视频证据提交了报告。
这篇文章是全球之声在线特别报导的一部分。
上一篇:消息称微软Win11 2022重大更新将在明年夏天到来
下一篇:没有了
相关新闻
- 2021-12-31 消息称微软Win11 2022重大更新将在明
- 2021-12-31 CFHD的反外挂有多容易破解?只要装
- 2021-12-31 爱了爱了,这3款神级Windows软件,直
- 2021-12-31 又不用换机了!一代神机小米6升级
- 2021-12-31 微软Edge复活Windows RSS阅读器
- 2021-12-30 将电脑恢复出厂设置的4种方法,简
- 2021-12-30 微软发布了个“圈”,官方详解M
- 2021-12-30 微软承认 Windows 11中的两个bug:应用
- 2021-12-30 索尼、微软和任天堂2021年成绩单
- 2021-12-30 微软 Surface Trio 折叠产品曝光:屏幕
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
