攻击者使用编码的JavaScript来传播恶意软件

网络攻击者利用编码的JavaScript文件隐藏恶意软件,滥用微软的脚本编码器将有害脚本伪装在.jse文件中。ANY.RUN的沙盒有助于检测和解密这些威胁,从而提高安全分析效率。

 

网络攻击者不断创新新方法来隐藏他们的恶意意图。最近,ANY.RUN的网络安全研究人员发现了攻击者使用的一种策略,该策略涉及滥用编码的JavaScript文件。攻击者一直在使用Microsoft Script Encoder来伪装.jse文件中的有害脚本。

这种策略使得恶意软件可以隐藏在看似合法的脚本中,对毫无戒心的用户和传统安全措施构成重大威胁。

微软最初开发Script Encoder是为了帮助开发人员混淆JavaScript和VBscript,同时保持它们可以通过wscript和类似的解释器执行。此工具最初旨在保护源代码,但它也成为恶意软件开发人员的宝贵资源。

通过将JavaScript编码为非人类可读的格式,攻击者可以隐藏其恶意脚本。后者可以通过网络钓鱼活动或驱动下载攻击进行传播,用户在不知情的情况下运行恶意脚本。

这种混淆技术使得传统安全工具很难检测到隐藏的威胁。但是,借助ANY.RUN的Script Tracer等工具,可以更快地检测到它们。

要查看脚本执行的日志,请在ANY.RUN的沙箱内运行示例。

运行示例后,您可以使用ANY.RUN的脚本跟踪器在隔离环境中发现脚本的行为:
1. 获取加密数据的长度
首先确定脚本编码部分的长度。在此过程中,请留意@符号,它是脚本中的关键标记。

当您看到@时,它表示下一个字符已使用特定算法进行了修改。

2. 按顺序替换值
识别编码字符后,开始替换过程。此步骤涉及用其对应的解码值替换每个编码符号。要解码脚本中的每个字符,请按照下图中的说明进行操作:

3. 获取解密值
随着你解码每个字符,你将开始发现脚本的可读形式。这种逐步解码揭示了隐藏在编码数据中的底层命令。

4. 将解密后的字节插入缓冲区
解码每个字符后,将解码结果存储在缓冲区(用于保存数据的临时空间)中。继续添加解密的字符,直到处理完整个脚本。

5. 使用ord()函数获取字符值
使用ord()函数获取每个符号的数值,然后使用PICK_ENCODING从预定义编码元组中检索相应的解码字符。

手动解密编码脚本可能非常复杂且耗时。为了使解密过程更轻松、更快捷,您可以使用ANY.RUN的沙盒等工具。

它允许您在安全的环境中分析恶意软件行为,为您提供详细分析所需的见解。

发表评论

评论已关闭。

相关文章