查看原文
其他

Excel 刚宣布支持 JavaScript 函数,CoinHive 挖矿 PoC 已现身

代码卫士 2022-04-06

 聚焦源代码安全,网罗国内外最新资讯!

作者:Lawrence Abrams 和 Catalin Cimpanu

翻译:360代码卫士团队

在美国西雅图举办的 Build 2018 开发者大会上,微软宣布将在 Excel 中支持自定义 JavaScript 函数。就在微软宣布在 Excel 中推出自定义 JavaScript 函数的几天之内,一名研究人员就已经开发出在 Excel 中加载 CoinHive 浏览器 JavaScript 挖矿机的方法。

1微软宣布 Excel 将支持 JavaScript 函数

这意味着 Excel 用户将能够使用 JavaScript 代码创建 Excel 自定义函数,而所创建的函数将出现在 Excel 的默认函数数据库中。

届时,用户将能够从 Excel 表单中插入并调用这些函数,不过将通过 JavaScript 解释器而非 Excel 的原生引擎计算表单数据。

微软指出,“出于各种原因,Office 开发人员一直都想写入 JavaScript 自定义函数,如(1)计算数学运算,比如某个数是否是质数。(2)从网络提取数据如银行账户余额。(3)获取实时数据如股票价格。”

目前仅供 Office Insiders 成员使用

该功能刚出现,并不受 Excel 稳定版支持。

微软在一份支持文档中表示,“自定义 [JavaScript] 函数目前仅在 Windows、Mac 和 Excel Online 的开发者预览中可用。”

用户必须加入 “Office Insiders” 计划并安装自定义附件才能测试或使用自定义 JavaScript 函数。

Excel 功能很多但不支持 Python 脚本

多年来,用户一直都在要求 Excel 支持 Python 作为官方脚本语言。尽管微软去年表示正在考虑这个呼声颇高的功能,但 Build 2018 大会上并未发布任何关于支持 Python 的消息。

除了支持自定义 JavaScript 函数外,微软还宣布支持 “微软 Azure 机器学习服务”,作为使用机器学习算法扩展 Excel 内置方程数据库的方法。

另外,微软还宣布称,Exce 也将能够从 Power BI导入自定义表格和报告。Power BI 是由微软提供的一款企业分析服务,用于渲染交互可视化。

最后,微软还宣布在 Excel 中集成 “Flow”,使用户能够从托管在 SharePoint 和 OneDrive for Business 的表单中向很多服务如 Teams、Dynamics 365、Visual Studio Onlien 和 Twitter 等中发送数据。

微软指出,“[Flow] 集成将首先作为附件出现在 Office Store 中,而且将在今年晚些时候成为自带组件。”

另外,微软还在 Build 2018 大会上介绍了其它产品。

2Coinhive 挖矿PoC 已现身

当这个自定义 JS 函数的消息刚公布时,我们很快就意识到,不管这个新函数的功能有多么强大,人们认为它也将被恶意利用。

就在该函数发布数小时内,安全研究员 Chase Dardaman 就发现利用这个新函数通过自定义 JavaScript Excel 函数加载 CoinHive 浏览器挖矿机的方法。

在 Excel 中加载 CoinHive

在深入探讨之前,我们有必要认识到这只是一个 PoC,而且要使用 Excel 中的自定义函数,你首先必须将其作为附件加载到 Excel 中。因此以目前的格式来看,它尚未成为切实可行的攻击选项。话虽如此,但攻击者非常狡猾,而且有志者事竟成,因此未来如果这个函数遭自动利用的话也并不令人惊讶。

自定义 JavaScript 函数通过创建三个文件并将其存储在可访问的 web 服务器的方式起作用。这些文件是一个 JS 文件,其中包含自定义公式、加载 JavaScript 文件的一个 html 文件以及作为配置文件的 JSON 文件。其次,你还需要创建一个 XML 文件进行显示且可由 Excel 本地使用以将你的自定义函数作为附件。

使用自定义 JS 方程时,Excel 将创建一个以你的浏览器加载多个文件,然后执行自定义 JavaScript 函数。快速研究了如何做到这些后,Dardaman 轻松地创建了附件,将 CoinHive 加载到这个隐匿的浏览器中。

Dardaman 指出,创建这个附件几乎没耗费什么时间,“非常容易做。我之前从未添加过任何东西或者写过 excel 宏,下载预览之后,我只用了大约1个小时就让它起作用了。”

更糟糕的是,Dardaman 表示,它“还具有持续性,因此如果我添加了这个函数并将 excel 表单保存后,当重新打开表单时,它就会自动运行这个函数。”

Dardaman 在 Excel 中测试挖矿机时将阈值设置为50,表明 CoinHive 将消耗 50% 的计算机 CPU。下图展示了加载 CoinHive 的隐藏浏览器即微软 Excel Web Content,它使用了206% 的4个计算机核。


由于创建自定义 JavaScript 函数较快且容易实施,因此新攻击的出现只是时间问题。Dardaman 也同意这一看法并认为研究人员将很快找到利用这个函数的新方法。

如想了解 Dardaman 在 Excel 中创建的 CoinHive PoC,可访问其博客文章 (https://charles.dardaman.com/js_coinhive_in_excel)。



关联阅读

Electron JS 框架存在严重的 RCE 漏洞  GitHub 等热门 app 受影响

如何阻止ZIP文件执行恶意JS


原文链接

https://www.bleepingcomputer.com/news/security/poc-developed-for-coinhive-mining-in-excel-using-custom-javascript-functions/

https://www.bleepingcomputer.com/news/microsoft/microsoft-adds-support-for-javascript-functions-in-excel/


本文由360代码卫士编译,不代表360观点,转载请注明 “转自360代码卫士www.codesafe.cn”。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存