最近似乎有大量的 zip 文件通过电子邮件发送给人们,其中包含一个 .js 文件,其中包含下载和执行加密软件的代码。
.js 是如何实际执行的呢?用户是否必须在提取 javascript 文件后自己执行它,或者是否有可能让 javascript 文件在提取时执行?我对这如何导致如此多的感染感到困惑。
最近似乎有大量的 zip 文件通过电子邮件发送给人们,其中包含一个 .js 文件,其中包含下载和执行加密软件的代码。
.js 是如何实际执行的呢?用户是否必须在提取 javascript 文件后自己执行它,或者是否有可能让 javascript 文件在提取时执行?我对这如何导致如此多的感染感到困惑。
你还记得“我爱你”吗?
人类的好奇心通常会起作用,解压缩 zip 然后执行 JS(通过不遵循与浏览器 JS 引擎相同的限制的 Windows 脚本主机)
有足够多的人确实想确保他们没有错过付款,并且很快就会被切断手机。
根本不了解电子邮件的工作原理是这里的另一个重要因素:
邮件来自汤姆!他说我应该看看。汤姆总是在 facebook 上分享有趣的图片,让我们看看吧!
完全没有意识到电子邮件发件人欺骗(这不应该是 DKIM、SPF、S/MIME 和 PGP 的问题,但这是另一回事),这些用户只是信任发件人并打开文件。
臭鼬?但这只是人类的好奇心与致命的知识缺乏捆绑在一起。
单击 ZIP 文件以提取 JS 文件的同一用户也会单击 JS 文件。
这将启动Windows 脚本宿主来执行脚本(它同时运行 JScript(JS 和 JSE)和 VBScript(VBS 和 VBE))。WSH 运行的脚本不会像在浏览器中那样被沙盒化。
以这种方式启动 JS 与启动 EXE 几乎相同。
Windows Script Host是一种提供脚本功能的自动化技术。它与语言无关,因为它可以使用不同的 Active Scripting 语言引擎。
默认情况下,Windows 解释并运行JScript(.js
和.jse
文件)和 VBScript(.vbs
和.vbe
文件)。
单击.js
文件将对其进行wscript.exe
解释,并且脚本可以执行任何操作。例如,这会弹出 calc:
var shell = WScript.CreateObject("WScript.Shell");
shell.Run("calc");
有一些方法或漏洞允许在不(直接)打开恶意文件的情况下自动执行,例如 DLL 劫持和侧载。但是,据我所知,没有在野外积极利用的新方法或漏洞。这种方法在传播恶意软件方面非常有效,并且很快就会引起公众的注意。
IIRC,您不能轻松地使文件自动执行(可能有办法,但大多数这些攻击都不依赖它们)。
非常不了解情况的人(大多数 pc 用户)虽然通常单击文件没有问题,但使用 .js 文件这样做将在大多数 pc 上(除非充分锁定)在默认的 Windows JS RE 中运行它们。