跳转到帖子

网络钓鱼攻击使用隐形Unicode Trick隐藏JavaScript

recommended_posts

发布于
  • Members

一种新的JavaScript混淆方法利用不可见的Unicode字符来表示二进制值,在针对美国政治行动委员会(PAC)附属机构的网络钓鱼攻击中被积极滥用。

发现此次攻击的网络威胁实验室报告称,该攻击发生在2025年1月初,并带有复杂的迹象,例如使用了:

·针对受害者提供个性化的非公开信息;

·调试器断点和定时检查以逃避检测;

·递归包装邮戳跟踪链接到模糊的最终网络钓鱼目的地。

JavaScript开发人员在2024年10月首次披露了这种混淆技术,它在实际攻击中的迅速采用凸显了新研究被武器化的速度。

使JS有效负载“不可见”

新的混淆技术利用不可见的Unicode字符,特别是韩文半宽(U+FFA0)和韩文全宽(U+3164)。

JavaScript负载中的每个ASCII字符被转换为8位二进制表示,其中的二进制值(1和0)被不可见的韩文字符替换。

混淆后的代码作为属性存储在JavaScript对象中,由于韩文填充字符呈现为空白,因此脚本中的有效负载看起来为空,如下图末尾的空白所示。

white-space.webp.png

隐藏恶意代码的空白

一个简短的引导脚本使用JavaScript代理的“get()陷阱”检索隐藏的有效负载。当访问hidden属性时,Proxy将不可见的韩文填充字符转换回二进制并重建原始JavaScript代码。

Juniper分析师报告称,攻击者除了上述步骤之外,还使用了额外的隐藏步骤,比如用base64编码脚本,并使用反调试检查来逃避分析。

base64.jpg

韩文填充字符序列的Base64编码

Juniper解释说:“攻击是高度个性化的,包括非公开信息,最初的JavaScript会在被分析时试图调用调试器断点,检测到延迟,然后通过重定向到一个正常的网站来中止攻击。”

这种攻击很难检测,因为空白减少了安全扫描仪将其标记为恶意的可能性。

由于有效负载只是对象中的一个属性,因此可以将其注入合法脚本而不会引起怀疑;另外,整个编码过程很容易实现,不需要高级知识。

Juniper表示,此次活动中使用的两个域名先前与Tycoon 2FA网络钓鱼工具包有关。如果是这样,我们很可能会看到这种不可见的混淆方法在未来被更广泛的攻击者采用。

  • 查看数 713
  • 已创建
  • 最后回复

参与讨论

你可立刻发布并稍后注册。 如果你有帐户,立刻登录发布帖子。

游客
回帖…