Follina 补了?IE 凉了?花几分钟再弹个计算器

渗透技巧 2年前 (2022) admin
612 0 0

由于没有漂亮的小姐姐可以拍旅游 vlog,继续写穷酸的技术文。


虽然本文不涉及任何漏洞,考虑到一些因素,还是隐去一些关键的字符串信息。具有分析能力的读者很应该能独立找到。


上周的 Patch Tuesday 微软发布了 CVE-2022-30190,即野外被利用的 Office 漏洞 Follina 的补丁,而且正式宣布 Internet Explorer 退出历史舞台[1]


Follina 补了?IE 凉了?花几分钟再弹个计算器


不过严格的安全研究社区网友表示,所谓的 IE 退出历史舞台,只不过是把本来应该用 IE 打开的 URL 重定向到 Edge 浏览器。而广受诟病的 ActiveX/OLE,URL Monikers 等组件依然存在。用 0day 打 Office 的人可不管你用不用 Edge 上网,反正能触发到就行。


既然 IE 所谓的退出历史舞台只是躲到幕后而已,那么我们花点时间碰碰运气,看还有没有好玩的洞。


Follina 的漏洞成因和分析网上也满天飞,大致关键点如下:


  1. Word 中嵌入外部的 HTML 页面,通过 IE 渲染

  2. 浏览器打开伪协议本来需要用户确认,在 Word 中嵌入却可以直接跳转

  3. 伪协议 ms-msdt: 在处理 URL 参数的时候存在 PowerShell 命令注入


既然 Word 嵌入网页弹伪协议的点还在,就依葫芦画瓢。到这里是不是觉得我要用 calculator: 这个全世界都知道的东西欺骗读者的感情,浪费生命中宝贵的三分钟了?


我要真想骗读者的时间,还不如做个小视频。片头结尾动画各五秒,几张图片幻灯片循环,配上没有感情的 TTS 合成语音朗读没营养的小编体。相信很多小伙伴听到后都不敢相信,但是事实就是这样,小编也感到非常震惊,希望大家了解后能够解决困惑。以上就是没营养的自媒体营销号的全部内容,希望能够帮助到大家。更多更快更新精彩内容,请关注非尝咸鱼贩。


用如下代码枚举系统已经注册的伪协议,包括 Windows 自带和第三方软件注册的:


foreach ($Key in Get-ChildItem Microsoft.PowerShell.CoreRegistry::HKEY_CLASSES_ROOT) {    $Path = $Key.PSPath + 'shellopencommand'    $HasURLProtocol = $Key.Property -contains 'URL Protocol'
if (($HasURLProtocol) -and (Test-Path $Path)) { $CommandKey = Get-Item $Path $Scheme = $Key.Name.SubString($Key.Name.IndexOf('') + 1) + ':' Write-Host $Scheme $CommandKey.GetValue('') }}


部分输出截取如下。


ms-perception-simulation: C:Windowssystem32PerceptionSimulationPerceptionSimulationInput.exe %1ms-powerpoint: C:Program FilesMicrosoft OfficeRootOffice16protocolhandler.exe "%1"ms-publisher: C:Program FilesMicrosoft OfficeRootOffice16protocolhandler.exe "%1"ms-quick-assist: "C:Windowssystem32quickassist.exe" %1


重点关注那些没有给参数加引号的,这样就无需闭合,也避免了浏览器 URI encode 参数导致载荷失效的问题。


发现一个有趣的 ms-***-****ent: 协议,指向的命令行参数是 Rundll32 执行一个库。打开 dll 逆一下看看。


Follina 补了?IE 凉了?花几分钟再弹个计算器


整个函数非常短,到这一步从枚举对象到阅读完这个函数,五分钟都嫌太久了。


  1. 首先检查注册表,是否开启了 Retail Demo 模式,也就是卖场的展示机

  2. ParseURLW 获取 URL 参数的 pszSuffix 部分,通常就是 username@hostname 这一段

  3. 直接扔给 ShellExecute


