一种利用隐形Unicode字符代表二进制值的新型JavaScript混淆技术,正被积极用于针对美国政治行动委员会(PAC)附属机构的钓鱼攻击中。Juniper Threat Labs发现这一攻击发生在2025年1月初,具有明显的复杂性特征,包括:
这种新型混淆技术利用了隐形Unicode字符,特别是半宽韩文字符(U+FFA0)和全宽韩文字符(U+3164)。每个JavaScript负载中的ASCII字符被转换为8位二进制表示,其中的二进制值(1和0)被替换为隐形的韩文字符。
混淆后的代码作为属性存储在JavaScript对象中,由于韩文填充字符显示为空白,脚本中的负载看起来是空的,如下图所示尾部的空白空间。
空白隐藏恶意代码 来源:Juniper
一个简短的引导脚本使用JavaScript Proxy的'get()陷阱'来检索隐藏的负载。当访问隐藏属性时,Proxy将隐形韩文填充字符转换回二进制并重建原始JavaScript代码。
Juniper分析师报告称,攻击者除了上述方法外,还使用了额外的隐蔽步骤,如使用base64编码脚本,并使用反调试检查来逃避分析。
一系列韩文填充字符的Base64编码 来源:Juniper
Juniper解释说:“这些攻击高度个性化,包含非公开信息。如果正在分析,初始的JavaScript将尝试调用调试器断点,检测到延迟,然后通过重定向到良性网站来中止攻击。”
由于空白提高了被安全扫描器标记为恶意的难度,这种攻击难以检测。此外,负载仅是对象中的一个属性,因此可以注入到合法脚本中而不会引起怀疑,整个编码过程也易于实现,不需要高级知识。
Juniper提到,此活动中使用的两个域名此前与Tycoon 2FA钓鱼工具有关联。如果情况属实,未来我们可能会看到这种隐形混淆技术被更广泛的攻击者采用。
下一篇
已是最新文章