幽灵代码:黑客如何利用V8引擎绕过检测

Check Point 揭示了网络犯罪分子的多层次策略。

来源:安全实验室新闻频道

Check Point 揭示了网络犯罪分子的多层次策略。

Check Point 对攻击者使用编译的 V8 JavaScript 引擎进行了详细调查。黑客利用的一种方法可以将 JavaScript 编译成低级字节码。这种技术有助于隐藏源代码并避免静态分析,这使得恶意文件的分析几乎不可能。

检查点 详细调查 JavaScript

V8 是由 Google 开发的开源 JavaScript 引擎,用于 Chrome 浏览器以及 Node.js 等其他项目。 V8的主要任务是通过将JavaScript代码转换为字节码来优化和加速其执行。然而,攻击者也使用此功能来隐藏其恶意软件的源代码。

要将 JavaScript 编译为字节码,可以使用 Node.js 中的 vm 模块,它提供了 vm.Script 方法。此方法编译 JavaScript 代码并将其存储为字节码。更方便的方法是使用bytenode库,它简化了编译和执行字节码的过程。

CPR 开发了 View8 工具来分析编译后的 V8 JavaScript。该工具允许您将 V8 字节码反编译为可读的高级代码,这有助于识别和分析恶意文件。在它的帮助下,我们分析了数千个恶意应用程序,包括远程访问木马、信息窃取程序、加密挖矿程序和勒索软件。

使用编译的 V8 JavaScript 的一个示例是 ChromeLoader。该恶意软件会劫持帐户、窃取数据并启动其他恶意程序。该恶意软件使用 V8 字节码,因此难以检测和分析。在最新版本的 ChromeLoader 中,恶意软件使用 Electron 框架创建桌面应用程序,并在其中注入恶意脚本。

ChromeLoader C2