专栏名称: 嘶吼专业版
为您带来每日最新最专业的互联网安全专业信息。
目录
相关文章推荐
嘶吼专业版  ·  网络钓鱼攻击使用隐形Unicode ... ·  22 小时前  
智在点滴  ·  清华大学 DeepSeek ... ·  23 小时前  
智在点滴  ·  清华大学 DeepSeek ... ·  23 小时前  
偶俚张家港  ·  账号关闭!永久封禁! ·  昨天  
偶俚张家港  ·  账号关闭!永久封禁! ·  昨天  
掌中淄博  ·  冲上热搜,家里不建议安装!警方提醒→ ·  2 天前  
51好读  ›  专栏  ›  嘶吼专业版

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

嘶吼专业版  · 公众号  · 互联网安全  · 2025-02-26 14:00

正文

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

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

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

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

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

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

使JS有效负载“不可见”

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

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

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

隐藏恶意代码的空白

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

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

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

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

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

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







请到「今天看啥」查看全文