您发布的 JS 基本上是向受害者部署攻击的第一阶段。它正在枚举您通过 javascript 安装的所有内容。
一项这样的检查是
if ((c.isIE && (c.verIE < 9 || !c.ActiveXEnabled))
|| (c.verGecko && 0 > c.compareNums(c.verGecko, c
.formatNum("2")))
|| (c.isSafari && (!c.verSafari || 0 > c.compareNums(
c.verSafari, c.formatNum("4"))))
|| (c.verOpera && c.verOpera < 10)) {
b = [ 1, 1, 1 ]
}
在这里它会检查您的浏览器版本,是否有 IE < 版本 9、Firefox、Safari 或 Opera。
另一个这样的检查是
if (((javaver >= 500) && (javaver < 633))
|| ((javaver >= 700) && (javaver < 710))) {
java1();
} else {
if ((javaver > 709) && (javaver <= 717)) {
java2();
这里正在检查您的 java 版本。并且根据您的 java 版本,即如果它介于 5.0.0 和 6.3.3 或 7.0.0 和 7.1.0 之间,它将部署一个函数 java1。现在,在 pastebin 输出中没有 java1 函数。这表明在某处引用了其他一些 .js 文件丢失。基本上 java1 函数是开发部分实际开始的地方。java2 函数和许多其他函数的类似情况。插件检查基本上是为了确定是否可以在浏览器中加载该特定插件。
所以,这个脚本只是实际利用的第一阶段。执行这么多检查的原因是因为利用变得非常困难,并且软件的每个版本都需要一组不同的有效负载。不仅是软件版本,还有操作系统版本。Windows XP SP2 漏洞利用不一定与 Windows XP SP3 漏洞相同,更不用说 Mac 与 Linux 与 Windows。而且您通常有一次机会利用点击链接的人。(在这种情况下,漏洞利用失败将导致浏览器崩溃)因此攻击者必须明智地选择他们必须在客户端上部署的漏洞利用:/
通过查看版本,如果您正在运行任何过时的应用程序,例如浏览器、java、flash 或 adobe 阅读器,您应该扫描您的系统以查找入侵。