我正在分析一个恶意 JS 文件,该文件以一种我无法去混淆的方式进行了混淆。当我在虚拟机中执行它并观察进程更改时,我注意到创建了一个新的可执行文件,当获得它时,结果是用 Visual Basic 6 编写的。
我知道 JS dropper 通常被编写来下载二级恶意软件,但在这种情况下,exe 是在没有任何网络通信的情况下创建的。这是否意味着VB6 exe被打包在原始JS文件中?在高层次上,这如何实施?
我正在分析一个恶意 JS 文件,该文件以一种我无法去混淆的方式进行了混淆。当我在虚拟机中执行它并观察进程更改时,我注意到创建了一个新的可执行文件,当获得它时,结果是用 Visual Basic 6 编写的。
我知道 JS dropper 通常被编写来下载二级恶意软件,但在这种情况下,exe 是在没有任何网络通信的情况下创建的。这是否意味着VB6 exe被打包在原始JS文件中?在高层次上,这如何实施?
可执行文件很可能嵌入在 javascript 文件本身或任何随附文件(例如,.html使用 javascript 下载的文件)中。
正如 Memo 所提到的,嵌入的可执行文件可以在 javascript 文件中进行编码、混淆甚至加密,在将其写入磁盘并执行之前,需要对 javascript 文件进行解码、反混淆或解密。
最有可能的 VB6 可执行文件是 base64 编码的,并作为字符串嵌入到混淆代码中。然后在运行时解码回二进制文件。
https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding