NPM恶意包利用Unicode 隐写术躲避检测

admin 2025年5月17日03:53:23评论2 views字数 1101阅读3分40秒阅读模式

NPM恶意包利用Unicode 隐写术躲避检测 聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

NPM 指数中存在一个恶意包,它利用不可见的 Unicode 字符隐藏恶意代码以及通过谷歌日历链接来托管C2位置的URL。
NPM恶意包利用Unicode 隐写术躲避检测

该恶意包的名称是“os-info-checker-es6”,它是一款信息工具,自月初起的下载量已超过1000次。

Veracode 公司的研究人员发现,3月19日该包的第一个版本发布在NPM指数且该版本并非恶意性质,它仅从主机收集操作系统信息。几天后,该包的作者增加了修改器以纳入针对平台的二进制并混淆了安装脚本。5月7日,作者发布了该NPM包的新版本,其中包括“适用于复杂的C2机制”的代码,用于交付最终的payload。当前该包的版本是v1.0.8,且是恶意性质。另外,该程序包是NPM其它四个包(skip-tot、vue-dev-sereverr、vue-dummyy和 vue-bit-all)的依赖,而这四个包声称是可达性和开发者平台工程工具。目前尚不清楚这些包是否以及如何被威胁人员推广。

NPM恶意包利用Unicode 隐写术躲避检测
Unicode 隐写术

在恶意包版本中,攻击者将数据嵌入字符串 “|”。然而,该垂直杠后面跟着一长串不可见的来自变体选择器补充范围 (U+E0100 to U+E01EF) 的 Unicode 字符。

正常情况下,这些 Unicode 字符是修改器,通常用于“在复杂脚本中提供特定的字形变化。”在本例中,它们的作用是便于通过基于文本的隐写术在其它数据中隐藏信息。

研究人员解码该字符并取消混淆,发现了复杂C2机制中的一个payload依赖于谷歌日历短链接来触及托管着最终 payload 的位置。研究人员解释称,提取谷歌日历的链接后,在收到该请求的HTTP 200 OK响应之前选择了一系列重定向。之后,它从该事件的HTML页面爬取了一个 data-base-title属性,而该页面持有指向最终payload的基于base64编码的URL。通过名为“ymmogvj”的函数,该URL被解码以获取恶意软件payload。研究人员表示该请求应该会在响应主体中收到一个base编码的第二阶段恶意软件payload,而且很可能在HTTP标头中收到一个初始化向量和一个安全密钥,这说明最终payload可能被加密。

研究人员还发现,该payload 也通过eval() 执行。该脚本在系统的临时目录中包含一个简单的持久性机制,用于阻止在同时运行多个实例。而研究人员在分析时无法检索到最终 payload,说明该攻击可能暂停或者仍然处于早期阶段。

尽管研究人员已将情况告知NPM,但这些可疑的恶意包目前仍然位于平台上。

原文始发于微信公众号(代码卫士):NPM恶意包利用Unicode 隐写术躲避检测

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月17日03:53:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   NPM恶意包利用Unicode 隐写术躲避检测http://cn-sec.com/archives/4073494.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息