Follina 补了?IE 凉了?花几分钟再弹个计算器


认真的吗?虽然 ShellExecute 显然不如 PowerShell 注入来的强大,但结合 UNC 路径还是有机会执行任意代码的。至少 cmd / notepad / calc 随便弹。


POC 来试一试。


如下操作可能对计算机造成一定副作用,请尽量在虚拟机内测试,造成数据丢失等一概不负责。


把如下注册表项改成 1 启用卖场模式。


Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRetailDemoOobeWrite]"Enabled"=dword:00000001


再次提醒,将计算机设置成卖场模式后,Windows 可能会重置设备全部资料,并填充演示数据。如果测试不当造成数据丢失,本文一概不负责。


In a short time after a shopper stops interacting with the device, the retail demo plays, and Windows begins resetting any sample data in the contacts, photos, and other apps. Depending on the device, this could take between 1-5 minutes to fully reset everything back to normal.


开始、运行,ms-***-******nt:calc,计算器弹出来了。这……


在浏览器试试 location 跳转伪协议。需要用户确认,但是也弹了(这里换成了 cmd)


Follina 补了?IE 凉了?花几分钟再弹个计算器


Follina 补了?IE 凉了?花几分钟再弹个计算器


网上有现成的 Follina POC,换掉 payload,另存为 rtf。


Follina 补了?IE 凉了?花几分钟再弹个计算器


补丁打满,资源管理器预览和 Word 打开均有效。


Follina 补了?IE 凉了?花几分钟再弹个计算器


这……这……


那么这是个漏洞吗?


是的话我还敢发,早屁颠屁颠去报了。跟 SRC 打过交道的我们都应该知道,一个漏洞评估等级需要结合场景和条件。


如上的触发方式虽然和 Follina 如出一辙,却包含一个无法绕过的先决条件。Windows 的注册表必须提前设置过,启用 Retail Demo 模式 [2]。不仅非默认配置,而且还是一个普通用户绝对不会使用的模式


Retail Demo 顾名思义就是卖场里的电脑。通常我们会看到如下界面,滚动播放一些诱人的功能,或者直接展示配置和价格:


Follina 补了?IE 凉了?花几分钟再弹个计算器

图片来自微软文档


谁会把家里或者办公室的电脑设置成这样?


卖场都配有鼠标键盘,想要弹 shell 摆拍,直接开始、运行就好了嘛。


拿去交 MSRC,差不多就是脑门上写了“我是来搞笑的”。


这个点非常浅,相信在我写这篇文章之前肯定有一大堆人注意到了。然而没有实际影响,也只能拿来弹一弹窗口作为娱乐。


只找到个 meme,就当是学习了。虽然以前经常“我觉得这个没有实际影响”最后却被人疯狂打脸,这一次我还是坚持这个结论。


从 IE 勉强能看出微软和苹果行事风格上的巨大差异。一个被开发者憎恨、用户嫌弃、官方正式宣告死亡的浏览器引擎,其实只是被雪藏了。苹果却能轻松地抛弃过时的组件,甚至删除 32 位程序支持都是雷厉风行。


很难说两种风格孰是孰非,只能说后者对生态系统强硬的态度和掌控力在修复安全问题上更能占到便宜。攻击面都给你删了,玩点新的吧。


参考资料


[1]. Internet Explorer 11 has retired and is officially out of support—what you need to know
https://blogs.windows.com/windowsexperience/2022/06/15/internet-explorer-11-has-retired-and-is-officially-out-of-support-what-you-need-to-know/
[2]. Customize the Retail Demo Experience (RDX)

https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/retail-demo-experience


原文始发于微信公众号(非尝咸鱼贩):Follina 补了?IE 凉了?花几分钟再弹个计算器

版权声明:admin 发表于 2022年6月22日 上午5:41。
转载请注明:Follina 补了?IE 凉了?花几分钟再弹个计算器 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...