网络安全研究人员详细介绍了通过 13 个恶意 NuGet 程序包分发的加密货币窃取器恶意软件的内部工作原理,作为针对 .NET 开发人员的供应链攻击的一部分。
JFrog 上月底详细介绍了复杂的域名仿冒活动,它冒充合法程序包来执行旨在从硬编码服务器检索后续二进制文件的 PowerShell 代码。
两阶段攻击最终部署了一个基于 .NET 的持久性后门,称为 Impala Stealer,它能够获得对用户加密货币帐户的未授权访问。
“有效负载使用了一种非常罕见的混淆技术,称为‘.NET AoT 编译’,它比使用‘现成的’混淆器隐蔽得多,同时仍然使二进制文件难以逆向工程,”JFrog 在一份黑客新闻中告诉黑客新闻。
NET AoT 编译是一种优化技术,可让应用程序提前编译为本机代码。本机 AOT 应用程序还具有更快的启动时间和更小的内存占用,并且可以在没有安装 .NET 运行时的机器上运行。
第二阶段的有效载荷带有自动更新机制,使其能够从远程位置检索可执行文件的新版本。它通过将 JavaScript 代码注入 Discord 或 Microsoft Visual Studio Code 应用程序来进一步实现持久性,从而激活窃取程序二进制文件的启动。
然后,二进制文件继续搜索 Exodus Wallet 桌面应用程序的安装,并将 JavaScript 代码插入各种 HTML 文件,以收集敏感数据并将其泄露到硬编码的 Discord webhook。
就其本身而言,JavaScript 片段是从一个已被删除的在线粘贴网站中获取的。也就是说,怀疑该代码可能已用于窃取用户凭据并访问其他感兴趣的信息。
JFrog 安全研究高级主管 Shachar Menashe 表示:“不良行为者使用域名仿冒技术部署自定义恶意负载“我们的调查证明,没有开源软件存储库是完全值得信赖的,因此在软件开发生命周期的每一步都应采取安全措施,以确保软件供应链保持安全。”
Phylum 发现了一个名为 mathjs-min 的恶意 npm 包,该包于 2023 年 3 月 26 日上传到存储库,并发现其中包含一个凭证窃取程序,该程序从官方应用程序以及 Google Chrome 等网络浏览器中获取 Discord 密码,勇敢和歌剧。
“该软件包实际上是广泛使用的 Javascript 数学库 mathjs 的修改版本,并在分叉后注入了恶意代码,”这家软件供应链安全公司表示。“然后将修改后的版本发布到 NPM,目的是将其作为真正的 mathjs 库的缩小版本传递出去。”