标签: UNICODE

​​恶意 npm 包利用 Unicode 隐写术​​ ​,借助 Google Calendar 构建 C2 投递链​

HackerNews 编译,转载请注明出处: 网络安全研究人员发现名为“os-info-checker-es6”的恶意npm包,其伪装成操作系统信息工具,在受感染系统中秘密投递下一阶段恶意载荷。Veracode在向《黑客新闻》提供的报告中指出:“该攻击活动采用基于Unicode的隐写术隐藏初始恶意代码,并通过Google Calendar短链接动态分发最终载荷。” “os-info-checker-es6”由用户“kim9123”于2025年3月19日上传至npm仓库,截至5月15日已被下载2001次。该用户还上传了另一个名为“skip-tot”的npm包(下载量94次),其中将“os-info-checker-es6”列为依赖项。虽然前五个版本未显现数据窃取或恶意行为,但2025年5月7日更新的版本在“preinstall.js”文件中植入混淆代码,通过解析Unicode“私有使用区”字符提取下一阶段载荷。 恶意代码通过向Google Calendar事件短链接(calendar.app[.]google/<字符串>)发送Base64编码字符串(解码后指向IP地址140.82.54[.]223的远程服务器)建立通信。Veracode指出:“攻击者利用Google Calendar这类受信任的合法服务作为中间层托管C2链接,这种策略能有效规避检测并增加攻击初始阶段的阻断难度。”目前尚未发现后续载荷分发,可能表明攻击活动仍处于测试阶段、暂时休眠或已结束,亦或C2服务器仅响应特定条件的设备。 应用安全公司Aikido补充指出,另有三个npm包(vue-dev-serverr、vue-dummyy、vue-bit)将“os-info-checker-es6”列为依赖项,怀疑属于同一攻击活动。Veracode强调:“该恶意包展现了npm生态中复杂的多阶段攻击威胁,攻击者从测试行为逐步升级至部署成熟恶意软件。” 此次披露恰逢软件供应链安全公司Socket发布2025上半年威胁报告,指出攻击者主要采用六类技术:typosquatting(拼写劫持)、Go仓库缓存滥用、混淆代码、多阶段执行、slopsquatting(相似包劫持)以及合法服务与开发工具滥用。安全研究员Kirill Boychenko与Philipp Burckhardt建议:“防御者需关注安装后脚本异常、文件覆写及未经授权外联等行为特征,采用静态/动态分析、版本锁定及CI/CD日志审查等手段,在恶意依赖项进入生产环境前实施阻断。”       消息来源: thehackernews; 本文由 HackerNews.cc 翻译整理,封面来源于网络; 转载请注明“转自 HackerNews.cc”并附上原文

网络钓鱼攻击利用隐形 Unicode 技巧隐藏 JavaScript

HackerNews 编译,转载请注明出处: 一种新的 JavaScript 混淆方法利用隐形 Unicode 字符来表示二进制值,这种方法正在针对美国政治行动委员会(PAC)附属机构的网络钓鱼攻击中被积极利用。 Juniper Threat Labs 发现了这次攻击,报告称该攻击发生在 2025 年 1 月初,显示出高度复杂性,包括使用以下手段: 使用个性化非公开信息来针对受害者, 使用调试器断点和时间检查来规避检测, 使用递归包装的 Postmark 跟踪链接来掩盖最终的网络钓鱼目的地。 JavaScript 开发者 Martin Kleppe 于 2024 年 10 月首次披露了这种混淆技术,其在实际攻击中的快速采用突显了新研究如何迅速被武器化。 使 JS 负载“隐形” 这种新的混淆技术利用了隐形 Unicode 字符,特别是 Hangul 半角(U+FFA0)和 Hangul 全角(U+3164)字符。 JavaScript 负载中的每个 ASCII 字符都被转换为 8 位二进制表示,其中的二进制值(1 和 0)被替换为隐形的 Hangul 字符。 混淆后的代码存储为 JavaScript 对象的一个属性,由于 Hangul 填充字符显示为空白,脚本中的负载看起来是空的,如下图所示。 空白处隐藏恶意代码 一个简短的引导脚本使用 JavaScript Proxy 的 get() trap 来检索隐藏的负载。当访问隐藏属性时,Proxy 将隐形的 Hangul 填充字符转换回二进制,并重建原始的 JavaScript 代码。 Juniper 的分析师报告称,攻击者除了上述手段外,还采取了额外的隐藏步骤,例如使用 base64 编码脚本和使用反调试检查来规避分析。 “这些攻击高度个性化,包括非公开信息,初始 JavaScript 会尝试在被分析时调用调试器断点,检测到延迟后,然后通过重定向到良性网站来中止攻击,”Juniper 解释道。 这些攻击难以检测,因为空白减少了安全扫描器将其标记为恶意的可能性。 由于负载只是对象中的一个属性,它可以被注入到合法脚本中而不引起怀疑;此外,整个编码过程易于实现,不需要高级知识。 Juniper 表示,此次活动中使用的两个域名此前与 Tycoon 2FA 网络钓鱼工具包有关。 如果是这样,我们可能会在未来看到这种隐形混淆方法被更广泛的攻击者采用。   消息来源:Bleeping Computer; 本文由 HackerNews.cc 翻译整理,封面来源于网络;   转载请注明“转自 HackerNews.cc”并附上原文