IconBust,一种新的 NPM 攻击

所有文章

在超过两打 NPM 软件包中发现了一种新的软件供应链攻击,旨在从应用程序和网站中提取数据。

威胁 -

本月早些时候,ReversingLabs 发现了 IconBurst,这是一种 JavaScript NPM 攻击, 安装恶意 NPM 模块,从移动应用程序和网站中嵌入的表单中获取数据。

传播 -

目前攻击的传播情况尚不完全清楚,但是,它有可能大规模感染由开发人员使用这些软件包构建的网站和应用程序。由于每个开发人员可以构建多个站点,因此威胁被放大。由于某些软件包被下载了数万次,估计范围可能与 Log4J 和 SolarWinds 等过去的大规模感染一样广泛。虽然 Log4J 更为广泛,SolarWinds 的影响也更大,但最终造成的损害也同样严重。

科技–

这些包使用 jQuery 脚本,旨在从已部署的应用程序中窃取数据。

此外,IconBurst 使用 JavaScript 混淆器来隐藏一些代码。 混淆器通常旨在保护开源包中的专有代码并压缩 JavaScript 文件。然而,IconBurst 使用它来隐藏在提取序列化表单数据时使用的渗透地址。

这意味着在不知情的情况下使用这些假包的开发人员并不是攻击的目标,真正的目标是最终用户。

感染 -

自今年年初以来,已识别出 24 个使用误植域名方法作为分发手段的软件包。

攻击者使用仿冒技术,这意味着通过 NPM 等公共存储库冒充合法软件包。

IconBurst 专注于包含“Icon”一词的软件包,模仿高流量的 NPM 模块,并提供具有令人困惑的常见拼写错误名称的软件包。 

域名抢注是域名抢注攻击的一种形式,也是社会工程攻击的一种形式。 

为什么使用“icon”作为基本关键字 - 原因可能是 ionicons 包,经常用于在使用 ionic 框架构建的应用程序中提供图标。

icon-package 的下载次数超过 17000,是迄今为止下载次数最多的软件包,ionicio 软件包的下载次数超过 3700。

旗帜 -

那么是什么造成了 逆向实验室 举起众所周知的危险信号? JavaScript 混淆器。

如前所述,JavaScript 混淆器旨在保护 Javascript 应用程序,它可以让开发人员保护代码免遭复制或逆向工程。

然而,此功能的缺点是它可能被攻击者利用来伪装恶意代码。

javascript 混淆器的存在使得 ReversingLabs 工程师检查了许多 NPM 包,在查看这些包的名称后,出现了一种模式。第一批检查的包裹中有几个带有“图标”一词,这表明攻击者的策略变得清晰,即抢占拼写错误并进行大规模感染。

攻击者并没有尝试专门针对带有图标一词的软件包,但最终大多数下载的软件包都是与图标相关的,因为它们很受欢迎。 

汉斯 – “IconBurst”

这是列表:

作者/包名称下载次数原包名
离子图标108离子离子
离子3,724离子离子
图标包17,774离子离子
ajax 库2,440
雨伞686雨伞
ajax 库530
图标包101
包 sidr91
知识库89
图标包380
苏贝克99
包装展示103
包图标122
图标包170
ionicon 包64
图标包49
包图标468
离子包89
包离子图标144
包 ionicon57
Base64-javascript40
ionicons-js38
ionicons-json39
富特里孔1,903
咆哮-0140
咆哮-0237
wkwk10038
swiper邦迪39刷卡
ajax 库40
swiper 捆绑包185刷卡
阿特兹43
ajax-googleapis38
特兹多安克69
阿贾克斯皮斯40
特斯科德克38
阿特兹114
libz.jquery160
ajax 库36

目的–

IconBurst 旨在针对最终用户并获取输入表单的数据。其他攻击可能针对其他类型的数据或其他类型的目标受众,而不是最终用户。

但攻击者总是在追求数据吗?事实上不,他们不是。我们还看到过其他类型的攻击;攻击者使用隐藏在软件包中的代码并设法安装加密货币矿工,以受攻击机器的资源(计算能力)为目标,并且完全不影响其数据。

概括 -

IconBurst 展示了使用极其简单的技术的能力, JavaScript 混淆器通过 NPM 等公共存储库伪装恶意代码并冒充合法包。

IconBurst 真正的王牌是 社会工程,而不是高度复杂的技术,它也可以同样有效。

此内容由领先的端到端软件供应链安全解决方案提供商 Scribe Security 为您提供 - 为整个软件供应链中的代码工件以及代码开发和交付流程提供最先进的安全性。 了解更多